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!