Ariver
2026-09-01 c773fcdd1f73ca6526e11bb672b8fe33e0339a77
02DS/01dril-book/Vibe Coding The Future of Programming.md
@@ -4,6 +4,7 @@
type: book
words:
  2026-08-21: 10983
  2026-08-26: 10980
---
@@ -78,7 +79,7 @@
If you have comments about how we might improve the content and/or examples in this book, or if you notice missing material within this chapter, please reach out to the editor at *sgrey@oreilly.com*.
AI-based coding tools are astonishingly good at certain tasks.^([1](#ch01.html_id47)) They excel at producing boilerplate, writing routine functions, and getting projects *most of the way* to completion. In fact, many developers find that an AI assistant can implement an initial solution that covers roughly 70% of the requirements​.
AI-based coding tools are astonishingly good at certain tasks.^([1](.html_id47)) They excel at producing boilerplate, writing routine functions, and getting projects *most of the way* to completion. In fact, many developers find that an AI assistant can implement an initial solution that covers roughly 70% of the requirements​.
A [tweet](https://x.com/petergyang/status/1863058206752379255) from Peter Yang perfectly captures what I’ve been observing in the field:
@@ -140,7 +141,7 @@
## Two Steps Back
What typically happens next follows a predictable pattern I call the “two steps back” pattern (shown in [Figure 1-1](#ch01.html_ch03_figure_1_1744816025642764)):
What typically happens next follows a predictable pattern I call the “two steps back” pattern (shown in [Figure 1-1](.html_ch03_figure_1_1744816025642764)):
- You try to fix a small bug.
@@ -300,7 +301,7 @@
By adhering to these golden rules, your team can harness AI effectively, enhancing productivity while maintaining clarity, quality, and control.
^([1](#ch01.html_id47-marker)) This chapter is based on an essay originally published on my Substack newsletter, *Elevate with Addy Osmani*, “[The 70% Problem: Hard Truths about AI-Assisted Coding](https://addyo.substack.com/p/the-70-problem-hard-truths-about),” December 4, 2024.
^([1](.html_id47-marker)) This chapter is based on an essay originally published on my Substack newsletter, *Elevate with Addy Osmani*, “[The 70% Problem: Hard Truths about AI-Assisted Coding](https://addyo.substack.com/p/the-70-problem-hard-truths-about),” December 4, 2024.
# Chapter 2. Beyond the 70%: Maximizing Human Contribution
@@ -312,7 +313,7 @@
If you have comments about how we might improve the content and/or examples in this book, or if you notice missing material within this chapter, please reach out to the editor at *sgrey@oreilly.com*.
You’ve seen how AI coding assistants like Cursor, Cline, Copilot and WindSurf have transformed how software is built, shouldering much of the grunt work and boilerplate–about 70%.^([1](#ch02.html_id49)) But what about that last “30%” of the job that separates a toy solution from a production-ready system? This gap includes the hard parts: understanding complex requirements, architecting maintainable systems, handling edge cases, and ensuring code correctness. In other words, while AI can generate *code*, it often struggles with *engineering*.
You’ve seen how AI coding assistants like Cursor, Cline, Copilot and WindSurf have transformed how software is built, shouldering much of the grunt work and boilerplate–about 70%.^([1](-.html_id49)) But what about that last “30%” of the job that separates a toy solution from a production-ready system? This gap includes the hard parts: understanding complex requirements, architecting maintainable systems, handling edge cases, and ensuring code correctness. In other words, while AI can generate *code*, it often struggles with *engineering*.
Tim O’Reilly, reflecting on decades of technology shifts, [reminds us](https://www.oreilly.com/radar/the-end-of-programming-as-we-know-it/) that each leap in automation has changed *how* we program but not *why* we need skilled programmers​. We’re not facing the end of programming, but rather “the end of programming as we know it today,” meaning developers’ roles are evolving, not evaporating​.
@@ -434,7 +435,7 @@
Software projects are not just isolated coding tasks; they exist within a larger context of user needs, timelines, legacy code, and team processes. AI has no innate sense of the big picture, like your project’s history or the rationale behind certain decisions (unless you explicitly feed all that into the prompt, which is often impractical). Humans need to carry that context.
The durable skill here is systems thinking – understanding how a change in one part of the system might impact another, how the software serves the business objectives, and how all the moving pieces connect.^([2](#ch02.html_id50)) This holistic perspective lets you use AI outputs appropriately. For example, if an AI suggests a clever shortcut that contradicts a regulatory requirement or company convention, you’ll catch it because you know the context. Make it a point to learn the background of your projects and read design docs, so you can develop your judgment about what fits and what doesn’t.
The durable skill here is systems thinking – understanding how a change in one part of the system might impact another, how the software serves the business objectives, and how all the moving pieces connect.^([2](-.html_id50)) This holistic perspective lets you use AI outputs appropriately. For example, if an AI suggests a clever shortcut that contradicts a regulatory requirement or company convention, you’ll catch it because you know the context. Make it a point to learn the background of your projects and read design docs, so you can develop your judgment about what fits and what doesn’t.
## Be Adaptable–and Never Stop Learning
@@ -600,7 +601,7 @@
Building software is a team sport. AI doesn’t attend meetings (thank goodness) – humans still must talk to other humans to clarify requirements, discuss trade-offs, and coordinate work. Strong communication skills are as valuable as ever. Practice asking good questions and describing problems clearly (both to colleagues and to AI).
Interestingly, prompting an AI is itself a form of communication; it requires you to precisely express what you want. This overlaps with a core engineering skill: *requirements analysis*.^([3](#ch02.html_id51)) If you can formulate a clear prompt or spec, it means you’ve thought through the problem.
Interestingly, prompting an AI is itself a form of communication; it requires you to precisely express what you want. This overlaps with a core engineering skill: *requirements analysis*.^([3](-.html_id51)) If you can formulate a clear prompt or spec, it means you’ve thought through the problem.
Additionally, sharing knowledge, writing documentation, and reviewing others’ code are collaborative skills that AI cannot replace. In the future, as developers work “with” AI, the human-to-human collaboration in a team – making sure the right problems are being solved – stays vital. One emerging trend is that developers may focus more on high-level design discussions (often with AI as a participant) and on coordinating tasks, essentially taking on more of a conductor role​. Communication and leadership skills will serve you well in that conductor’s seat.
@@ -650,11 +651,11 @@
In the end, great software engineering has always been about problem-solving, not just code-slinging. AI doesn’t change that: it simply challenges us to elevate our problem-solving to the next level. Embrace that challenge, and you’ll thrive in this new chapter of our industry.
^([1](#ch02.html_id49-marker)) This chapter is based on two essays I first published on my Substack newsletter, *Elevate with Addy Osmani*: “[Beyond the 70%: Maximizing the Human 30% of AI-Assisted Coding](https://addyo.substack.com/p/beyond-the-70-maximizing-the-human),” first published March 13, 2025, and “[Future-Proofing Your Software Engineering Career](https://addyo.substack.com/p/future-proofing-your-software-engineering),” first published December 23, 2024.
^([1](-.html_id49-marker)) This chapter is based on two essays I first published on my Substack newsletter, *Elevate with Addy Osmani*: “[Beyond the 70%: Maximizing the Human 30% of AI-Assisted Coding](https://addyo.substack.com/p/beyond-the-70-maximizing-the-human),” first published March 13, 2025, and “[Future-Proofing Your Software Engineering Career](https://addyo.substack.com/p/future-proofing-your-software-engineering),” first published December 23, 2024.
^([2](#ch02.html_id50-marker)) To learn more about systems thinking, check out *Thinking in Systems: A Primer*, 2nd edition, by Donella H. Meadows (Rizzoli, 2008), and *The Fifth Discipline: The Art and Practice of the Learning Organization* by Peter M. Senge (Crown, 2010).
^([2](-.html_id50-marker)) To learn more about systems thinking, check out *Thinking in Systems: A Primer*, 2nd edition, by Donella H. Meadows (Rizzoli, 2008), and *The Fifth Discipline: The Art and Practice of the Learning Organization* by Peter M. Senge (Crown, 2010).
^([3](#ch02.html_id51-marker)) For more on this topic, see *Fundamentals of Software Architecture*, 2nd edition, by Mark Richards and Neal Ford (O’Reilly, 2025) and *Head First Software Architecture*, by Mark Richards, Neal Ford, and Raju Gandhi (O’Reilly, 2024).
^([3](-.html_id51-marker)) For more on this topic, see *Fundamentals of Software Architecture*, 2nd edition, by Mark Richards and Neal Ford (O’Reilly, 2025) and *Head First Software Architecture*, by Mark Richards, Neal Ford, and Raju Gandhi (O’Reilly, 2024).
# About the Author