Latest writing

Building for the long tail

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.

Read more →

From the archive

Naming is one of the hardest problems in software, yet we spend less time on it than we should. Let's talk about why it matters and how to get better at it.

About this site

Occasional thoughts on engineering practices, tooling, and how we think about code. No sponsors, no tracking, no ads.

Thoughts on craft. Updated weekly.

Elsewhere

Occasional thoughts on technical topics. Past essays here.