$ writing
Notes on software and building
An engineer's notebook more than a blog — things noticed while actually building, written down before they're forgotten.
01
The Cost of Clever Code
Clever code impresses the person who wrote it. Clear code respects the person who reads it next — who is often the same person, six months later.
Engineering
02
Software Should Explain Itself
A good interface doesn't need a manual. It needs to answer the question the person is actually asking, at the moment they're asking it.
Interface
03
Why I Delete Features
Every feature is a promise to maintain something forever. Most features earn that promise. Some just accumulate because removing things feels riskier than adding them.
Product
04
The Interface Is Part of the System
Treating the interface as a coat of paint applied after the real engineering is done produces software that works technically and fails practically.
Systems
05
Building Small Tools for Big Problems
Not every big problem needs a big platform. Sometimes it needs five small tools that talk to each other honestly.
Engineering
06
The First Version Should Feel Embarrassing
If your first version doesn't make you a little uncomfortable to show someone, you probably waited too long to show it.
Career