The Pragmatic Engineer — selected conversations
TDD, AI agents and coding with Kent Beck
Eighteen curated conversations on agent workflows, design, harnesses, and software quality
A manually reviewed selection of Pragmatic Engineer conversations with Maggie Appleton, Matt Pocock, Tibo Sottiaux, Martin Fowler, Dex Horthy, Boris Cherny, Mario Zechner and Armin Ronacher, Laura Tacho, Hillel Wayne, Mitchell Hashimoto, Kent Beck, Peter Steinberger, Grady Booch, Steve Yegge, DHH, Dax Raad, Charity Majors, and Addy Osmani. Topics include design prototyping, reusable skills, agent workflows, context and harness design, TDD and verification, architecture, measurement, accountability, and open-source governance. Practitioner observations, product-team claims, and forecasts are not controlled findings.
In this collection Browse 18 summaries 11 of 18
Gergely Orosz, host of The Pragmatic Engineer podcast, interviews Kent Beck, creator of Extreme Programming, Agile Manifesto co-author, and TDD pioneer. Beck treats coding agents as unpredictable genies: useful for ambitious experiments, but dependent on protected expectations, maintainable structure, and feedback matched to the system's actual risks 00:00–01:50(opens in a new tab), 49:33–53:49(opens in a new tab).
Key Points Covered
- Agents do not reliably “do what you mean”: Beck reports useful surprises, but also assumptions, broken tests, and implementations that satisfy examples without the intended behavior 05:51–11:08(opens in a new tab).
- Structure becomes more valuable than syntax: As agents absorb routine language details, Beck puts more weight on vision, milestones, and controlling complexity 12:10–16:14(opens in a new tab).
- Test-driven development includes design decisions: TDD starts with a test for desired behavior. Beck emphasizes the choices around that cycle: before writing the test, he chooses the interface; once it passes, he considers future cases and whether the code needs restructuring 42:27–45:26(opens in a new tab).
- Learning determines the size of the step: He favors deferred commitments when requirements may change, while acknowledging less test-first value when the path is predictable 46:25–49:33(opens in a new tab).
- Protect expected behavior from agent edits: Tests communicate missed requirements, but Beck wants expectations marked immutable because an agent may remove or change a failure 49:33–51:42(opens in a new tab).
- Fast tests constrain distant breakage: His suite runs in roughly 300 milliseconds and catches unrelated disruption; agents do not reliably improve coupling or cohesion without direction 51:42–52:46(opens in a new tab).
- Verification is system-specific: Facebook's ownership, staged rollouts, observability, and feature flags caught failures local tests did not, but Orosz notes that few systems share that risk profile and scale 55:36–1:02:56(opens in a new tab).
- Reward discarded experiments: Cheap generation should support many completed experiments and deletion of most, rather than turning every artifact into maintained code 1:13:11–1:14:16(opens in a new tab).
Full video: https://www.youtube.com/watch?v=aSXaxOdVtAQ(opens in a new tab)