There’s a new term circulating among developers: “vibe coding”. It surfaced in 2024, picked up steam from figures like Andrej Karpathy and Simon Willison, and describes something many people already do without naming it: let AI generate code while you guide direction, tweak the output, and accept that not everything needs to be written by hand.
The problem is the discussion got trapped between two extremes. On one side, enthusiasts treat this as revolution. On the other, skeptics dismiss it as weekend tinkering. Neither helps people who need to decide if this actually enters a real team’s process.
This article tries to be useful for that decision.
What vibe coding actually is
Simon Willison defines vibe coding pragmatically: writing code while intentionally accepting you won’t understand 100% of what was generated. You describe what you want, the AI produces it, you test, adjust, and move on.
This isn’t new in essence. Devs have always copied Stack Overflow snippets without reading every line. The difference now is scale and continuity: instead of hunting for one specific function, you conduct a conversation that generates entire files, complete flows, sometimes full end-to-end systems.
In practice, understanding shifts from prerequisite to review. You don’t need to know how to write each line before you start. But you do need to read, test, and fix what was generated. That demands a different kind of skill, not the absence of one.
The gap between hobby and production
Willison makes a distinction many people ignore: vibe coding works well for disposable projects. One-off scripts, validation prototypes, internal tools you’re okay throwing away if they break.
Risk appears when you treat AI-generated code by the same standard as production code without adjusting your process. Production code has other demands: it needs maintenance, debugging, auditing, scaling. If the team doesn’t understand what’s running, maintenance costs explode.
Vibe coding for prototype
- Accept code without deep review
- Focus on validation speed
- Throwaway is an acceptable outcome
- One dev is enough
Vibe coding for production
- Requires review, tests, documentation
- Focus on maintainability
- Code needs to last
- Team needs to understand what runs
The question isn’t “use AI in code or not”. It’s “what level of rigor does this code demand, and can the current process handle that?”
Agentic engineering: the next step
Alongside vibe coding, another term picked up momentum: agentic engineering. Here, the AI doesn’t just generate code when you ask. It executes tasks more autonomously within a defined context. Tools like Cursor, Devin, and Claude’s agents work this way.
The practical difference: instead of prompt > response > review, you configure an agent with access to the repository, project rules, tests. It proposes changes, runs checks, and sometimes applies fixes on its own.
This shifts pair programming with AI. It’s no longer “you write, AI completes”. It’s more like “you define the problem, AI proposes a solution, you both iterate until you converge”.
What changes in real team processes
For teams already using AI in daily development, some practical implications emerge:
Code review gains weight. If more code is AI-generated, the ability to review, question, and correct becomes more important than the ability to write from scratch. This affects hiring, training, and how you distribute work.
Automated tests become mandatory insurance. Code you didn’t write line-by-line needs stronger test coverage. Not from distrust of AI, but because the cost of bugs in code nobody remembers writing is higher.
Decision documentation matters more than implementation documentation. If AI can rewrite the code, what can’t be lost is the why behind that decision. The business context, trade-offs considered, constraints that shaped the solution.
Architecture and patterns become guardrails, not preferences. When an agent generates code with free access to the repo, it follows the patterns it finds. If the project has no clear patterns, the agent will invent them. That scales inconsistency.
- Can the team review AI-generated code with the same rigor as human code?
- Is test coverage strong enough to catch errors nobody thought to look for?
- Are architectural decisions documented somewhere accessible to the team?
- Are project patterns explicit enough for an agent to follow?
- Is there clarity about what can be vibe coding and what requires production rigor?
The risk of speed without direction
A pattern is starting to appear in teams adopting AI without adjusting process: delivery speed goes up, directional clarity goes down.
Code generation got easier. Deciding what to generate stays hard. If the team ships features faster without validating they’re the right ones, the result is accelerated waste.
This isn’t AI’s fault. It’s treating AI as the solution to a problem it doesn’t solve. Code generation tools help with execution. They don’t replace priority-setting, hypothesis validation, user understanding.
When adoption makes sense, when waiting makes sense
No universal answer exists. But certain conditions make adoption safer:
Adoption makes more sense when:
- The team already has testing and review discipline
- There’s clarity around code standards and architecture
- The project has fast feedback loops with real users
- Technical leadership can evaluate code without having written each line
Waiting makes more sense when:
- The team is still forming basic engineering practices
- No consistent automated testing exists
- Product decisions change without a record
- Pressure is to ship fast, not to ship right
In my view, adopting vibe coding and agentic engineering is inevitable for most teams in the next two years. The question isn’t if, it’s how. And “how” depends on having a mature process to absorb the shift without losing control.
What sticks
Vibe coding and agentic engineering aren’t fads. They’re symptoms of a structural shift in how software gets produced. AI code generation is already good enough to be useful. It’s not yet good enough to replace human judgment.
The dev who thrives in this scenario isn’t the one who writes faster. It’s the one who defines problems better, reviews with more rigor, and knows when to accept the AI’s output and when to reject it.
For product teams, the implication is direct: invest in review practices, testing, and decision documentation. These practices always mattered. Now they’re non-negotiable.
Author
Raphael Pereira
Designer & strategist focused on performance-led digital experiences.
Related posts
How to Evaluate if Your AI in Production Is Actually Working
Most companies ship AI without knowing how to measure if it's working. This guide turns technical monitoring into strategic decision-making.
Continue reading
Why your product team needs to monitor AI in production (and how to start)
Most teams treat AI monitoring as an engineering problem. The cost of that blindness shows up when your product starts degrading and nobody notices.
Continue reading