Latest writing

The cost of context switching

Performance optimization is a tempting distraction. Every line of code that exists to optimize one specific case is a line that must be maintained and understood forever.

Read more →

From the archive

Distributed systems fail in ways that are hard to predict. After years of debugging production incidents, certain patterns keep recurring. This post explores a few.

About this site

These are my notes on building reliable, readable, maintainable systems. Interested in clarity over cleverness.

Thoughts on design. Updated monthly.

Elsewhere

Occasional thoughts on design topics. Past essays here.