The shelf: books worth reading more than once
A short, opinionated shelf across engineering, science, and judgment — every entry earned its place by being worth a second read.
The shelf: books worth reading more than once
A reading list only means something if it’s short. These are the books I’d actually re-read, with what each one is for.
Engineering
- Designing Data-Intensive Applications — Martin Kleppmann. The best systems book of its generation; see the distributed-systems post for how to read it.
- Structure and Interpretation of Computer Programs — Abelson & Sussman. Free online. Not about Lisp; about the discipline of building abstractions and knowing their cost.
- Systems Performance — Brendan Gregg. The reference for how machines actually spend their time.
- A Philosophy of Software Design — John Ousterhout. Short, and the only design book whose advice (“deep modules, simple interfaces, define errors out of existence”) I find myself quoting in code review.
- The Pragmatic Programmer (20th-anniversary edition) — Hunt & Thomas. The craft book; skim annually.
Science and math
- Probabilistic Machine Learning — Kevin Murphy. Both volumes, free drafts online. The ML reference; see the ML foundations post.
- Introduction to Probability — Blitzstein & Hwang. The probability book that builds intuition without sacrificing rigor.
- Surely You’re Joking, Mr. Feynman! — the case for curiosity as a working method, disguised as anecdotes.
- The Art of Doing Science and Engineering — Richard Hamming, Stripe Press. “You and Your Research” expanded to a book: how to work on things that matter. If you read one book from this list, read this one.
Judgment
- Poor Charlie’s Almanack — Munger’s talks; free online at Stripe Press.
- Thinking, Fast and Slow — Kahneman. Read it for the anchor concepts (System 1/2, anchoring, availability), and read it knowing some priming studies did not replicate — Kahneman said so himself, which is itself a lesson in updating.
- The Checklist Manifesto — Gawande. Why competent people fail at known-solved problems, and the embarrassingly simple fix. Directly applicable to deploys, incident response, and reviews.
How I use the shelf
One book per domain at a time, notes in my own words, and a rule of thumb from Hamming: after finishing anything good, spend thirty minutes writing down what changed about how I’ll work. If nothing did, the book goes off the shelf — whatever its reputation.
This post is licensed under CC BY 4.0 by the author.