Chapter 11: Further Reading

Annotated Bibliography

1. The Pragmatic Programmer by David Thomas and Andrew Hunt (2019, 20th Anniversary Edition)

The classic guide to software craftsmanship dedicates significant attention to iterative development, the tracer bullet approach (analogous to our vertical slice technique), and prototyping as a learning tool. Chapter 2 on "A Pragmatic Approach" is especially relevant to understanding why incremental building produces better software than big-bang development. The book's emphasis on feedback loops predates AI coding assistants but maps directly onto the techniques in this chapter.

2. Thinking, Fast and Slow by Daniel Kahneman (2011)

Kahneman's work on cognitive biases explains why the rubber duck effect works. When we think about our systems, we use fast, intuitive "System 1" thinking that skips over details. When we explain our systems to another entity (AI or rubber duck), we engage slower, more deliberate "System 2" thinking that catches the gaps. This book provides the psychological foundation for why articulating your reasoning to an AI reveals flaws you would otherwise miss.

3. "Prompt Engineering Guide" by DAIR.AI (Ongoing)

This open-source resource (github.com/dair-ai/Prompt-Engineering-Guide) provides a comprehensive, regularly updated collection of prompting techniques. The sections on chain-of-thought prompting and iterative prompting complement this chapter's conversation patterns. Particularly useful for understanding the technical mechanics behind why certain follow-up prompt patterns are more effective than others.

4. Refactoring: Improving the Design of Existing Code by Martin Fowler (2018, 2nd Edition)

While focused on manual refactoring, Fowler's methodology of small, incremental improvements with constant validation directly parallels the iterative refinement approach in vibe coding. The catalog of refactoring patterns can be translated into follow-up prompt patterns --- each refactoring type (extract method, rename variable, replace conditional with polymorphism) maps to a specific kind of refinement request.

5. "The Role of Deliberate Practice in the Acquisition of Expert Performance" by K. Anders Ericsson et al. (1993)

This foundational paper on deliberate practice explains why tracking iteration metrics (Section 11.10) improves your vibe coding skill over time. Expert performance in any domain comes from structured practice with feedback --- exactly what iterative refinement provides. The paper's framework for analyzing practice quality can be applied to analyzing your vibe coding conversation quality.

6. Design Patterns: Elements of Reusable Object-Oriented Software by Gamma, Helm, Johnson, and Vlissides (1994)

The "Gang of Four" book is relevant not for its patterns per se, but for its approach to problem decomposition. The book demonstrates how complex designs emerge from composing simpler patterns --- the same principle behind incremental building. When asking an AI to implement design patterns, the iterative approach (implement the basic pattern first, then adapt it to your context) consistently produces better results than requesting the fully adapted version upfront.

7. "Large Language Models as Optimizers" by Yang et al. (2023)

This research paper explores how LLMs can iteratively optimize solutions through prompt-based feedback loops. While technically focused, it provides empirical evidence for why multi-turn conversations with AI produce higher-quality outputs than single-turn interactions. The paper's optimization framework maps directly onto the critique-modify-improve cycle.

8. A Philosophy of Software Design by John Ousterhout (2018)

Ousterhout's concept of "deep modules" (simple interfaces hiding complex implementations) provides an excellent framework for evaluating when AI-generated code is "good enough." His discussion of complexity management aligns with the progressive disclosure technique --- revealing complexity in stages rather than all at once produces cleaner designs.

9. "Constitutional AI: Harmlessness from AI Feedback" by Bai et al. (2022)

This Anthropic research paper describes how AI systems can be improved through iterative self-critique, a technique closely related to the Quality Gate follow-up pattern (Section 11.5). Understanding how AI models evaluate and refine their own outputs helps you craft more effective self-review prompts.

10. The Art of Agile Development by James Shore and Shane Warden (2021, 2nd Edition)

Agile development and iterative vibe coding share a philosophical foundation: the belief that working software emerges through cycles of building, evaluating, and adapting. The book's treatment of incremental design, continuous integration, and iterative planning provides a team-scale perspective on the individual techniques covered in this chapter. Particularly relevant are the chapters on test-driven development (which can be adapted to AI-assisted TDD) and incremental architecture.

11. "Self-Refine: Iterative Refinement with Self-Feedback" by Madaan et al. (2023)

This research paper demonstrates that LLMs can significantly improve their outputs through iterative self-refinement, where the model generates an output, critiques it, and then refines it based on its own critique. This validates the Quality Gate pattern and suggests that explicitly asking the AI to critique its own output before you provide your own feedback can accelerate the refinement cycle.

12. Debugging: The 9 Indispensable Rules for Finding Even the Most Elusive Software and Hardware Problems by David J. Agans (2002)

While ostensibly about debugging, this book provides a framework for systematic problem-solving that applies directly to steering AI when it goes off course. Rules like "Quit Thinking and Look" (examine the actual output rather than theorizing about it) and "Change One Thing at a Time" (the basis of targeted follow-up prompts) are as relevant to vibe coding refinement as they are to traditional debugging.

13. "Conversational AI: Dialogue Systems, Conversational Agents, and Chatbots" by Michael McTear (2020)

This academic text covers the foundations of conversational AI systems, including dialogue management, context tracking, and conversation flow. Understanding how AI assistants maintain and use conversation context helps explain why certain follow-up patterns are more effective than others, and why long conversations can degrade in quality as context accumulates.

14. The Mythical Man-Month by Frederick P. Brooks Jr. (1975, Anniversary Edition 1995)

Brooks's observation that "plan to throw one away; you will, anyhow" anticipates the iterative refinement philosophy. His discussion of the second-system effect (over-engineering the second version) parallels the over-engineering divergence pattern in vibe coding. The book's insights about conceptual integrity --- having a single, coherent vision for a system --- explain why the thinking-partner approach (Section 11.9) produces better architectures than piecemeal feature accumulation.