How to Choose A Tech Stack for Your Startup
Thursday, September 07, 2017 Unknown 0 Comments Category : enterprise , how-tos
When building a tech business, the tech stack question pops up very early on in the journey. Rightly so, as this can define how your startup is built and its chances of scaling with user growth.
Do you know that the number one factor influencing the decision of a non-technical founder choosing a tech stack is also the most dangerous for their startup?
For the uninitiated, a tech stack is a combination of software products and programming languages that come together to create a website or a mobile app, comprising of a backend and a frontend or also known as server-side and client-side, respectively.
Here’s typically how most non-tech founders take this crucial decision: by relying on their developer to suggest and picking one that makes the most financial sense in the short term.
Now, the development team you’re talking to is biased in their suggestion, purely because the tech stack they recommend is the one they’ve built their expertise up on. That’s what they’re most comfortable with.
Secondly, that decision may just not be right for your type of product, the market it serves and the business objective around it. A stack for a on-demand or marketplace app would be very different than for a real-time video conferencing application.
So how do you choose the right stack for your startup? Get hold of a senior software solutions architect who can help you in this decision. Along with that, here’s a guideline and a few factors that will help you arrive at the right decision.Mobile vs Web
A pertinent question in today’s context is whether to build for mobile or web first, and most people falter at making the right decision. The only way to decide between the platforms, at least for the initial version(s) of your product, is to know your customer well.
This means, understanding the use cases well, knowing at what points will your product be used by your customers – does it naturally lend itself to mobility (think: Uber) or something that doesn’t necessarily need to be mobile for a great first experience.
When it comes to mobile, you’re presented with two options – one is to build cross platform and the other is to build a native app. While cross platform technologies are more cost effective than native when you’re building an app for two platforms at the same time, they do fail to deliver on a great user experience.
Don’t make a decision purely on pricing as most often, it gets expensive at a later stage to make amends.
Availability of resources.
The more niche or newer a technology or language, the more difficult it is to find the right people to help you build it. At the same time, it’s also going to be that much more expensive simply for the reason there is shortage of people in that stack.
Going just with the latest technology or language can result in higher costs and difficulty to find talent.
Look at what’s readily available in abundance at the location where your tech team is – whether in-house or outsourced. This should be coupled with how many support groups already exist for the tech. If there aren’t enough or bigger support groups already, it’s going to be challenging to find solutions when issues arise.
Type of product.
The type of product you’re building has a very big influence on the tech stack for the startup. As mentioned earlier on, the stack for a content-based or a marketplace product would be very different from that of a video conferencing app.
Does your product need to support high concurrency of users or high traffic? Is speed a critical component? Ask these questions to your tech team and find out what suggestions do they have for the stack they’re recommending.
Explore the problem space to see what tools and technologies are commonly used by other startups in that domain. For instance, if your product has to have strong computational problem solving capabilities like for data science or machine learning, Python with libraries such as Pandas, SciPy, etc may be best suited.
Follow the customer and product when making the decision for a tech stack and don’t just rely on what your developers suggest. This could define how your product or startup would scale in the future.