From Vibe Coding To Vibe Engineering
In February 2025, Andrej Karpathy, the renowned AI researcher and former OpenAI and Tesla leader, ignited a firestorm in the software development community with a single tweet.
He described a new approach he dubbed vibe coding: “fully giv[ing] in to the vibes, embrac[ing] exponentials, and forget[ting] that the code even exists.”
Using tools like Cursor Composer powered by advanced LLMs such as Claude 3.5 Sonnet, Karpathy demonstrated building prototypes—such as his MenuGen app—almost entirely through natural language prompts, rarely reviewing or editing the generated code.
The human’s role shifted from writing syntax to describing intentions, iterating via execution feedback, and trusting the AI to handle implementation details.
Vibe coding exploded in popularity. It democratized software creation, enabling non-programmers to build functional apps in hours. Tools like Replit, Claude Code, and Cursor made it accessible, leading to a Cambrian explosion of personal projects, weekend hacks, and even startups with heavily AI-generated codebases.
By mid-2025, reports from Y Combinator indicated that 25% of new batches featured codebases that were 95% AI-produced. For rapid prototyping and low-stakes experimentation, vibe coding was revolutionary—aligning with Karpathy’s earlier prediction that “the hottest new programming language is English.”
Yet, as 2025 progressed, cracks emerged. What worked for throwaway projects faltered in production environments. AI-generated code often suffered from hallucinations, duplicated logic, security vulnerabilities (e.g., exposed API keys), poor maintainability, and brittle architectures.
Senior engineers reported “development hell” inheriting vibe-coded messes: tangled dependencies, untested edge cases, and logic that “mostly worked” until it didn’t. Critics, including Andrew Ng, argued the term misled newcomers into thinking software engineering could be reduced to vibes without rigor. Even Karpathy later admitted limitations, hand-coding a subsequent project because agents “didn’t work well enough.”
This backlash marked a pivotal shift: from vibe coding—the freewheeling, prompt-driven improvisation—to vibe engineering, a disciplined evolution that harnesses AI’s generative power while preserving engineering principles.
Defining the Transition
Vibe coding is inherently exploratory and opportunistic. The developer prompts conversationally (“Build a user login form”), accepts outputs with minimal review, and iterates based on runtime results. It’s fast, fun, and forgiving for solos or prototypes, but it abdicates accountability. As one observer noted, it prioritizes “what” (desired outcome) over “how” (robust implementation), often leading to code that’s opaque even to its creator.
Vibe engineering, a term gaining traction by late 2025 (coined in discussions by figures like Simon Willison and others), reclaims control. It retains the intuitive, natural-language interface of vibe coding but embeds it in structure:
- Intentional Architecture: Developers define high-level designs, constraints, and patterns upfront. AI agents parse existing repos, reuse components, and adhere to standards (e.g., via .cursorrules files).
- Rigorous Oversight: Every generation undergoes review, testing, and refinement. Humans orchestrate multiple agents in parallel, managing loops for QA, security scans, and performance.
- Context Management: Moving beyond vague prompts, engineers craft precise contexts—goals, examples, acceptance criteria—to guide reliable outputs. This “context engineering” addresses LLM limitations like token constraints and hallucinations.
- Human Accountability: Expertise amplifies AI, not replaces it. Seasoned engineers accelerate 10x by delegating rote tasks while owning the system’s integrity.
As one framework puts it, vibe engineering transforms developers into “conductors” of AI agents, focusing on orchestration rather than improvisation.
Why the Shift is Inevitable
By December 2025, real-world lessons have solidified this maturation:
- Production Realities Demand Durability: Vibe-coded apps shine in demos but crumble under scale, updates, or audits. Enterprises adopting tools like Google Cloud’s integrations or Replit’s enterprise features insist on review gates and compliance.
- Security and Reliability Risks: Unreviewed AI code has introduced vulnerabilities at scale, from data leaks to prompt-injection exploits. Vibe engineering mandates checks, treating AI as a powerful but fallible intern.
- Team and Legacy Code Challenges: Solo vibe coding doesn’t scale to teams or million-line codebases. Engineering practices—modularity, testing, documentation—become essential when AI touches existing systems.
- Evolving Tools Support It: Advanced agents (e.g., in Cursor or Claude) now handle context better, rewarding structured workflows. Features like agentic loops and multi-agent parallelism enable parallel problem-solving under human direction.
The Future: A Hybrid Paradigm
Vibe engineering doesn’t reject vibe coding—it refines it. Prototyping remains vibe-heavy for speed, while production shifts to engineered rigor. This hybrid empowers more creators: amateurs vibe-code MVPs, professionals engineer them into reliable products.
The role of the software engineer evolves from line-by-line author to high-level architect and AI orchestrator. Skills like systems thinking, prompt sequencing, and evaluation loops become premium. As Karpathy’s vision matures, we’re not forgetting code exists—we’re mastering how to command it conversationally, responsibly.
In the end, vibe engineering represents software development’s next era: AI-augmented, human-centered, and exponentially more capable. The vibes are still there—but now they’re engineered to last.



