The books that have changed how I build systems, in rough order of impact.
Designing Data-Intensive Applications by Martin Kleppmann: the most important book on distributed systems written for practising engineers rather than researchers. Every system that touches data at scale will face problems this book describes and solves.
A Philosophy of Software Design by John Ousterhout: the clearest treatment of what makes code complex and what makes it simple. The concept of "deep modules with simple interfaces" has influenced every API I have designed since reading it.
The Pragmatic Programmer by Hunt and Thomas: the engineering habits that compound. Not a technical book in the narrow sense — a book about what it means to be a professional engineer.
Database Internals by Alex Petrov: for engineers who want to understand why databases behave the way they do. After reading this, indexing strategies, transaction isolation levels, and replication lag are intuitions, not incantations.
Read widely. Read technically. The best engineers I know are also the most well-read.
— Dick Bassey | DevDick | 2024