Kirsty Grant, Chief Investment Officer, Seedrs
When building a tech startup, choosing the right tech stack is one of the most important decisions you can make. It will either slow you down or give you a boost. It will dictate what engineers you’ll hire and if you succeed.
#1 – The Browser
The main choice you have is which libraries to use. The most popular are React, Angular, or Vue, all of which are viable and won’t force you to re-invent the wheel. These libraries provide you with a lot of out-of-the-box solutions.
We prefer React because it has a huge community around it and it allows us to be very flexible with what we create.
Note: You’ll hear the term WebAssembly more in the upcoming years. It allows compiling any language to use in the browser. Although it’s already supported in all major browsers, we’re yet to see wider adoption.
#2 – The Back-End
On the other hand, the back-end has a lot of choices from Java, C#, PHP, and Python; you name it. All of which can get the job done, but some are better than others, based on your needs.
We see a trend in successful companies that have their back-end system done in different languages and migrated their most performance-heavy web services to Node.js.
Additionally, Node.js plays very nicely with front-end libraries; it can prepare the code on the server (Server Side Rendering, important for SEO) while maintaining the fast & sleek client-side rendering. All this without any added effort. To achieve this, in Ruby, for example, you’d need to implement it twice – once for the client, once for the server.
#3 – Mobile
Mobile development is where it gets a little tricky. There are two approaches – develop for iOS and Android separately or use a cross-platform development, with the same code base. If you’re developing an MVP mobile app without rare hardware requirements, cross-platform development is what gives startups a lower time to market advantage.
We chose React Native for our app development, and so far it has not let us down. We’re able to write one code base and use it to release both Android and iOS versions.
It’s industry practice to develop an iOS version first. That’s where all the ideas and improvements get field-tested. Then adjust for Android, which takes two weeks to complete.
Note that if you talk to a native mobile developer to seek advice, it’s probable that you won’t hear anything good about cross-platform development. This is common for developers that have never experimented with React Native or other cross-platform tools.
Now, this approach does not fit all the use-cases. If you’re developing games or apps with a higher need for computational power, choose native development instead of cross-platform.
#5 – The Speed of Development
What that means for you is that you do not need to re-invent the wheel, it’s highly probable that there is a community-supported code solving the most common cases, so you can focus your time where it matters – building your IP and your business.
With tools like React, Apollo, GraphQL, you can build your product within three months, instead of 12 months.
#6 – The Team
If you want to succeed, you need to be ready for change, and you need your teams to be ready too. This is where one language on the front-end, back-end, and mobile helps massively. You will need to have domain experts, but the barrier to check out other parts of the system is very low, meaning your team can help in other parts as well.
You can also share code between back-end, front-end, and mobile, which makes your product more consistent and development more effective.
But no matter what tech stack you choose, you will need manpower to implement your ideas. And perhaps the most challenging part of scaling is scaling your team.
Choosing your tech stack is not easy. Take your time to weigh all the factors because it will affect a lot of your future decisions. If you’re not technical, get yourself a technical co-founder, or find a partner that can give you appropriate info to make the right decision.