Engineering
Designing systems that stay understandable
How to keep complexity in check as products, teams, and codebases grow.
Essays and notes on software, systems, and the work of building. The archive will grow as new pieces are published.
Engineering
How to keep complexity in check as products, teams, and codebases grow.
Product
A practical look at tradeoffs when speed, quality, and clarity compete.
Practice
Approaches for learning an unfamiliar system without getting lost in it.
Design
How structure, language, and hierarchy can reduce the need for extra explanation.
Engineering
A case for leaving some duplication in place until the real pattern is obvious.
Product
Keeping the original problem in view after the work has gathered momentum.