Reading
Books and papers worth your time
Things I've read that changed how I think about building systems.
Ordered by how often I find myself referencing them, not by when I read them.
Essential Books
-
Designing Data-Intensive Applications — Martin Kleppmann.
The single best book on distributed systems for practitioners.
-
Database Internals — Alex Petrov.
Storage engines, B-trees, LSM trees, and distributed algorithms from first principles.
-
Systems Performance — Brendan Gregg.
How to actually understand what a system is doing under the hood.
-
The Art of Unix Programming — Eric Raymond.
Old but the philosophy holds. Small tools, composability, text as interface.
-
A Philosophy of Software Design — John Ousterhout.
The best short book on managing complexity in code.