Every region in the world is different with their own language, customs and religion. This is true for the tech world as well: some technologies and languages are more popular in one region than others. PHP
and the Laravel framework could be very popular in the Netherlands, but not as much in Belgium for example. Many
German enterprises base their websites on the TYPO3 CMS while it is relatively unknown in the rest of the world
Checking what are the most popular technologies in your area or the area, where your development team is located, is crucial for your hiring strategy. If you choose technologies that are relatively popular that would mean more talent available, reasonable developer wages and lower recruitment costs.
Community and Ecosystem
If you want to go fast go alone if you want to go far go together
No matter what technology you choose, eventually you would run into some problems and bugs. It is important to know that there is a
community that could help you out along the way.
You could check how many Stack overflow questions, conferences, and online tutorials are there? Are there any meetups in your area? Is there a Slack community that could answer questions? Are there many packages and products that you could use?
Track technology development.
Every few years а hype is formed around a certain technology. What is popular now, does not mean that is the best for you. Ideally, you would like to choose a mature and stable technology. You could use tools like stackshare.io to check current trends and do some research. There are several other business questions that you should look into:
- Who supports the technology?
Is it a one-man show or there is a company behind it? Usually, if only one person supports and pushes the technology there is a higher chance that it could disappear. The PHP framework Kohana was once one of the most popular until it got depreciated by its founder. That made a lot of businesses to change and migrate to other frameworks. If a company like Google and Facebook pushes the technology it is more likely that is going to survive under the sun and be relevant. Although that is not always the case as giants also ditch technologies. Google, for example, has killed 155 API, Apps and Services as seen in the Google Cemetry.
- What is the release cycle and LTS?
Usually, technology or framework would release a new version every 6 months that addresses potential security problems and bugs. Another perk is the Long Term Support(LTS) which means it would receive bug fixes longer than normal releases e.g 2 years or more. That could be crucial if you are an enterprise. You should carefully check how easy is to upgrade from one version to another.
- Backward compatibility?
Popular stack technologies evolve and become incrementally better with every new release. However, sometimes new versions introduce so many changes that not compatible with old versions. This can cause big problems when it comes to developing, testing, and deploying applications. For example, when Google released Angular 2.0 it was a complete rewrite of 1.0 and many developers had to rewrite their code. After Angular 2.0 the framework has followed a steady course in terms of backward compatibility with every new release. However, if the technology has witnessed more than once such a dramatic change, that could be a red flag.
Don’t base your stack solely around the CTO
We have seen some companies base their technology around the CTO or even change the stack when a new CTO comes aboard. The CTO say in choosing a stack and his personal preferences are important. However, if a specific technology ticks all the boxes, it should not be discarded only because the CTO does not have experience in it. The role of a CTO is much more than the “First Senior developer” and entails strategy, recruitment, team-building and etc. It is important to choose technology stack from the perspective of what your developer team would feel most comfortable in it.
Of course Last, but not least are the specific requirements
for the product you are building. It is
important to review the following points:
- Security:Depending on the kind of data you work with, security could even be the most important factor.
- Speed & performance: Do you have any requirements for the speed.
- Scalability: Could it support thousands of users?
- Time to market: Crucial, if you are Start-up and the technology helps with quick MVP creation.
- Marketing: There are certain novel technologies that are overhyped now: e.g Blockchain and AI. You could consider implementing them in a limited way in your stack so that you could fuel your marketing activities or help win funding.
Choosing a technology stack is a very important decision. The points above would help you build your overall tech strategy. However, if you are a start-up don’t spend months pondering: you should focus on getting your product to market and validating the idea as quickly as possible. If you are an enterprise, there would be internal politics and lobbying.
If you are in need of a quick consultation regarding your technology stack, drop us a line