Vibe Coding

Also known as: vibe-driven development, vibes-based coding, conversational coding

engineering beginner

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.

Mentioned In

Video thumbnail

Alex Rampell

The idea I would vibe code my own workday and then run it is terrifying. Cites David Ricardo's comparative advantage — edge cases accumulated over decades can't be replicated by prompting.

Video thumbnail

Mike Cannon-Brookes

Vibe coding isn't a replacement threat — it's an extensibility gain. Customers can build custom apps on top of systems of record for specific use cases like 'the Miami front desk conference room app' that no IT team would have built before.

Video thumbnail

Steve Yegge

Introduces 'heresy' as the new tech debt in vibe-coded codebases — wrong architectural ideas that take root among agents and keep rebuilding themselves. Requires explicit documentation in prompts to prevent recurrence.

Video thumbnail

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.'