To consolidate languages, frameworks, technologies, or not to consolidate them? A roundup of approaches.
Q: At my company, several languages are used on the backend, and the new CTO wants to consolidate them. Engineers are grumbling about this, with some threatening to leave if their language gets cut. What are things to consider with such a consolidation?
I’ve received various forms of this question from readers; one was about a bank using both .NET and Java, where the new engineering leader was set on using only one, with an internal “battle” breaking out as a result.
The topic of how to deal with the problem of consolidating technologies is vast. This is because every situation will be slightly different, depending on the context of your environment, the people, and the history, which led to the problem of too many different technologies being in use. In this issue, I offer observations on the most common approaches I’ve observed, with advice on how to go about consolidating technologies once you’ve decided to go ahead with it. Today, we’ll cover:
Extreme #1: the “anything goes” approach
Extreme #2: the “single technology stack” approach
Supporting specific languages and technologies
A ‘tech radar’ process
The ‘Language Wars’
Steps to consolidate to fewer technologies
Attrition and consolidating technologies