Designing Data-Intensive Applications
by Martin Kleppmann · ★★★★★
Starter entry - replace the bookshelf with books you’ve actually read.
The one book I recommend most to backend engineers. It connects the dots between storage engines, replication, partitioning, and consensus without hand-waving - and it changed how I reason about the guarantees a system actually gives you.
The chapters on replication and the trouble with distributed systems are worth re-reading every year.