Writing
6 essaysNotes & essays.
Engineering, AI, and the craft of building systems that last.
Visualizing context: how to see the system before you build it
Every hard engineering decision I have seen go wrong had the same root cause: the person making the call could not see the whole system. Context maps, failure propagation graphs, and temporal visualizations are how you fix that.
AI against underengineering
The real story of agentic engineering is not 10x velocity - it is finally being able to afford the boring, correct, invisible work that turns brittle systems into real ones.
Why Ruby is quietly the best language for AI
Everyone assumes you build AI systems in Python. After a year of building agentic products in Ruby, I think that assumption is wrong — and here's why.
Your team is afraid of AI. Here is how to fix that.
The most common failure mode in AI adoption is not a tooling problem. It is a feelings problem. How to close the gap without destroying morale.
The seven levels of agentic engineering
From autocomplete to goal-driven autonomy: a working taxonomy for how AI agents are actually being used to build software in 2026 -- and how to tell which level you are at.
Building foundations that outlast you
At some point in every growing organization, someone becomes the person who sees the whole system. Here is the playbook for doing that job well -- and making yourself unnecessary, which is the whole point.