The Pragmatic Engineer: Beyond Vibe Coding with Addy Osmani
Date: October 29, 2025
Host: Gergely Orosz
Guest: Addy Osmani (Chrome team, Google; Author: "Beyond Vibe Coding")
Episode Overview
In this episode, Gergely Orosz sits down with Addy Osmani—veteran Chrome engineer and author of "Beyond Vibe Coding"—to discuss the evolving landscape of software engineering with AI tools. The conversation focuses on the difference between "Vibe coding" (rapid prototyping with AI) and robust, AI-assisted engineering. They explore the critical role of human oversight, the new workflows enabled by AI, how experienced engineers adapt, and cautionary advice for teams and individuals integrating AI into their daily work. A must-listen for software professionals navigating the AI revolution.
Key Discussion Points & Insights
Defining Vibe Coding vs. AI-Assisted Engineering
-
Vibe Coding:
-
Coding driven by high-level prompting and rapidly accepting AI suggestions, often ignoring deeper code review.
-
Ideal for quick prototyping, MVPs, and learning—not for production code.
-
Risks include lack of context, maintainability, and institutional knowledge.
"Vibe coding is really about fully giving into the creative flow within AI... it's about accepting AI suggestions without necessarily having a deep review and focusing on rapid, iterative experimentation."
— Addy Osmani [02:29]
-
-
AI-Assisted Engineering:
-
AI is a collaborator throughout the software development lifecycle, but engineers remain in control—responsible for architecture, decisions, code review, and quality.
-
Requires deep understanding, intentional use, and human accountability.
"...AI is this powerful collaborator, but it's not a replacement for engineering principles. ...The human engineer remains firmly in control."
— Addy Osmani [02:29]
-
Addy’s Workflow with AI Tools
-
Leans toward spec-driven development: clear plans, specifications, and expectations before coding.
-
Uses Vibe coding for quick personal projects or sharing prototype visions, but emphasizes that it’s not for production.
-
Stresses the importance of tests as a “de-risking” mechanism when using LLMs.
-
Advocates tools that enhance context for LLMs (e.g., Chrome DevTools MCP, which gives LLMs "eyes" on the actual UI).
"Spec driven development has been a big thing. ...if you can prove that things are working with tests... that can help you keep your project green the whole time."
— Addy Osmani [08:36]
Mastering Prompt and Context Engineering
-
“Prompt engineering” and “context engineering” are now essential skills.
-
Including all relevant context (internal discussions, bug histories, team knowledge) boosts LLM effectiveness.
-
Human oversight is critical: LLM outputs must always be critically reviewed.
"The importance of mastering understanding, like what is prompt engineering... And then context engineering more recently... optimizing the context window to increase the chances that those outcomes are higher quality."
— Addy Osmani [13:22]
The “70% Problem” of LLM Coding
-
LLMs can quickly create ~70% of a working app, but struggle with the last mile—final 30% (edge cases, polish, integrations, production readiness).
-
Junior engineers often get stuck repeatedly prompting; seniors can navigate, debug, and finish the last 30% effectively.
-
Real-world dangers: hidden vulnerabilities, poor maintainability, security risks.
"The 70% problem... LLMs can produce very roughly, like 70% of a working application very quickly, but they tend to struggle with that last 30%."
— Addy Osmani [22:38]
Evolving Team Workflows & New Patterns
-
AI isn’t a crutch:
Continuous critical thinking and understanding systems is non-negotiable. -
Managing Agent Teams:
Engineers may soon orchestrate multiple AIs (background agents) across tasks. Senior engineers’ management and mentorship skills become even more crucial."I think that there's a lot to be said about how developer education in teams may also evolve for this moment."
— Addy Osmani [46:15] -
Vibe Designing:
Designers increasingly use AI tools (e.g., Cursor) to turn designs directly into interactive prototypes, blurring lines between design and engineering ([41:12]).
Best Practices for Engineers and Teams
-
Never “one-shot” projects:
Decompose tasks, set small verifiable goals. -
Maintain timeless engineering practices:
Modular, testable code, enforced code review, explicit input/output constraints. -
Stay hands-on and keep learning:
Experiment, share findings within your team, and maintain a growth mindset."Being a lifelong learner and being very open to trying out new things, failing, building up those skills, I think that that remains very, very important."
— Addy Osmani [56:30]
Leadership, Learning, and Team Culture
-
Lead by example: Engage with new tools, share insights, and build a learning culture.
-
Use AI as a learning tool, especially for onboarding.
-
Weekly team updates and internal newsletters help teams sift through rapid industry changes.
"I got an internal newsletter. I write it every Monday. ...What are the things that I think are important for our team to actually pay attention to?"
— Addy Osmani [58:07]
Notable Quotes & Memorable Moments
-
On critical thinking:
"It's going to continue to be very important for us to be able to think through how things work, be able to problem solve without necessarily relying on the AI. Testing and retesting. Your critical thinking skills are going to be important."
— Addy Osmani [00:29] -
On production readiness:
"A Vibe coded proof of concept ...is fine for MVP for that prototyping phase, but it likely needs to be rewritten with production quality in mind."
— Addy Osmani [24:31] -
On education and mentorship:
"I think we're going to see perhaps even situations of trio programming where it's a junior, senior and the AI."
— Addy Osmani [46:15]
Timestamps for Key Segments
- Vibe coding vs AI-assisted engineering: [02:29]
- Addy’s workflow with LLMs and spec-driven development: [06:14], [08:36]
- Prompt/context engineering and team patterns at Google: [13:22]
- The 70% problem with LLM-generated code: [22:38]
- Critical thinking and review, not just prompting: [20:13], [25:14]
- Parallel agents and the future of developer workflows: [21:14], [38:11]
- New design/engineering workflows emerging: [41:12], [42:00]
- Code review pitfalls and maintaining diligence: [49:38], [54:00]
- Onboarding and AI as a learning tool: [54:35], [55:12]
- The evolving definition of a standout engineer: [56:30]
- Building a culture of shared learning: [58:07]
- Advice for enterprise teams "waiting" on official AI tools: [61:48]
Rapid Fire Round (Favorite Tools & Recommendations) [63:46]
Favorite language:
- JavaScript, “because it enables anybody on the planet to build and ship something to the web... it's very open and liberating.”
— Addy Osmani [64:04]
Favorite tool:
- Bolt New – a Vibe coding scaffolding tool that outputs high quality apps and supports custom agents.
— [64:48]
Recommended books:
- The Software Engineer’s Guidebook (by Gergely Orosz)
- AI Engineering by Chip Huyen – “very, very thorough, well reviewed.”
— [66:08]
Core Takeaways
- AI tools are transformative, but human expertise, critical thinking, and responsibility remain central to professional software engineering.
- Vibe coding accelerates prototyping but is not a substitute for robust engineering practices.
- Intentional leadership, a culture of continuous learning, and clear boundaries between prototype and production are more important than ever.
- Embrace AI as a collaborator, but never abdicate oversight or understanding.
