I like this blog post about how tech stacks don't really matter. The post iterates over the history of web development - specifically what's come, gone and stuck around. The main theme I got from the post was that languages that are adopted by the majority of developers and businesses tend to stick around. The fact that they stick around means we eventually are left with a lot of languages to choose from. The old ones tend to be just as good at producing the output for clients as the new shinier ones.
A good amount of really smart engineers spend time trying to decide what the best framework and tech stack is while some old boring tech will work just fine. Since engineering teams are the ones who care about it the most, they probably should to an extent, after all they're the ones who have the job of maintaining the thing and making sure it works while living up to expectations; see speed, memory, resources, etc.
For instance, C# and .Net are not super hot in Silicon Valley, but they are used in a lot of really good applications. Applications developed by small start up teams and by enterprise software groups. C# is my preferred language and if I'm going to be developing something from scratch I first try to decide if .Net is a viable path forward. 99% of the time it is and I end up using it. I will also develop front ends using React because I prefer the React JSX "language" and ease of front end development with it opposed to using jQuery in a .Net Razor view.
Once I had a potential client ask me why my solution design wasn't written in Python. I said that I preferred .Net as my tech stack and that the end product would be the same from their point of view. This client really pressed me on why I wasn't going to use Python for their website. I explained that if I used Python then I'd end up using Django. If I used Django and wanted to create a REST API as part of the project, I would then be using Django REST Framework. Instead, I wanted to use .Net as the tool and therefore could package the entire application into a single executable and wouldn't need to use other dependencies. We didn't end up working together, but I asked them why they cared so much about a programming language when they were not a developer. They told me it was because "well, that's what another developer said was the best".
In web development, my opinion is there isn't a "best" when it comes to developing 99% of the websites out there. If we're pulling data from a database, to an API and rendering in a UI then developers can take their pick of their language and tech stack. The question to ask ourselves is "what language is going to get you, the client, the most value in the most efficient time?".
So in the end, I'm a consultant and my clients are paying me for a product solution that is going to make them money or provide some kind of value. They don't care what I use as long as it's something that is fast, reliable and can be well maintained by someone down the road. There are exceptions if they have an existing development team that specializes in X or their hardware only supports Y. In these cases I will follow their lead and create a solution that fits into their model.
I love the quote at the end of the blog post as it summed up my thoughts on tech stacks pretty well:
Wanna keep using React ? Wanna switch to something better like Svelte ? Wanna avoid JavaScript like the plague and use HTMX ? It doesn’t matter to the end user. As long as you’re providing value to people and/or having fun doing it, you’re good. Don’t feel bad about your technical choices because someone on the internet wants you to.
Read the entire article here and happy coding: