Posts

Showing posts from August, 2019

Top skills for software engineers

Image
Having these talents and technical abilities can make you more marketable to employers. Computers touch nearly every part of life. For that, you can thank software engineers. They’re the ones responsible for developing, designing, testing, writing, modifying, and debugging software based off specific requirements. Although there are plenty of full-time software engineering jobs out there, it can also be a flexible position, with contracting and freelancing opportunities commonly available. To keep up with the world’s ever-growing interest in new and better computer programs, a whole lot of software engineers will be hired in the coming years. If you’re hoping to excel in this industry, you will need to keep up, as well. “The industry evolves quickly, so you have to keep your skills current,” says Anima Anandkumar, professor of computing and mathematical sciences at Caltech. Looking to outshine the competition for any of the more than 1,000 software engineer jobs on Monster? Y...

Should you develop your product’s backend with Node?

Image
Built on Google’s V8 engine, Node.js is a JavaScript runtime environment that supports tens of thousands of concurrent connections on a single thread by using a non-blocking event-driven I/O. With Node, your developers use Javascript for front-end and backend development, which eliminates development bottlenecks because any developer on your team can complete any task in a sprint. When Node is used with a NoSQL database like MongoDB, data stored in JSON format can simply be exposed as a REST API for your web and mobile clients to consume. Node.js shines when you build real-time applications with chat features like Whatsapp or collaboration features like Google Docs. Single page applications, AJAX-intensive web apps and streaming applications all gain speed and performance improvements when Node is used for the backend. Node isn’t a good choice for CPU intensive operations like data sorting and video processing, so you should look at other technologies better suited for CPU intensive ...

Should you build a software as a service (SaaS) product?

Image
A world-class SaaS product will transform your industry. Are you ready to build it? By investing in the development of a SaaS product, you’re investing in the future of business software. When you monetize your product through some form of a subscription business model, you open your product up to SMBs that couldn’t previously afford a software solution. Do you have large enterprise customers? Large companies are subscribing to SaaS products at record rates because enterprise IT departments have realized SaaS products can be as secure or more secure than software hosted on-premise. Established behemoths and startups alike are building cloud-based SaaS products for every business role and industry vertical. Whether you’re building a new SaaS application from the ground up or migrating your on-premise architecture to a multi-tenant SaaS architecture, you’ll save on cloud infrastructure and maintenance costs when your SaaS application is complete. You’ll also see productivity improve...

Should you develop your product’s backend with Python?

Image
Python allows us to do more with less code. Meaning, it lets us shape your ideas and build your prototypes that much faster. Dynamic languages like Python offer flexibility. Python owes a huge deal of its flexibility to the many programming frameworks and environments that make the development of specific applications easy and quick. We make sure to exploit its advantages for your benefit. Particularly when your requirements aren't entirely nailed down, a dynamic language lets you get started anyway. Rework will never spiral into chaos. Whereas with languages like Java and C++, you are reluctant to tackle major design changes as it's hard to break everything, then get it to compile and work again. In Python, major changes aren't as expensive, and its readability makes collaboration easy for various programmers working on the same codebase. Now if you’re working on a budget and need your product rolled out right away, it becomes crucial to choose the right language. The...

Profitability of building Custom Software

Image
Should you develop custom software for your business? Marc Andreessen is right. Software is eating the world. Will you use custom software to create new revenue streams or reduce operational costs? Should you build or should you buy? Should you hire an in-house team to develop your software product or should you outsource? When existing SaaS products don’t solve your company’s exact problems, it often makes sense to build custom software to compete in today’s data driven world. Open source programming languages and cloud infrastructure even the playing field for startups and SMBs by significantly reducing the capital required to build, operate and maintain custom software products. Many companies look to use or modify existing SaaS applications to streamline business processes. While this is a good approach to start, your needs may change as your business grows and you may need to write custom software or modules that work with the SaaS software you’ve procured. When you buil...

Which tense to Use while committing messages on GitHub

Image
Basically, the schools of thoughts are: Imperative (a.k.a. present tense) Should read like: Make foo do something Git uses the same imperative style and it shows when you do merges with commit messages:  Merge pull request #666 in kek from lord It tells someone what applying that commit will do, so it should read something like  If I apply this commit, it will [make foo do something...] More concise Past tense Should read like:  Made foo do something People reading the history tend to think of it in past tense…because HISTORY Reads more like a diary:  Last <insert date here>, I made foo do something.... Saving a couple of characters doesn’t matter much as long as it’s still easy to read The list goes on and on and the debates tend to go on forever, but I for one have seen both sides. I think it really depends on team preference — there is no right or wrong answer here. What matters is consistency. The team should agree on a convention and...

Querying Django dependent dropdowns

Image
How to Implement Dependent/Chained Dropdown List with Django Dependent or chained dropdown list is a special field that relies on a previously selected field so to display a list of filtered options. A common use case is on the selection of state/province and cities, where you first pick the state, and then based on the state, the application displays a list of cities located in the state. Example Scenario Take the application below as an example: models.py from django.db import models class Country ( models . Model ): name = models . CharField ( max_length = 30 ) def __str__ ( self ): return self . name class City ( models . Model ): country = models . ForeignKey ( Country , on_delete = models . CASCADE ) name = models . CharField ( max_length = 30 ) def __str__ ( self ): return self . name class Person ( models . Model ): name = models . CharField ( max_length = 100 ) birthdate = models ....