Code with Jason

265 - Software Design with Paul Hammond

Sep 7, 2025
In this discussion, Paul Hammond, a passionate software developer and speaker, shares insights on effective testing strategies and the joy of working with well-designed TDD systems. He emphasizes the importance of synchronous collaboration for improving code quality and advocates for technical excellence that enables fearless releases. The conversation also critiques data-driven decision-making in software, promoting direct user interaction for more profound insights. Additionally, they explore integrating diverse stakeholders into development teams to enhance overall alignment.
Ask episode
AI Snips
Chapters
Books
Transcript
Episode notes
INSIGHT

Cucumber's Promise vs Reality

  • Cucumber's original idea was promising but its real-world use often fails to deliver the intended benefits.
  • Paul Hammond argues there are significantly better ways to capture business requirements and write tests.
INSIGHT

Define Units By Behavior

  • Treat a unit as a unit of behavior, not a block of code, to avoid brittle tests tied to implementation.
  • Test only the collaborators needed to validate behavior so tests support refactoring and change.
ANECDOTE

BBC Pairing Lightbulb Moment

  • Paul described pairing at the BBC where TDD felt revelatory: fast tests on one screen and refactoring on the other.
  • The immediate feedback made refactoring pleasurable and dramatically improved readability.
Get the Snipd Podcast app to discover more snips from this episode
Get the app