Blog
Writing about how we build software, not just what we build. Engineering philosophy, architectural decisions, and lessons from getting things wrong.
Alive to Guess Again
Karl Popper argued that a theory which can't be proven wrong isn't really saying anything. The same is true of engineering practices: if you aren't actively trying to break them, you don't know whether they're working.
The Pragmatist's Razor
Cargo cult engineering is adopting practices without understanding. But there's an equal and opposite failure: the engineer so principled they forget they're building software for people, not for architecture diagrams.
The Teacher and the Doer
I started code reviewing for a junior developer a few months ago. It taught me more about my own understanding than I expected, and revealed a model of learning that changes how I think about software knowledge.
Cargo Cult Software Engineering
Richard Feynman warned about scientists who follow the form of science without the substance. The same problem is everywhere in software: teams adopting practices they don't understand, hoping the results will follow.