Vibe Coding
Also known as: vibe-driven development, vibes-based coding, conversational coding
What is Vibe Coding?
Vibe coding is an informal approach to AI-assisted software development where the developer describes what they want in natural language and lets an AI model generate the code, often without deeply reviewing or understanding every line of the output. The term was coined by Andrej Karpathy in early 2025, who described it as “fully giving in to the vibes” and letting the AI handle implementation details. Unlike traditional programming where developers write code line by line with full understanding, vibe coding treats the AI as the primary author and the human as the creative director.
How Vibe Coding Works in Practice
In a typical vibe coding session, a developer describes a feature or application in conversational language, the AI generates the implementation, and the developer tests the result by running it. If something does not work, the developer describes the problem (often by pasting error messages) and the AI iterates. The developer may never read the generated code in detail, trusting the AI to handle architectural decisions, library choices, and implementation patterns. Tools like Claude Code, Cursor, and Windsurf have made this workflow increasingly frictionless.
The Controversy
Vibe coding is polarizing. Proponents argue it democratizes software creation, enabling non-programmers and domain experts to build functional applications, and accelerates prototyping for experienced developers. Critics argue it produces fragile, unmaintainable code that the developer cannot debug when the AI fails, creating technical debt at unprecedented scale. The term itself carries an intentionally casual, slightly irreverent tone: it is programming by feel rather than by engineering discipline.
Vibe Coding vs. Agentic Coding
Vibe coding and agentic coding are related but distinct. Agentic coding involves AI agents that plan, execute, test, and iterate on code with structured workflows and quality controls. Vibe coding is more casual and human-directed, with less emphasis on process and more on rapid iteration through natural language. In practice, vibe coding often evolves into more structured agentic coding as projects grow beyond prototype stage and require reliability, testing, and maintainability.
Related Reading
- Agentic Coding - The more structured counterpart to vibe coding
- AI Agents - The systems powering code generation
- Skill Engineering - Packaging coding capabilities into reusable AI skills
Mentioned In
Dennis Doma
30-year veteran treats all AI-generated code as his own. Reviews AI tests line by line, refactors to meet standards, and updates instruction files iteratively. Warns junior devs who can't explain their AI-generated PRs: 'make sure the code is designed the way we want it and we can maintain it.'