Augmented Coding
"Augmented coding means never having to say no to an idea." — Kent Beck
I've been exploring what I call "augmented coding" — the practice of collaborating with AI coding assistants to accelerate software development. Rather than replacing developers, these tools amplify our capabilities in profound ways.
Augmented coding deprecates formerly leveraged skills like language expertise while amplifying vision, strategy, task breakdown, and feedback loops. What are programmers to do? We can afford more experiments and take greater care with modifications to existing systems.
The Magic & The Challenge
One magical aspect of augmented coding is how the AI goes beyond stated requirements to implement what I would have wanted: "Oh, & here's a command line tool for this." The challenge? Today's AI assistants lack taste. That giant function? The AI just added another 20 lines to it.
"Don't eat the seed corn" — My coding genie unfortunately doesn't know this farming wisdom.
Principles for Augmented Development
- Constrain Context — Only tell the AI what it needs to know for the next step
- Preserve Optionality — Don't let the AI eat your "seed corn" through poor design choices
- Balance Expansion & Contraction — Match feature development with refactoring cycles
- Maintain Human Judgment — Review changes regularly and guide architectural decisions
I recently spoke at the O'Reilly "Coding with AI" seminar, presenting "Vibe Coding: More Experiments, More Care". I regularly share insights on my Tidy First newsletter.