It is even more important to make sure that you choose that tech stack very carefully. Developers tend to enjoy experimenting with new technologies. This is fundamentally a great thing as it is beneficial in many ways. One of the advantages of experimenting with technologies is that developers stay ahead of best practices and find tools that make their job easier. However, the decision to adopt a new framework must be reasoned in order to be sustainable. Before going all-in with a new shiny library or language, make sure that your developers can answer these questions very clearly:
- What is the current state of this technology? How stable is it? Be careful with alpha versions, as your developers might have to go through a lot of pain just to make it work.
- Is the technology documented? If not, this is a red flag, as it will prevent you to train new developers to learn how to use it.
- Is there a community around this technology? The more people use it, the more likely this technology is going to stick around for years.
- What are the advantages and disadvantages of adopting this technology? The perfect language or framework does not exist. Make sure that your developers have looked into the possible shortcomings of this library.
- Does this technology fit your needs? Something new does not mean that it is better for you. Make sure that adopting a new paradigm makes sense for you.
- How well does this technology play with your current tech stack? Some technologies are easier to mix-and-match than others. The follow-up question is: How can you gradually replace old code with this new tech?
Keeping all the questions in mind while assessing a new framework will greatly help you make the right choice. With clear answers, you will avoid adopting technologies that will be forgotten in a few years and make it easier for you to find developers who know the tech in the future. It might also help you avoid creating Frankenstein stacks which are made of technologies that don’t work together very well.