Six Tips for Choosing the Right Tech Stack for Product Development - Evolve

Six Tips for Choosing the Right Tech Stack for Product Development

tech stack, start

This article aims to demonstrate how your startup can avoid wasting money as a result of choosing the wrong tech stack and what you should focus on when choosing programming languages, frameworks, and other tools for your startup product development and evolution.

A UK-based startup building an ultimate digital workplace for corporate recruitment consultants, wasted over £300,000 as a result of working with inexperienced technology partners who chose the wrong tech stack for their product development – prior to being introduced to Evolve.

Having looked at their product and its source code (which was largely unreadable), we realised we had to change the main Stack to ensure the platform worked to and met the client’s expectations. Had they chosen the right technology and tools from the very beginning, they wouldn’t have had to pay through the nose for their tech debt elimination today. 

A salutary lesson. 

The main benefits of choosing the right tech stack are faster time to market, better product scalability, more seamless problem solving and happier software developers and stakeholders.

What is a technology stack and why it matters to startup success

When building a house, you need to set the foundation, build walls, add a roof, add windows and doors and connect utilities to enjoy your home. The exterior of your house is your front-end and your brick-and-mortar walls and utilities are your back-end.

It’s similar to building a software product. 

You need to build the front-end (client-side), i.e., a visual interface of your application that facilitates and follows your user journey, and the back-end (server-side), i.e., an invisible part of your product that makes it function properly. 

In a nutshell, a technology stack is a collection of programming languages, frameworks, libraries and tools for building a software product.

There are many successful digital products out there that were built with different tech stacks. 

For instance, giants such as Uber, Airbnb, Google, Netflix, Amazon and Spotify are all based on Java Stack, whilst most of Cloud/SaaS/IaaS/PaaS platforms and CRM systems use Microsoft (.Net) Stack.

On the other hand, world-famous applications such as Wikipedia, Facebook, WordPress, Mailchimp, Flickr and others are based on PHP Tech Stack. 

Check out Eight Reasons to Consider Microsoft Tech Stack for Your Bespoke Software Development.

So how do you make sure you don’t get lost in this variety of programming languages, tools, and frameworks and choose the right tech stack for your software product development before making an investment? 

As a bespoke software company that’s been in business for more than 13 years and delivered multi-award-winning custom solutions to startups and enterprises alike, we have some tips and hacks to share.

Top Factors to Consider When Choosing Tech Stack for Software Development

1. Cost

As a startup, you will most likely have a tight budget split between development and marketing. So, here are a few things you should know about software development costs.

1.1. Technology price

It’s no secret that new technologies cost money and, as a startup founder, you don’t want to waste your money. Hence, building open source solutions will be the most beneficial for you.

The beauty of open source is that the source code is available and open to the public, which means that you can use such technologies for free.

However, when choosing an open-source technology for your startup, you must bear in mind how long the technology is predicted to exist. 

The best way to make a decision is to check if large companies are using a particular programming language and framework.. 

If they aren’t, it means that the technology has yet to make its way to maturity (which may be a long haul given the current competition) and you’ll have to focus on something more mainstream to enjoy benefits such as customizability, cost-efficiency and speed of development, amongst other areas. 

Let enterprises and blue-chip companies with vast budgets and R&D capabilities pioneer new technologies. As a startup, you need to have a clear focus, so it’s best to go with tried, tested and trusted tech so as not to “shoot yourself in the foot” by dealing with a stack with poor support, no library of reusable components and/or a limited pool of developers, etc.

1.2. Software developer rates

The more popular the technology, the more developers you’ll be able to find on the market. 

Popularity leads to higher competition and lower developer rates. 

To get an idea of what languages are popular at the moment (and what are not), check out the latest TIOBE Programming Community Index, – the main indicator of the popularity of different technologies. 

Top 20 Programming Languages 2020 vs 2019

As of now, the top 3 languages are C, Java, Python (the same as last year, all be it in a different order), while Bash, Closure and MQL4 are considered to be three least popular languages among developers.

As mentioned above, don’t be fooled by new “hype” languages, because the newer the programming language or framework, the harder and more expensive it is to find a good developer at affordable rates.

And don’t try to take shortcuts when choosing a language. 

Let’s take an example. Suppose you have a very limited software development budget and decide to use an older version of, say, PHP, in order to save money on the development – 

in that case, you may end up spending a lot more than expected, as you’ll have to optimise your solution to the latest version of the language at later stages. This will eventually cost you more – guaranteed.

Besides licensing fees and hardware costs, your software development budget will be based on the number of people on your development team and their hourly rates. 

To keep your costs even lower, we recommend you consider outsourcing your startup product development to lower-cost, yet resource-rich countries like Ukraine, where you can benefit significantly from labour cost arbitrage.

Let’s say you want to build your product with Microsoft Stack and you’ve defined that your perfect team structure should be as follows: one senior .Net developer, one junior .Net developer, a middle NodeJS developer, a solution architect, one tester and a tech lead/PM/Scrum Master (three-in-one). If you’re based in London, you should be ready to pay the following hourly rates:

