Designing Data-Intensive Applications
Martin Kleppmann/2017
The clearest map I've read of the trade-offs behind every “we picked X” decision — replication, consistency, batch vs stream. Every backend case study on this site owes it something.
03 / Library
Books, papers, and talks that shaped how I think. Not a Goodreads dump — a small shelf I actually reread, each with a one-paragraph reason to be here.
11 entries/4 sections/shelf last touched July 2026
Martin Kleppmann/2017
The clearest map I've read of the trade-offs behind every “we picked X” decision — replication, consistency, batch vs stream. Every backend case study on this site owes it something.
John Ousterhout/2018
Short book, sticky ideas. “Deep modules” is the vocabulary I now reach for whenever I'm arguing about API surface area or premature abstraction.
Don Norman/1988
The book that made me stop blaming users. If a person is confused, the product is broken — not them. Half of my accessibility instincts trace back to this.
Michael Feathers/2004
Convinced me the harder skill isn't writing code from scratch — it's changing code you don't own without breaking it. Still the most useful book I've read about being on a team.
William Zinsser/1976
Applies to code comments, PRs, case studies, and Slack messages. The best programming book that isn't about programming.
Ben Moseley & Peter Marks/2006
Names the disease — accidental complexity — with a rigour I hadn't seen elsewhere. I reread it once a year and something new lands each time.
Waldo, Wyant, Wollrath, Kendall/1994
Old paper, still right. “The network is not transparent” is the sentence I've quoted most in design reviews. Anyone shipping distributed systems today is still relearning it.
Fred Brooks/1986
Every generation of tooling promises to make software easy. Brooks explained — forty years ago — why it won't. Every generation is surprised again.
Guy Steele/1998
The most elegant argument I've seen for why the users of your abstraction become its co-authors. Also the most disciplined 40-minute talk I've ever watched.
Rich Hickey/2011
Split my vocabulary in two. “Simple” and “easy” are not the same thing, and confusing them is what makes codebases expensive to live in.
Jordan Mechner/2011
A programmer's journal, published verbatim. It's a good reminder that great things get built between the doubt paragraphs, not despite them.
Search and jump to any page.