Writing
On cloud engineering, collaboration, and the human side of building technology.
-
March 2026
Eight Years Operating a Distributed Proxy
The SRE team wasn't just operating the system -- we were continually advocating for the feedback loop between production behavior and engineering decisions.
Read more → -
March 2026
Failure Modes and Blast Radius
Failure modes are rarely anticipated during system design. A single customer backend slowdown could cascade through DNS failover, thundering herd, and multi-customer outages -- all because of a health check that wasn't built to detect its own inability to serve.
Read more → -
March 2026
What I Believe About the Code Change Process
What I've learned about code changes, documentation, and review over two decades, starting in an industry where the documentation trail carried real consequences.
Read more → -
March 2026
Don't Let People Yell at You
Some of the most impactful mentorship I've participated in had nothing to do with technical skills. It was about navigating the moments when smart, passionate people come into conflict.
Read more → -
March 2026
Why I Document Everything
I document my work obsessively, and it's not because anyone asked me to. It comes from frustration, practicality, and a desire to make things easier for whoever comes next.
Read more → -
March 2026
Users Act in Predictably Chaotic Ways
Once we solved the problem of creating test environments reliably, a new set of problems appeared -- and they were all about how people actually used the system.
Read more → -
March 2026
From Content Analyzer to Policy Research Platform: Building Trans Discourse
The project behind the workflow articles. How a tool for analyzing anti-trans media evolved into a policy research platform tracking legislation, organizational influence, and contested research, all built with Claude in 26 days.
Read more → -
March 2026
Forty Tasks, Zero Conflicts: What I Rebuilt When Concurrency Broke the Backlog
The flat markdown backlog worked beautifully until six agents started shipping in parallel. Per-task files, tiered CI, and a merge queue turned constant merge conflicts into smooth concurrent development.
Read more → -
February 2026
Five Reviewers, Three Advisors, One Leader: How I Taught Claude to Plan
When AI agents handle coordination, the bottleneck moves to planning. How I built a role-based review system that turns eight different perspectives into a prioritized backlog, and what forty-six sprints taught me about the shape of the work.
Read more → -
February 2026
Six Agents, One Codebase: Coordination Patterns from Human Teams
When Claude Code handles implementation, the bottleneck moves to planning and coordination. How I built a sharable template for managing multiple AI agents, drawing on two decades of software team patterns.
Read more → -
February 2026
Leading the Migration Everyone Depended On
How I built the case for migrating a legacy MySQL database to Aurora Global on a platform handling over a billion API calls a month, and why the hardest part wasn't the technical work.
Read more → -
January 2026
Driving DevOps Maturity: Implementing a Fully Code-Driven Build System
How we transitioned from error-prone manual processes to a fully automated, code-driven approach using Packer, Ansible, Terraform, and Docker, and why openness, transparency, and repeatability matter more than any specific tool.
Read more →