Technical battles are favorite approach how to talk about technologies for many software engineers, who are often “geeks”. It may happen on any level: hardware, operating systems, window managers, distributions, IDEs and text editors and of course - software technical stack. There is nothing wrong to discuss, disagree and prove your own point. The problem starts when rationality is replaced with beliefs.
The perfect stack does not exist. Each and every decision is a trade-off: solving one problem or group of problems by creating other problems. Chosen solutions might “perfectly” fit the context, but can’t become a perfect abstract solution for the rest of the life for all the situations and projects.
When having opinion does not sound cool enough - people often refer to the external sources. And this is nothing wrong from learning and listening to people who are smarter. But never questioning their choices and opinion is where the problem starts. Because you may discover someone else or someone’s else’s opinion, that will be different. And without ability to decide on your own - you will force yourself to follow. And this will lead to disaster.
I have already expressed that, but we have to focus on the fact perfect stack do not exist. Once you can accept this fact - you can understand the loop that turns out to be the trap. Looking for perfect stack is endless journey, without the goal and without the end. What this means in practice? Project never reaches release, always in progress, always refactoring. Each refactoring raises more and more problems. More problems moves the release date further in the future. In conclusions: the most expensive cost of endless searching of perfection is never delivering the project. All resources are wasted!
Like this would not be enough! Apart of burned resources - teams become broken. Due to inability to deliver the results - sooner or later conflicts starts to appear. And these are not healthy conflicts. Because ideal stack is highly opinionated. In result: everyone has different opinions and are unhappy following existing decisions. In the result - high risks of developing a finger pointing culture. Unhappiness, burn-out and losing of the team.
In result: searching for perfect stack does not only burns the resources without an impact. In a long-term it destroys teams. As any other search for “ideal” does not bring any profit or meaningful result.
But hey, I promised myself to be more positive. So here is the positive outcome: it’s an amazing experience what to avoid at all costs!