Reading
Books and resources that have shaped how I think. Not a complete list, just the ones I find myself recommending repeatedly.
Software & Systems
Designing Data-Intensive Applications by Martin Kleppmann The best single book on distributed systems. Dense but essential.
A Philosophy of Software Design by John Ousterhout Complexity is the enemy. This book explains why and what to do about it.
Domain-Driven Design by Eric Evans Still the definitive work on modeling complex domains. The strategic patterns matter more than the tactical ones.
Release It! by Michael Nygard Production systems fail in predictable ways. This book catalogs them.
Teams & Organizations
Team Topologies by Matthew Skelton & Manuel Pais How you structure teams determines what you can build. Conway's Law made actionable.
An Elegant Puzzle by Will Larson Systems thinking applied to engineering management. Practical and honest.
The Manager's Path by Camille Fournier The best map of the engineering leadership career path.
Accelerate by Nicole Forsgren, Jez Humble, Gene Kim Finally, data on what actually makes engineering teams effective.
Strategy & Thinking
Good Strategy Bad Strategy by Richard Rumelt Most strategy is bad strategy. This book explains the difference.
The Goal by Eliyahu Goldratt Theory of Constraints as a novel. Surprisingly applicable to software.
Thinking in Systems by Donella Meadows Mental models for understanding complex systems. Short and powerful.
Elixir & BEAM
Designing Elixir Systems with OTP by James Edward Gray II & Bruce Tate How to think in processes. The "why" behind OTP patterns.
Programming Elixir by Dave Thomas Still the best introduction to the language.
Elixir in Action by Saša Jurić Deep dive into the runtime. Essential for production Elixir.
Currently Reading
Updated periodically. See /now for what I'm focused on.
How I Read
I read multiple books in parallel, usually one technical, one strategic, one for perspective. I re-read important books. The best books get better on second reading.
Physical books for deep reading. Kindle for travel. Audiobooks rarely work for me with technical content.
I take notes, but sparingly. If an idea is important, it sticks. If it doesn't stick, maybe it wasn't that important.