●      Senior .Net developer – £37-42/hour

●      Junior .Net developer – £25-27/hour

●      Middle NodeJS developer – £34/hour

●      Solutions architect – £75-83/hour

●      Tester – £48-52/hour

●      Tech lead – £76-84/hour

However, if you’ve decided to leverage our nearshore development capabilities and utilise our startup product development team in Ukraine (where we run our own R&D Centre), you would be able to save significantly due to the lower hourly rates which average as follows: 

●      Senior .Net developer – $25-35/hour

●      Junior .Net developer – $10-20/hour

●      Mid-level NodeJS developer – $15-25/hour

●      Solutions architect – $30-50/hour

●      Mid-level Tester – $10-20/hour

●      Tech lead – $25-35/hour 

The total cost of software development in Ukraine will still be 30%-40% lower than that in the UK.

Read how our own search for talented software developers led us to Ukraine.

Another alternative solution to help startups save on their development budgets is by using a hybrid model, i.e. a combination of core in-house talent and offshore/nearshore teams of non-mission-critical/auxiliary resources, to boost internal productivity and bandwidth.

2. Developer community

Make sure the technology you are going to use for your startup product has a vibrant and active community of software engineers, testers and other specialists.

In general, the community reflects how good the technology is. If the community is non-existent or poor, then this will give you a rough idea of how good the tech is.

The community also indicates how rich the technology is for developers – from the perspective of the learning curve. 

For instance, our teams at Evolve work with some of the most active communities, including .Net (Microsoft), PHP, Java, and more. We can assure you that a strong developer community is a crucial factor for startup success. 

3. Time to develop and time to market

Based on the numerous startups we have assisted, it’s fair to say that speed is essential to ANY startup.

Why?

There are two reasons for this.

Firstly, someone might just be doing the same as you. And typically, the startup that delivers and launches first will have that first mover advantage. 

Secondly, the startup budget is not infinite, so the longer you get stuck in the development phase, the more money you are going to spend on your software development journey.

This is where external funding comes in. If you are not bootstrapping your startup, it might be a good idea to raise external investment prior to your software development.

Read our blog how using an MVP development company is cost-effective.

As a startup company, you need to bring your product/service to the market as quickly as possible. As soon as someone has an idea similar to yours, the race begins.

As a bespoke development company, we would advise you to choose technologies that are easy to implement and which have many useful third-party integrations to speed up the development process.

4. Scalability 

You are planning to grow your startup and attract more users down the road, aren’t you? If yes, then choosing a programming language that scales easily is a must.

What exactly does a scalable product mean?

A scalable application, be it a mobile or web application, should be able to handle multiple requests to your server quickly. 

Let’s say you have hundreds of requests a day and your product is working well, the question is will this continue as you start to gain traction and receive hundreds of thousands of requests? What if it fails at the most inopportune moment? This is every startup’s nightmare.

To avoid the problem, use scalable programming languages ​​and frameworks such as C#, PHP, Python, or Java.

5. Project size and type

As a startup, you shouldn’t focus on fast growth right away. It helps to focus on gradual business growth whilst getting regular feedback from users and stakeholders to ensure you’re driving your product in the right direction.

Obviously, you’re going to focus firstly on building a MVP (Minimum Viable Product) that will help you gather the necessary feedback and to work out what features are missing and what features make little or no sense.

Whether you want to create a file hosting service, an eCommerce marketplace, a social media app, or a video streaming solution, your technology stack for web or mobile development will largely depend on your project type.

If you’re looking to build a server-side web app or processing system for enterprise-level transactions, you should consider using a mix of open source and Microsoft (.Net) tech stack. Ruby and React do a great job when developing a marketplace – and Python is the technology of choice for social and data analytics application development. 

6. Runway

One of the most important questions you should ask yourself is how long is your runway?

This can greatly influence your decision about which Stack to choose. 

For example, if you’re planning to have five years of runway, you can pick a technology that you are not very familiar with and hire strong developers to help you. On the other hand, if you only have a runway for a year, you would be better to stick with what you and your internal team know well.

If you have an extensive runway, you can choose a compiled language such as Java. This adds  the overhead of compiling everything before running your code to see if it works (this may add up many hours pretty quickly), as opposed to using something that can make quick and dirty programming easier (uh, PHP?). 

Conclusion

Your technology stack should act as a tool to help your startup get up on its feet – and not to hinder.

Although time and money play a key role, the mkey goal is not to compromise on your product quality in pursuit of time and cost-savings.

If you neglect product quality and instead focus on speed, cost, or design, the end result could be yet another failed project that will never see the light of day.

When choosing the main tech stack for your startup project, make sure you consider these key factors at the outset: scalability, support and community, an available pool of developers and resources library – and that they match your project type and size, 

Do you still need help choosing the right tech stack for your startup project? Drop us a line to book a commitment-free consultation with our experts.

Create your account