read in 7 minutes POSTED: Sep-25-2020

How to choose a tech stack for your Startup?

Jim Rohn, entrepreneur, author, and motivational speaker, once said, "Learn to get excited like a child. There is nothing that has more magic than childish excitement." That is so true. The question is what brings up in your chest this incredible feeling and curves your lips in a happy smile. In Ameware Group, it's a question about a technical stack for a brand new startup.

WHAT IS A TECH STACK?

No matter if you’re interested in technology stack for mobile application or technology stack for web development, in general, development goes in two major parts — front-end and back-end.

Tech stack meaning is a set of all frameworks, programming languages, IDEs, and other tools chosen for the development of a web/mobile app.

Speaking of the client-side (another word for front-end), your choice lies among HTML5, CSS3, JavaScript, React.js, Redux.js, Bootstrap, etc. On the server-side (back-end in other words), there are databases, message brokers, servers, programming languages, like Java, C#, Python, etc.

Server-side, client-side: mobile technology stack and web application technology stack.

THINGS TO CONSIDER WHILE CHOOSING A TECH STACK FOR STARTUPS.

Proprietary or Open source software?

Startups are often looking specifically for open source technology stack and for a good reason. When you have a limited budget, as many startups do, license-free software could be the only option.

Thankfully, the open-source market has a lot to offer. Navigating through the popular tech stacks, pay attention to how large a community they have and how often people respond. There is no underestimation of it. The technology is as good as its community.

Documentation plays a non-less critical role. Suppose a project has poor documentation nor any, then your project at much higher risk to be error-prone. Development using non documented technologies will have a longer learning curve and will lead to difficulties in finding specialists on the market, which means a high salary and longer development time in this niche, not to mention negative customer feedback.

Popular tech stacks.

Ability to move fast

You don’t need anyone to tell you that getting your MVP on the market as soon as possible is essential. An ability to implement your idea faster must be one of the conditions when you choose your startup stack.

If you have an in-house Java developers team, you may want to use Java in your new project. If your team is fully occupied, they can help you interview candidates or prepare vacancies description.

If you don’t have a team just yet, and still want to move fast, you might consider hiring an outsourcing company that provides project-based solutions. Just handover your project requirements and agree on a deadline. After all, you still have many things to do, such as validating your idea, researching the market, looking for potential customers, etc.

Trending technologies among developers

When you consider startup stack, don’t forget to analyze the job market. Are there developers willing to work with these technologies? How many of them? What salaries do they ask for?

Popular programming languages in 2020.
Popular programming languages in 2020.

Backward compatibility

Once, Ameware Group’s dedicated team happened to have a project based on the Play Framework. One of the goals of the team was to upgrade the framework’s version to the latest available. It was a perfect example of how important to choose a framework with good backward comparability between its versions. Our team had to rewrite a good chunk of the existing codebase and tests in multiple stages. Even minor version upgrade of the framework led to issues due to removed or significantly changed API calls, methods, and replaced underlying frameworks Play uses under the hood.

If you got yourself into a framework like this, you would have to repeatedly rewrite your code to keep up with the incompatible changes. There is no option to leave it as it is because every framework has bugs, security breaches, which are eventually getting fixed with every version increment. Avoiding framework upgrades could lead to going with older versions of other libraries, etc.

Avoid the hype

The newest technologies could be very well promoted, but don’t let fool yourself—there won’t be many developers on the market! And if you find a few, they will ask for a salary above average.

There’re popular solutions, aka best technology stack for web development, and you may hear a lot about Airbnb tech stack as a great example. You can see tech stacks of companies on https://stackshare.io/stacks.

CONCLUSION.

There is no silver bullet to solve every problem with one tech stack. Every language and framework has its pros and cons to consider and match each other to achieve the best results within the given budget, time-frame, and future-proof product development. Analyze the competitors, the job market, look at your project’s type, budget, and choose what’s best for your startup.

You may hear that Java is good, but if you do scraping and parsing, it makes sense to choose Python with its blazing-fast parsing tools and wrappers around libraries such as libxml. Or maybe a Javascript-based Puppeteer would suit your project even better.