What is Vibe Coding?
"Vibe coding" is a term coined in February 2025 by Andrej Karpathy, co-founder of OpenAI. It describes a coding style where a developer "fully surrenders to the vibe, forgetting that code even exists." The idea is to describe what you want in natural language, and large language models (LLMs) generate the corresponding code for you.
This approach gained traction with tools like Cursor, which now generates over a billion lines of code daily and is used by companies such as Stripe, OpenAI, and Spotify. Apple has also partnered with Anthropic to bring "vibe coding" into its Xcode development environment.
The Problems With Vibe Coding
While convenient and fast, vibe coding comes with significant drawbacks:
- The AI-generated code can be buggy, inefficient, or insecure.
- Developers may not fully understand what the code is doing, making debugging and maintenance harder.
- Over-reliance on AI can lead to technical debt and lower product quality.
- The approach often lacks structure, leading to brittle or unscalable architectures.
Enter Vibe Engineering
Vibe engineering offers a more thoughtful and structured alternative. It's about maintaining the creativity and fun of coding with AI, but grounding it in solid engineering principles. Instead of generating code on impulse, engineers:
- Plan and design the system architecture before coding.
- Use AI for automation of routine tasks, not as a crutch for the entire workflow.
- Ensure they fully understand, validate, and test the code they deploy.
- Focus on performance, security, scalability, and maintainability.
In vibe engineering, AI is a partner—not a replacement—for deep technical thinking and responsible design.
Why Vibe Engineering Is Better
Vibe Coding | Vibe Engineering |
---|---|
Fast, spontaneous | Thoughtful, intentional |
Code may lack structure | Code is well-architected |
Short-term velocity | Long-term maintainability |
Developer is often passive | Developer is active and in control |
High risk of bugs or tech debt | Built with quality and resilience |
Vibe engineering respects both the art and the science of software development. It’s jazz with theory, not just noise.
Conclusion
Vibe coding democratized and accelerated software creation, but it also introduced chaos and complexity when used carelessly. Vibe engineering is the natural evolution—bringing purpose, clarity, and professionalism to AI-assisted development.
So next time you open your editor, don’t just vibe code—vibe engineer.
Inspired by insights from Andrej Karpathy, Cursor.dev, FT, Reuters, and the developer community.
Top comments (0)