On API design principles
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.
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.
Most codebases grow in directions their authors never anticipated. The pressure to optimize early is real, but constraints often produce more elegant solutions than freedom ever could.
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.
I write about software architecture, distributed systems, and the craft of programming. Posts are infrequent but hopefully worth the wait.
Thoughts on craft. Updated sporadically.
Occasional writing on technical topics. Archives here.