
We explore how test-driven development (TDD) remains essential—perhaps more than ever—when working with AI coding tools. Luca shares his evolved workflow using Claude Code, breaking down how he structures tests in three phases: test ideas, test outlines, and test implementations. We discuss why TDD provides the necessary control and confidence when AI generates code, how it prevents technical debt accumulation, and why tests serve as precise specifications for AI rather than afterthoughts. The conversation covers practical challenges like AI's tendency toward "success theater" (overly generous assertions), the importance of maintaining tight control over code quality, and why the bottleneck in AI-assisted development isn't code generation—it's expressing clear intent. We also touch on code spikes, large-scale refactorings, and why treating AI development as pair programming keeps you in the driver's seat. If you're wondering whether TDD still matters when AI writes your code, this episode makes a compelling case that it matters more than ever. Key Topics [02:30] Why TDD still matters with AI: confidence and control over generated code [06:45] Tests as specifications: describing desired behavior to AI rather than writing prompts [09:20] The three-phase test workflow: test ideas, test outlines, and implementations [15:30] Pair programming with AI: staying at the conceptual level while AI handles implementation [20:15] Code spikes and exploration: using AI to answer questions before writing production tests [24:40] AI failure modes: over-mocking and "success theater" with weak assertions [28:50] Large-scale refactorings: how AI excels at updating hundreds of tests simultaneously [32:10] The real bottleneck: expressing intent and specifications, not code generation speed Notable Quotes "As far as I am concerned, test-driven development is just about writing prompts for the AI that it can then use to build what you want it to build." — Luca "If you expect that a five-line prompt resulting in 10,000 lines of code will not result in 9,995 lines of uncertainty, you're just deluding yourself." — Luca "You can be five times faster than you were before and still maintain a very high production level quality code, but you probably can't be a hundred times faster." — Jeff Resources Mentioned Claude Code - Terminal-based AI coding assistant that Luca uses for TDD workflows, keeping conceptual work separate from code-level work Embedded AI Podcast - Luca's separate podcast focusing on AI in embedded systems, co-hosted with Ryan Torvik Luca's AI Training Courses - Hands-on trainings for using AI in embedded systems development (and much more!) links to all of Luca's work - Training, consulting, podcasts, conference talks and everything else You can find Jeff at https://jeffgable.com.You can find Luca at https://luca.engineer.Want to join the agile Embedded Slack? Click hereAre you looking for embedded-focused trainings? Head to https://agileembedded.academy/Ryan Torvik and Luca have started the Embedded AI podcast, check it out at https://embeddedaipodcast.com/
Podzilla Summary coming soon
Sign up to get notified when the full AI-powered summary is ready.
Free forever for up to 3 podcasts. No credit card required.

Fuzzing and Dynamic Analysis for High-Integrity Software with Paul Butcher

Linux Profiling with Mohammed Billoo

E94 Requirements Engineering, part 1: Fundamentals

Hardware-Software Co-Development with Tobias Kästner
Free AI-powered recaps of The Agile Embedded Podcast and your other favorite podcasts, delivered to your inbox.
Free forever for up to 3 podcasts. No credit card required.