How to Choose Technology 🔍
A comprehensive guide about one of the core duties of all engineering teams.
In the past, we used to write most of our software from scratch. These days, less so.
It feels to me that good engineering work is more and more about patching things together — and that’s because product platforms haven’t changed for a long time.
We are still building for the web and mobile, whose core tech has been the same for ~15 years.
Apps today look very similar to those from 10 years ago, which means we've got plenty of time to refine our tools. In fact, today there exist infinite options to do pretty much anything: languages, frameworks, libraries, no code, low code, and SaaS tools.
Choosing good technology is more important than ever, because it is now a big chunk of the overall engineering work.
But how do you choose technology? I wrote half a dozen articles about this in the past, because the problem has so many angles.
So, today I am publishing a comprehensive Guide 📖 that puts together everything I said about this in a coherent framework that you can use at work. It will be a way longer, more in-depth and more researched article than usual!
I write one of such guides about once a month. You can learn more about Refactoring Guides below 👇
Here is what we will cover today:
🎯 Goals — what do you want to achieve? What does a good tech choice look like?
🎰 Making bets — tech choices like bets, and finding asymmetric ones.
⚖️ Buy vs build — how you should think about this eternal struggle.
🔍 Evaluating tech — what to look for in libraries, frameworks, and tools.
📋 Decision process — how to decide as a team, by using reliable processes and docs.
📚 Related articles — plenty of further articles to learn more about specific angles.
Let’s dive in!