Popularity vs. Practicality: The Vicious Circle of Popular Tech Choices
The popularity of a language/tool/technology is one of the over-hyped metrics in the Software World.
There are two phases in Software - Development & maintenance. The software product is not a one-day wonder. To remain successful & profitable, it has to be maintained well and relevant to the market's needs. Most importantly, it has to add value to the customer continuously.
Hence, software maintenance is always the higher priority for product development companies. The software maintenance phase often involves adding new features we didn't even consider while developing it with people not part of the initial team.
Every company's typical problem is hiring people with the right skills for developing and maintaining the software. Let's assume that the organization chooses a technology, tool, or programming language not widely used in the industry. In this case, there is a considerable risk that they may not hire people with that skill set. They typically play safely by choosing the widely used tools.
It's a vicious circle. Since many companies use the (language/framework/technology/tool) "XYZ," people equip themselves with "XYZ." Since many people know how to work with/using "XYZ," companies choose "XYZ." It is how "XYZ" became popular!
There is one more sad reality. If "XYZ" is backed by a large company or heavily funded startup, they promote it right, left, and center. They create certifications, organize meetups/conferences, encourage/promote evangelists, and create popularity. Over some time, it will become famous for being famous.
Be mindful of these dynamics when you make a tech choice, and don't fall into this popularity trap!