What I've Learned Managing AI Coding Agents

It’s been six months since I started running a team where AI agents are first-class contributors — not gimmicks, not copilots, but autonomous agents that write, test, and ship code. Here’s what I’ve learned.

The good parts

Speed is real. Tasks that used to take a senior dev two days now take an agent two hours. The delta isn’t the typing speed — it’s the context switching. An agent doesn’t need to remember where the auth middleware lives or how the ORM is configured. It reads the codebase fresh every time.

Tests actually get written. The biggest behavioral change on my team isn’t about AI at all. It’s that every PR now has tests, because the agent writes them as part of the task. When humans skip tests, it’s a time decision. Agents don’t make that tradeoff unless you tell them to.

Documentation improves by accident. The agent generates a plan before writing code. That plan becomes documentation. It’s not great documentation, but it exists — and existence is 80% of the battle.

The hard parts

Context poisoning is real. Feed an agent 50 files and it’ll write code that’s too clever by half — stitching together patterns from three different parts of the codebase that were never meant to meet. The fix: smaller, more focused tasks with explicit context boundaries.

Review burden shifts. You trade writing time for review time. A 500-line PR from an agent takes longer to review than a 500-line PR from a human, because the human has intent and the agent has output. You have to reverse-engineer the reasoning.

The naming is terrible. I don’t know why, but AI-generated variable names are consistently the worst part of the output. processedData, tempResult, handleThing. We’ve started requiring a naming pass before merge.

What’s next

I think we’re about six months away from agents that can handle cross-repo changes reliably. The multi-agent orchestration patterns are converging — define the work, fan out, fan in, reconcile. The hard part isn’t the AI. It’s the integration testing.

If you’re leading a team right now and not experimenting with this, you’re leaving speed on the table. Start small: pick one non-critical subsystem, give an agent a well-scoped task, and see what happens.