Vibe Coding:
The Future of Programming
Addy Osmani — O’Reilly Early Release · 2025
The term “vibe coding” was coined by AI researcher Andrej Karpathy: the practice of describing what you want to build in natural language and letting AI generate the code. It sounds magical. And for the first 70% of any project, it genuinely is. Then comes the wall. Addy Osmani, Engineering Lead on Google Chrome, wrote this O’Reilly book to tell you what really happens beyond that wall — and what it means for every developer’s career.
The 70% Problem — Why AI Gets You Far and Then Gets Stuck
Here is the experience thousands of developers are reporting right now: You describe your app to Cursor, Bolt, v0, or Copilot. Within minutes, you have a working prototype that looks impressive. You demo it and people are amazed. Then you try to add one more feature — and the AI makes a change that breaks three things that worked before. You fix those, and two more things break. You are now going backwards.
The 70% is the accidental complexity of software — the repetitive, mechanical stuff. The 30% is the essential complexity — understanding and managing the inherent difficulty of the actual problem. AI tackles incidental complexity brilliantly. Essential complexity remains firmly on human shoulders. This insight is from Fred Brooks’ classic 1986 essay “No Silver Bullet” — and it is as true today as it was then, just with a different tool playing a different role.
“AIs don’t have ‘better ideas’ than what their training data contains. They don’t take responsibility for their work. The creative and analytical thinking — deciding what to build, how to structure it, and why — remains firmly a human domain.”
— Addy Osmani, Vibe Coding: The Future of ProgrammingWhy Vibe Coding Goes Wrong — Five Documented Traps
awesome-npm-package which was last updated in 2019 and has a critical security vulnerability, or calls sdk.newFeature() which was announced but never shipped. A developer without domain knowledge cannot catch this. A senior developer with experience in the stack spots it immediately.Three Proven Workflow Patterns with AI
Best for bootstrapping new projects. Use Bolt, v0, or screenshot-to-code tools to generate an initial working prototype from a design or brief. Expect 70% of requirements to be met. Then switch from vibe mode to engineering mode — carefully review every file, understand what was generated, rewrite anything structurally important, and add proper testing before building further.
Best for experienced developers accelerating existing work. You understand the system. You describe a specific, well-scoped task to Cursor, Cline, or Copilot. You review every line it generates against your mental model. You are the brain; it is the fast typist. This workflow has no 70% problem because you catch errors before they compound. The golden rule: never accept AI output you cannot explain.
Underused and powerful. After writing code yourself, ask the AI to review it: “What are the security vulnerabilities in this function? What edge cases have I missed? What would happen if this input were null?” The AI has seen enormous amounts of security research, bug reports, and post-mortems. Used as a code reviewer, it adds real value without the risks of blind acceptance.
What Every Developer Must Do Differently Now
The CHOP Paradigm — Chat-Oriented Programming
Steve Yegge’s term, adopted by Osmani: programming by iterative prompt refinement rather than direct typing. You chat your way to a solution. The mental model shift: you are no longer the typist; you are the product manager and the senior reviewer simultaneously. You write specifications, evaluate drafts, reject what does not meet your standards, accept and annotate what does, and build an increasingly precise language for expressing your intent to the AI. This is a learnable skill. The developers who will be most valuable in five years are the ones who have learned to do it precisely and critically — not those who accept the first output.
Vibe Coding: The Future of Programming
Addy Osmani · O’Reilly Media (Early Release 2025)Written by Addy Osmani, Engineering Lead on Google Chrome and author of the foundational Learning JavaScript Design Patterns. O’Reilly Early Release — the frontier of professional thinking on AI-assisted development, written by someone who has used these tools at the highest level of production software engineering.
The Developers Who Thrive Are Not Those Who Let AI Do Everything. They Are Those Who Know Exactly What To Give It — And What To Keep.
AI is not replacing programming. It is replacing the version of programming that was mostly mechanical. What remains — the judgement, the architecture, the context, the care — is more valuable than it has ever been. The 30% has never mattered more.
Yacine
BTS Electronics Instructor · Tangier · AI ExplorerTeaching embedded systems and IoT in Morocco. Writing about the future of code, AI tools, and what it means to be a developer in 2025 at yacine.love.