The tech landscape is constantly evolving and can be overwhelming to non-technical startup founders. There is much to consider when hiring a developer or team to build your product and many things can go wrong. This series aims to clarify the picture and point out where decisions often go wrong in early stage startups relating to technical implementation. If you are a startup founder or plan on being one with no technical background, you can consider this series a "cheat sheet" of sorts covering the bare essentials in today's tech environment.
Where to Begin
Frequently, startups begin their focus on the aesthetic of the site or product which is generally not the best place to start. Though obviously important, the appearance of your site (the "frontend") is less critical than the code which supports the data storage and delivery - the backend. Roughly speaking, the backend consists of the technical set up which supports data storage (database), creation, update and delivery of that data. Together, this is often referred to as CRUD operations - Create, Read, Update, Delete. Without data from the backend, the frontend would have nothing to show. For that reason, the backend is usually a better place to start and to focus your energy when finding a developer to build the architecture. In short, without a good backend, nothing else matters while a poor frontend can be fairly easily replaced.
The backend can be organized any number of ways but the startup tech community has largely settled upon a handful of web frameworks that dominate the industry. A web framework is essentially a tool which cuts down the amount of time and implementation needed to set up and deploy a project. Frameworks are used in almost every startup and should be used in yours too.
1. Ruby on Rails
Ruby on Rails - "Rails" for short - is the grand-daddy of web frameworks. Over a decade old, it was firmly established as the default option for startups for maybe half of that time. Great for beginners and advanced developers alike, Rails has imposed an industry coding standard that makes it easier for developers from various backgrounds, even cultures, to communicate and collaborate. Rails leverages the Ruby programming language which is considered easy and reliable.
In recent years, the popularity of Rails has waned as other, more "progressive" (cooler) frameworks have risen and joined the ranks. More on that below. As for your startup, what this means is by picking Rails to build your MVP, it may be harder to attract higher level talent down the road as all the "cool kids" move to more cutting edge technologies. Rails is slowly becoming the "IBM" of web frameworks.
Django is a comparable web framework to Rails but using the Python programming language. Python, like Ruby, is a generally well-regarded language good for beginners and advanced developers. The Python runtime environment is currently fragmented between Python 2 and Python 3 but over time, version 3 should prevail. In the meantime, this can lead to some minor friction when using libraries or when having multiple Python developers collaborate. Other than language consideration, Django and Rails are similar and both get the job done well.
Django is the Tom Brady of web frameworks - it has been around forever and shows no signs of slowing down (unlike Rails). This is probably largely due to the explosion in Data Science over the past 3-4 years which has kept Python very relevant - leading to an influx of new Python devs every year. If you go with Django for your backend tech, there will be no shortage of developers able to step in when needed and the developer pool itself will likely remain quite strong from the Data Science effect.
Even though Rails is the grand-daddy of web frameworks, PHP has been around even longer and probably has more developers on it worldwide. But it is not highly regarded in the startup tech community and PHP devs often find themselves defending the language, framework (Laravel, Cake PHP, etc), and really everything about PHP. One of the reasons it has such great staying power is because Wordpress sites are built on PHP and there are millions of small businesses that run WP. And so the quickest entry to a paying web developer gig is to learn PHP and start tinkering with Wordpress plugins because that market will be there long after you and I are gone.
There are many more backend options not covered here (.NET with C# for example) but the ones listed account for the overwhelming majority of startups in the United States. As far as deciding which to go with, it's hard to go wrong with options 1, 2 or 3 so it may come down to your personnel or network. If you already know someone who is well-versed in Django then that's probably the best choice no matter what you read about the magic of Rails or the virtues of Node. All the major frameworks have been industry tested and have proven their mettle over a decade - except Node which is coming up on one decade. So all things being equal, go with whoever fits your startup culture and budget.
Unfortunately, the picture is muddier on the other side of the equation: the frontend. In part 2 of this series, we will cover the frontend basics and likewise, the dominant frameworks in that arena. That's a much more convoluted discussion so stay tuned.