Review: Vibe Coding by Gene Kim and Steve Yegge
(Post theme: Be Better by Where’s Jai?)
TL;DR: Vibe Coding is a sprawling, sometimes exasperating, but ultimately worthwhile look at how to work with AI assistants in real codebases. Itâs at least twice as long as it needs to be, the kitchen metaphor goes on for far too long, and the authors are not exactly âregularâ engineers, but when you strip away the fluff thereâs a lot of solid, experienceâshaped advice about testing, version control, and how to keep agents from quietly wrecking your code. Iâd recommend it if you have time and like long, opinionated books; if youâre trying to optimise for density, you can get most of the value from shorter material plus your own experiments.
I went into Vibe Coding (subtitle: Building Production-Grade Software with GenAI, Chat, Agents, and Beyond) expecting it to feel dated before it even properly hit print. It turns out that, for a book about GenAI and agents in 2025, itâs surprisingly not.
Gene Kim and Steve Yegge are not exactly obscure figures, and that colours the whole thing. You can feel the long histories (Amazon, Google, DevOps world, etc.), and you can also feel that they are not your typical âhereâs my Python sideâproject, let me tell you about AIâ authors â theyâre writing in Kotlin and Scala of all things, they use slightly odd analogies, and they are clearly having fun. It does not read like a quick money grab or personalâbrand brochure; it reads like two famous engineers who got obsessed with a topic and then wrote down far too much about it.
I liked it. I also think it would be a much better book if it were roughly half as long.
What the book is actually about
The core pitch is that âvibe codingâ is what happens when you shift from typing code to having a flowing conversation with an AI assistant, with intent and feedback loops doing the heavy lifting. They explicitly distinguish this from the usual âprompt engineeringâ narrative:
âVibe coding is about dynamic, inâtheâmoment problem-solving rather than creating a bulletproof prompt⌠Itâs like texting with friends. Casual and impromptu. In contrast, prompt engineering is more like emailing a lawyer who is suing youâeverything in that email is fraught with consequence.â
That distinction captures one of the better insights in the book: the way you work with AI dayâtoâday is much more conversational and disposable than most âprompt engineering courseâ material pretends.
They also give their value proposition a name: FAAFO â âfast, ambitious, autonomous, fun, and optionality.â I strongly suspect that the backronym came after the pun, because I only realised at the very end of the book that âFAAFOâ is a reference to a different meaning, and Iâm fairly sure one of the authors has been waiting years to put that into a book.
Usefully, they are also clear about whatâs not in FAAFO:
âBy the way, you may have noticed that there is no âBâ in FAAFO. Vibe coding does not automatically make your code better. That is your responsibility.â
This theme runs throughout: AI will happily help you ship horrors faster, unless you bring real engineering discipline to the party.
The kitchen, the sousâchef, and the haunted codebase
The book leans hard on a kitchen metaphor: youâre the head chef, the AI is your sousâchef, and your codebase is the kitchen. This works well at first, then drags on, and by Part 4 I was ready to buy everyone their own colourâcoded chopping board just to make the analogy stop.
The âdark sideâ chapter is one of the more compelling parts. They recount, for example:
ââŚthe coding agent had silently disabled or hacked the tests to make them work and had outright deleted 80% of the test cases in one large suite.â
This will ring horribly true for anyone who has let an agent loose on a real codebase. They do a good job of cataloguing these failure modes: haunted codebases, cardboard muffins (things that pass tests but are hollow inside), and rewardâhacking agents that just want to check boxes.
That leads to a set of âhead chefâ disciplines which are, essentially, âhow to be a responsible adult around AIâ:
- âDelegate thoughtfullyâ to wellâdefined, verifiable tasks.
- âSupervise appropriatelyâ when novelty, complexity, or impact are high.
- âEstablish guardrailsâ about what AI may and may not touch.
- âCheck work regularlyâ and âtrust but verify relentlessly.â
One of my favourite lists is in a section about agents hijacking reward functions:
âCount your babies systematically⌠Check for cardboard muffins⌠Demand excellence explicitly⌠Clean as you go⌠Trust but verify relentlessly⌠Remember the AI paradoxâŚâ
Yes, itâs slightly overâwritten (pot, meet kettle), but the message is right: if you donât inspect what you expect, AI will optimise for the wrong thing and look very pleased with itself while doing it.
Tests, version control, and all the things you already know you should be doing
A lot of the concrete advice is âgood software engineering practice, but with more exclamation marks because of AI.â
On version control:
âVersion control has always been critical, but with AI, it becomes life-or-death for your code.â
On tests:
âYouâll be well-served to have automated testing running all the time on your developer machine, triggered by every file change.â
âThere is another powerful and surprising benefit that you get by writing and running tests. If your AI assistant has trouble creating test cases (or keeping them passing), thatâs a sure-fire sign your code is missing some modularity, and perhaps clarity too.â
They also explicitly tell you that after AI writes tests, you still have to:
âEyeball the tests⌠Run the tests yourself⌠Review and critique⌠Have AI run its own tests⌠But donât blindly commit.â
None of this is revolutionary, but itâs an accurate reflection of what it feels like to build things with agents right now. When generation is cheap and fast, tests become the thing that anchors you to reality.
They even make the point that this is very similar to how we treat openâsource dependencies:
âWe rarely examine every line of code in those either⌠we build trust with them through testing.â
Again: not new, but good to have written down in an AI context.
Inner, middle, outer loops (and AGENTS.md)
The structure of the second half of the book is organised around âinnerâ, âmiddleâ, and âouterâ developer loops â essentially: your local dev workflow, your interactions with repos and CI, and then teamâ and organisationâlevel patterns.
The inner loop chapter has a lot of practical, chatâandâeditorâlevel advice: continuous tests, small endâtoâend âtracer bulletâ tasks, and using AI as an extremely talkative rubber duck:
âEmbrace your AI as your most attentive (and talkative) rubber duckâŚâ
The middle loop introduces AGENTS.md â a kind of CONTRIBUTING.md for your AI collaborators, describing how to work on the project, what tools exist, coding style, and so on. A nice observation not from the book, but from Jason Nucciarone, is that this is what CONTRIBUTING.md probably should have been in the first place.
I like the idea of formalising âinstructions for the machinesâ in a firstâclass document, but, just like with humans, the truly effective version is âput the rules into linters and tests.â If you keep seeing the same issues in AIâauthored code, the best fix is to encode the constraint into preâcommit or CI and let the bots learn from failing checks.
The outer loop chapter gets into CI/CD and organisational process. Some of this is standard âinvest in CI/CDâ advice, but with an AI twist:
âBecause AI excels at reviewing, analyzing, and critiquing code, itâs able to transform the CI/CD pipeline itself, moving beyond simple pass/fail checks.â
and:
âPush to Remote Often.â
Thereâs also a lot about having agents challenge additions, constrain changes by line count, and forbid new libraries without explicit approval:
âChallenge your AI to justify additions⌠constrain AI to solve the problem within a certain line count⌠Instruct your AI to avoid pulling in new libraries or frameworks without your explicit approval.â
Again, this is all solid, but if youâve been living in âchoose boring technologyâ and âpreâcommit all the thingsâ land, itâll mostly feel like reinforcement rather than revelation.
Culture, metrics, and things that irritated me
The culture chapter is where some of my disagreements and pet peeves really kicked in.
First, the structure. The book uses the very common pattern where:
- The book tells you what the book will tell you.
- The section tells you what the section will tell you.
- The chapter tells you what the chapter will tell you.
- You finally get the content.
- Then the chapter tells you what it told you.
- Then the section recaps.
- Then the book recaps.
If you stripped out all of this scaffolding, I think you could cut the length by about half without losing any real content. It reminds me of old broadcast TV, where shows had to regularly repeat and recap because you couldnât assume people had watched from the start, or in order. In 2026, in a book, with readers who absolutely can start at the beginning, itâs just fluff.
Second, there are places where the âmove fastâ narrative brushes up against sustainability and ethics in ways that I found uncomfortable. For example, I really dislike arguments that implicitly encourage maximising token spend âto be first on a dashboard.â This encourages waste, and there are very real environmental costs here; as useful as these tools are, we donât need to burn extra compute just to climb a leaderboard.
There are also economic assumptions that I think will grate for readers. Spending thousands per year on AI tools is presented fairly casually in places; thatâs realistic for some senior people at certain companies, but not remotely universal. Similarly, some of the discussion about who captures the productivity gains of AIâassisted work left me with more questions than answers: âDoes the employee not get to capture some gain? Is capitalism always best?â
On metrics, we get the inevitable nod to lines of code as a thing people still talk about in 2025:
âAh, yes, lines of code, the metric everyone associates with both quality and productivity âŚâ
The authors are not endorsing LoC as a great metric, but the fact that it still shows up at all is a reminder that the industry is fully capable of misâmeasuring AIâassisted work the same way it misâmeasured manual work.
And then there are simply wrong bits. For example, thereâs a PMârelated claim where, as an exâPM, I can confidently say: no. There are also a few analogies (including one kitchenârelated) that are just bad: âBuy dedicated boards, even in home kitchens.â
Where the book has aged already
Because this is a fastâmoving space, some of the concrete details have already shifted. For example, the book talks about juggling multiple agents yourself, where in practice many tools now do that under the hood â you interact with âoneâ Claude Code or GitHub Copilot, and it spins up extra agents as needed. In dayâtoâday use, you just behave as if thereâs one assistant that is decent at multiâtasking.
Some toolâspecific mentions (like Anthropicâs Model Context Protocol, MCP) are already more widespread than they were at the time of writing, but that actually makes those sections feel more relevant rather than less.
Overall, I was expecting a strong âoh, that was the 2024â2025 momentâ vibe and instead found that most of the advice is still applicable in 2026 â which is a pleasant surprise.
So, should you read it?
If you are extremely early in your AIâassisted coding journey, Vibe Coding will probably feel like a firehose of patterns, anecdotes, and âplease donât blow your foot offâ advice. If youâve been working with agents for a while, as I have, youâll find a lot that matches experience, some memorable phrases, and a few genuinely useful conceptual handles â but not many brandânew lessons.
For me, the signalâtoânoise ratio was about 50%. The good 50% is very good: concrete stories about real failures, solid checklists for delegating to agents, and a clear articulation of how inner/middle/outer loops change when you add AI. The other 50% is structure, repetition, overâextended metaphors, and a general âthis could have been a much tighter bookâ feeling.
Iâd recommend it if:
- You have spare reading time and donât mind wading through some fluff to get to the good bits.
- You prefer to learn from longâform narratives and war stories rather than scattered blog posts and conference talks.
- You want something opinionated rather than a neutral survey of tools.
If youâre short on time, you can get most of the value from a combination of good blog posts, talks, and your own experiments. But if you do have the time, and youâre interested in what two very opinionated, nonâtypical engineers have to say about vibe coding, itâs an enjoyable â if occasionally exasperating â read.