Recent posts

Lessons from legacy codebases

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 →

On writing code that lasts

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

A technical writer exploring systems thinking, code design, and the intersection of tools and thought.

Thoughts on design. Updated monthly.

Elsewhere

Occasional writing on technical topics. Past essays here.

Account