Vibes Won't Cut It
Chris Kelly from Augment Code delivers a reality check on AI coding hype. Learn why 'vibe coding' is dangerous in production systems, the difference between code generation and software engineering craft, and the critical skills engineers need in the AI era.
Production Reality vs. AI Hype
"When software goes down at two in the morning, vibes aren't going to fix the bug."
— Chris Kelly, Augment Code (00:06:50)
Watch key momentThe Reality Check: AI Hype vs. Production Experience
While tech Twitter debates whether AI will replace programmers, Chris Kelly offers a grounded perspective from years of production software engineering experience. The disconnect comes from people who haven't touched production systems in a very long time.
"I think they're probably wrong. Not because I don't think AI coding is going somewhere important, but probably because they haven't actually touched a production system in a very very long time."
— Chris Kelly, responding to predictions that AI will replace software engineers (00:00:44)
44"Tractors didn't get rid of farms. They just got rid of farm hands and horses."
— Chris Kelly, on historical parallels in technological disruption (00:03:02)
182The Historical Parallel
DevOps parallel: Just as tractors transformed farming without eliminating farms, AI coding tools will transform software engineering without eliminating software engineers. The tractor got rid of farm hands and horses — not farmers. Similarly, AI will eliminate certain tasks (boilerplate, repetitive coding, basic debugging) but not the engineers who understand production systems.
The "Vibe Coding" Problem
"Vibe coding" is letting AI write code without examining what it actually produces. It feels productive — the code appears, the tests pass — but you're accumulating technical debt and bugs you'll discover at 2 AM when production goes down.
When software goes down at two in the morning, vibes aren't going to fix the bug.
The title quote and core message: Production systems don't care about vibes or how quickly code was generated. They care about reliability, maintainability, and correctness.
Watch (00:06:50)Vibe Coding
- • Let AI generate code
- • Don't read it carefully
- • Ship it if tests pass
- • Hope for the best
Engineering Craft
- • Use AI as a tool
- • Review every line
- • Understand the code
- • Take responsibility
Code Generation ≠ Software Engineering
The industry is conflating two different things. Generating code is not the same as the art and craft of software engineering. One is a mechanical act; the other is a discipline of changing software safely.
"Let's stop conflating generating code with the art and the craft of doing software engineering. Those are different things."
— Chris Kelly, on the distinction between code generation and engineering (00:07:40)
460"Every line of code comes with a burden, right? I have to maintain that code. I have to debug that code."
— Chris Kelly, on the hidden costs of AI-generated code (00:08:00)
480"Who cares how much it can generate? The more it generates, the worse off I end up being."
— Chris Kelly, on why code generation volume is the wrong metric (00:08:17)
497The Real Work of Software Engineering
Definition: "What is the work of software engineering? For me, that's changing software safely."
Every line of code adds burden: maintenance, debugging, understanding, refactoring. AI that generates more code without improving quality or reducing complexity makes things worse. The most important skill isn't writing code — it's changing existing code without breaking it.
Watch (00:10:17)The Adoption Paradox: Why Pros Are Last
There's a remarkable pattern in AI tool adoption. Beginners and enthusiasts adopt first. Professional software engineers — the people who build production systems — are the last to adopt. Chris has never seen this before in his career.
Professional software engineers are the last people I see adopting AI and I've never seen that before.
A historically unprecedented pattern: Usually, professionals adopt new technologies first. With AI coding tools, it's reversed.
Watch (00:11:20)Why Professional Engineers Are Skeptical
- • Production scars: They've seen what happens when code fails at scale
- • Maintenance burden: Every line added is future work
- • Debugging difficulty: AI-generated code is often harder to understand
- • Reliability requirements: Four nines uptime doesn't care about vibes
- • Complexity: Production systems have interdependencies AI doesn't see
The Evolution of AI Tools: From Pile of Bricks to Agents
Chris has used AI coding tools since they were "a pile of bricks." The evolution has been dramatic, but each phase has limitations.
The Pile of Bricks
Early AI tools were raw components without integration. You had to build everything yourself — orchestration, context management, tool calling. Powerful but required massive engineering effort.
Claude 3.5 Sonnet
The breakthrough model that made AI coding actually useful. Better reasoning, better code understanding, more reliable outputs. The first model that could genuinely help with production codebases.
Agents (Coming Soon?)
Autonomous agents that can execute multi-step workflows. Still early, with reliability challenges. The promise is huge — but so are the risks in production systems.
The Agent Risk
Warning: Agents that autonomously modify codebases are powerful but dangerous. Without tight boundaries, testing, and human review, they can introduce subtle bugs at scale. The "vibe coding" problem gets worse when AI is making changes without direct human supervision.
Building AI-Friendly Software
The most important section for engineering leaders. If you want AI to help with your codebase, you need to make your software AI-friendly. This means standards, reproducibility, testing, and boundaries.
Four Requirements for AI-Friendly Code
- Standards: Consistent code style, patterns, and conventions
- Reproducibility: Same inputs produce same outputs
- Testing: Comprehensive test coverage gives AI safety rails
- Boundaries: Clear module boundaries and interfaces
Why Linters and Style Guides Matter More Than Ever
Quote: "This is why we have linters. This is why we have rule systems. This is why we have style guides. So we can stop arguing about like is that how you define a function or is this how you define a function."
Standardizing style debates isn't just about aesthetics — it's about making your codebase AI-readable. When conventions are consistent, AI can learn patterns and make safer changes. When every function looks different, AI gets confused and makes mistakes.
Watch (00:30:42)How AI Actually Works (Mental Model)
Understanding how AI models "think" changes how you work with them. The breakthrough insight: AI talks like a human but is actually a machine.
The most important thing I can imagine is AI talks like a human but is actually a machine.
This mental model shift is crucial. AI isn't a person. It doesn't "understand" code the way engineers do. It's pattern-matching at scale.
Watch (00:28:29)Human-Like Communication
AI speaks natural language, responds to conversational prompts, and seems to "understand" context. This creates a false sense of intelligence.
Machine Reality
Underneath, it's predicting tokens based on patterns. No reasoning, no mental model, no understanding of production constraints. Just sophisticated pattern matching.
The Most Important Skill: Code Review
If there's one skill that defines the AI era, it's code review. Not writing code — reviewing it. This is where professional engineers provide immense value that AI cannot.
Code review is by far the most important skill. I think we've probably forgotten that skill as an industry.
Chris believes the industry has devalued code review, treating it as optional bureaucracy. In the AI era, it's the primary differentiator between vibe coding and engineering.
Watch (00:24:30)Security Review
AI doesn't understand security implications, threat models, or attack surfaces. Human review catches what AI misses.
Architecture Review
AI generates code without understanding system architecture. Engineers ensure changes fit the larger design.
Maintainability Review
AI optimizes for the immediate task. Engineers consider long-term maintenance, refactoring, and technical debt.
The AI Era Workflow
- 1. Use AI to generate initial code (fast iteration)
- 2. Review every line yourself (understand what it does)
- 3. Run tests and edge cases (verify correctness)
- 4. Have another engineer review (catch blind spots)
- 5. Take responsibility for the result (you shipped it)
Three Tips for Skeptical Engineers
If you're skeptical about AI coding tools — and many professional engineers are — here are three practical tips to get started safely.
1. Treat AI as a Machine, Not a Person
Mental Model
- •AI talks like a human but works like a machine
- •It pattern-matches, it doesn't reason
- •Don't anthropomorphize — understand what it actually does
- •Work with its strengths (patterns) and weaknesses (reasoning)
2. Be Flexible on Code Style
Practicality
- •Stop arguing about formatting — let AI handle it
- •Focus your review energy on logic, bugs, and architecture
- •Use linters and formatters to standardize automatically
- •Your expertise is too valuable for style debates
3. Use the Create-Refine Loop
Workflow
- •Make a plan before prompting
- •Let AI create the initial version
- •Review and understand what it produced
- •Refine with specific feedback
- •Iterate until you're satisfied
Make a plan, have it create it, and then just make your make your tweaks and you'll get a lot more comfortable one how to prompt the LLM to get the code you want to do.
Chris's practical advice for engineers learning to work with AI. Don't expect perfection on the first try — iterate toward it.
Watch (00:31:40)The Bottom Line
AI coding tools are powerful and getting better. But they don't change the fundamental reality of production software engineering: when software goes down at two in the morning, vibes won't fix the bug.
The difference between successful AI-assisted engineering and vibe coding comes down to discipline, review, and understanding. Use AI to generate faster, but review more carefully. Let AI handle the boring stuff, but take responsibility for the result.
The tractors didn't get rid of farmers. They just got rid of farm hands and horses. AI coding tools won't get rid of software engineers — they'll get rid of rote coding and boilerplate. The engineers who thrive will be the ones who understand that generating code is not software engineering.
Source Video
Vibes won't cut it
Chris Kelly • Augment Code • AI Engineer Conference