Influences
Reading list
What feeds my thinking — ordered so it's actually useful if you decide to work through it.
Foundational books
The Pragmatic Programmer
Andrew Hunt & David Thomas
Sets the baseline mindset — DRY, orthogonality, tracer bullets. The bits about caring about your craft still land twenty years later.
Designing Data-Intensive Applications
Martin Kleppmann
The book I open when I need to ground an architecture decision in something real. Storage engines, replication, consensus — explained without hand-waving.
A Philosophy of Software Design
John Ousterhout
Reframes how I think about complexity. Deep modules, narrow interfaces, the cost of obviousness — every team should read it together.
Working Effectively with Legacy Code
Michael Feathers
Most real-world engineering happens inside codebases nobody planned. This is the manual for making peace with them.
Technical papers
Out of the Tar Pit
Ben Moseley & Peter Marks
Names the enemy: accidental complexity. Reads it once a year as a recalibration.
No Silver Bullet
Fred Brooks
Still the clearest argument for why software is hard. Worth reading before promising any timeline.
Talks worth re-watching
Simple Made Easy
Rich Hickey
Rewires the distinction between simple and easy. Has changed how I name and shape every API since I saw it.
The Mess We're In
Joe Armstrong
On software complexity, simulating physical things, and why concurrency should be the default. Beautiful and humbling.
Blogs followed
Julia Evans (jvns.ca)
Julia Evans
The patron saint of explaining hard systems-y things in five-paragraph posts. A model for how I want to write about my own work.
Increment / fly.io blog
Various
Production engineering essays from people who actually run things in anger. The fly.io posts in particular are gold.
Engineers admired
Patrick McKenzie (patio11)
patio11
Not a coder I copy — a thinker I copy. Reframes business and craft questions in ways that stick.