{{announcement.body}}
{{announcement.title}}

Choosing the Right Tech Stack for Your Startup

DZone 's Guide to

Choosing the Right Tech Stack for Your Startup

In this post I’ll give my take from my own experience on how to chose the proper tech stack for your new startup.

· Web Dev Zone ·
Free Resource

Introduction

Give me your hand and let's imagine a scenario together. You are the lead developer/CTO of a new and shiny Startup. The wireframes, the designs, a document that describes the main features — all are ready. It seems that on the product side of things you know pretty well where you are headed. 

The next stage of course is to choose the right startup tech stack to implement the idea and make the product "come to life". In this post, I'll try to outline the major things you need to take into consideration for this.

Considerations

Runway

One of the most important things you have to ask yourself is how much money do you have until you hit rock bottom? This can have a lot of impact on your decision about what stack to choose. For example, if you have 5 years of runway, it might be OK to choose a technology you are not very familiar with and hire some strong developers to assist you. On the other hand, if you have only one year worth of runway you better stick with something you know well. 

In addition, if you have a lot of runway you can choose a technology that takes more time to develop in the short run but has stability, scalability, and maintenance benefits in the long run. For instance, if you have a lot of runway you might choose a compiled language (I'm thinking Java here) which adds an overhead of compiling the whole thing before you run your code to test if it works (this can add up to a lot of hours pretty quickly). Instead of using something that can facilitate "quick and dirty" programming (ehm, PHP). Last but not least, if you have a lot of runway it makes sense to choose an LTS stack that will serve as a foundation for years to come.  

Existing Code

If you have an open-source project or at least some libraries that can give you features out of the box and they are written in a certain language, or if you have legacy code you can base on, it might be worthwhile to stick to using this specific stack or at least do a thorough check of how much functionality can be implemented with zero to minimal customization. You need to take into account the issue of licensing though (GPL and friends).

Tech Stack Popularity 

If it's really warranted you sure can (and should) choose a relatively obscure tech stack to get things done. For instance, Whatsapp has been built on Erlang. A little known at the time functional language and VM. However, for Whatsapp, it was the right tool to build a billion messages per day infrastructure. However, if you can implement a  product by several solutions, it makes a lot of sense to take popularity into account. The more popular the tech stack — the easier it will be for you to find solutions for problems that will definitely pop up sooner or later (ehm, StackOverflow). In addition,  it will be easier to hire a software architect and/or developers for your team. 

Familiarity 

This one is a bit straight forward. The more familiar you are with a specific tech stack, the faster the development will be. The more aware are you of all the "nuts and bolts" of the language, DB, framework and etc., the easier it will be to debug, test and deploy your code.

Support 

If you are not an expert on the particular tech stack you intend to choose, it's always helpful to have commercial support to assist you. StackOverflow and Google in general are great, but there are cases where the answer is just not there. 

Conclusion

Choosing the right startup tech stack can have a crucial impact on the success of your startup. It can determine whether you launch a product before your money runs out or not. It can determine whether your product will scale at a later stage. It will also determine the kinds of problems you might encounter down the road. So choose wisely.

Topics:
agile, saas, software architecture, startup, tech stack

Published at DZone with permission of Alexander Fo . See the original article here.

Opinions expressed by DZone contributors are their own.

{{ parent.title || parent.header.title}}

{{ parent.tldr }}

{{ parent.urlSource.name }}