Essays
Positions on software engineering, not tutorials. Concepts that hold up over time, distilled from years of building.
Clean Code Still Matters — But for Different Reasons
Why AI-Generated Code Makes Discipline More Important, Not Less

The inner loop of agentic development
Where the real work happens in AI-assisted coding. Understanding the loop is key to designing better tools.
Autonomous agents vs pair-programming agents
Two models for AI-assisted development. One replaces you, one amplifies you. The difference matters.
Design patterns after AI
Which patterns survive the shift to AI-assisted development? Which need to evolve?
Building systems that enable teams
Technical architecture is team architecture. The systems you build shape how people work.