Technical blog
Engineering Thinking
Anyone can write code. Great engineers make good engineering decisions.
Latest writing
Do What You Couldn't Do Before
If AI only makes you faster at work you already knew how to do, you've bought speed, not reach. The interesting work is what you assumed you couldn't do.
The Meeting That Runs Itself
I had a coding-agent session open for each of my projects and was coordinating their discussion by hand. Handing that job to the agents themselves taught me something about building with AI.
Model the Business, Not the Implementation
Optional values are useful when absence exists in the business. They become dangerous when they hide workflow state, API awkwardness, database looseness, or compiler discomfort.
Topics
About
This site is designed as a senior engineer's field journal: fewer hot takes, more decision records, failure analysis, architecture notes, and implementation writeups.
Posts should be useful to engineers evaluating similar tradeoffs, so the default format favors context, constraints, concrete examples, and what changed after shipping.