Vibe Coding¶
Summary¶
A software development practice where the user describes goals in natural language and AI generates, refines, and debugs code — shifting the human role from writing code line-by-line to guiding an AI assistant through conversation.
Origins¶
Coined by Andrej Karpathy in early 2025: "There's a new kind of coding I call 'vibe coding', where you fully give in to the vibes, embrace exponentials, and forget that the code even exists."
Two Modes¶
| Mode | Description | Best For |
|---|---|---|
| "Pure" vibe coding | Fully trusting AI output, "forgetting code exists" — see stuff, say stuff, run stuff, copy-paste stuff | Rapid ideation, throwaway weekend projects |
| Responsible AI-assisted development | AI as "pair programmer"; user guides, reviews, tests, understands code, takes ownership | Professional, production-grade software |
The Workflow¶
- Describe the goal — High-level prompt in plain language
- AI generates code — Interprets request, produces initial code
- Execute and observe — Run the code to see if it works
- Provide feedback and refine — Iterative conversational loop
- Repeat — Until code is complete
Vibe Coding vs Traditional Programming¶
| Dimension | Traditional Programming | Vibe Coding |
|---|---|---|
| Code creation | Manual, line by line | AI-generated from natural language |
| Developer role | Architect, implementer, debugger | Prompter, guide, tester, refiner |
| Expertise required | Higher (languages, syntax) | Lower (understanding functionality) |
| Primary input | Precise code | Natural language prompts |
| Development speed | Slower, methodical | Faster for prototyping |
| Error handling | Manual debugging | Conversational feedback |
| Learning curve | Steep | Lower barrier to entry |
| Maintainability | Depends on developer skill | Depends on AI output quality + user review |
Benefits¶
- Lowers barrier to entry — non-coders can build apps and MVPs
- Faster prototyping — idea to working app in minutes
- Frees developers to focus on outcomes, not syntax
- Enables rapid iteration and experimentation
Risks and Criticisms¶
- Security vulnerabilities — 45% of AI-generated code contains OWASP Top 10 vulnerabilities; architectural flaws like privilege escalation surged 300%
- Overconfidence — AI-assisted developers write less secure code but believe it's more secure
- Code bloat — When generating code is free, temptation is to generate too much; volume drives complexity
- Cognitive debt — Understanding erodes, skills atrophy, innovation slows over time
- Hallucination baked in — LLMs produce "most likely" code, not "most accurate" or "most secure"
- Runaway loops — AI agents can go off the rails with vague instructions, deleting data, fabricating results
Vibe Coding for Learning¶
Can be an excellent learning tool if disciplined: - Build side projects you actually care about (not generic to-do apps) - Read every generated line, ask AI to explain decisions - Break things and fix them yourself - Pair with fundamentals — read documentation, understand under the hood - Vibe coding is the starting line, not the finish line
For Non-Coders¶
- Eliminates the "non-developer" disadvantage for personal projects and MVPs
- But production-grade apps face real obstacles: authentication, payment gateways, app store deployment, notification workflows
- Shipping is harder than building — market research, crowded markets, sales matter more than the code
Key Debate¶
- Pro: Democratizes software creation, accelerates development, excellent learning tool
- Con: Creates security debt, "lost generation" of engineers who can't debug what they didn't write, AI slop