Writing
Most of my writing lives on LinkedIn. Everything below links out to the original.
Five months and 305 commits: how leading two agentic migrations turned me into a Forward Deployment Engineer who never stopped being the architect.
Agentic governance in Git: proposals as versioned documents inside the repo, not slides in a deck.
We built an AI agent that audits container configurations and tells you what's actually running.
"I want to start fresh" is the most expensive sentence in software. Legacy is a people problem before it's a code problem.
FDE is everywhere, but most teams start in the wrong place - and rack up decision debt before the first commit.
Why I stopped hand-reviewing agentic PRs: the seven-step checklist that replaced me, and the one design question the agent doesn't answer.
Confidence scores are showing up in every agent workflow. Policy is not. A model for deciding when a score is allowed to matter.
A reviewer caught a fabricated citation in an AI-generated planning document. The fix wasn't a better reviewer - it was an enforced rule.
AI made implementation cheap. It made unwritten decisions expensive. The spec is the artifact that makes them explicit.
A green build after a port proves the tests ran. It does not prove the behavior survived. Contract tests are the answer.
The IC-versus-manager framing breaks down once the job itself changes. Ask what you want your week to look like instead.
A career story about the moment the trajectory changed.
A "we first" team in practice: developers who can demo the whole product, choose their tools, and work beyond component boundaries.
Replacing the core system is only part of the migration. A side project that grew to 9,000 users taught us what happens when SaaS leaves the surrounding ecosystem behind.
Archive - coauthored with Greg Truty. How we moved an IBM product from Java EE to Node.js microservices, and used production metrics to test our architecture decisions. The tooling reflects the time.
Service mesh before it was table stakes.
A practical starting point for the Istio service mesh.