Remote work, AI, and the Future of Software Engineering

Dave Farley · February 20, 2025

How does human connection shape the way we build software?

In this episode of the Distributed podcast, host Jack Hannah talks with Dave Farley, renowned software engineer, author, and expert in modern software development. Dave shares insights from his 40-year career, covering everything from extreme programming to the role of AI in software engineering. He explains why pair programming is one of the most underrated practices and how fostering trust in remote teams leads to better collaboration and creativity.

Dave also explores the trade-offs of remote and hybrid work, the importance of high-quality engineering practices, and why continuous delivery remains essential for building world-class software.

Highlights:

  • Why software development is a team game and not a solo endeavor
  • How pair programming boosts productivity and code quality
  • Lessons from ThoughtWorks on scaling extreme programming with large teams
  • The evolving impact of AI on software engineering
  • How remote teams can not only build trust but maintain it

In this episode, we cover:

  • (00:00) – Kicking Things Off with Dave Farley
  • (05:00) – Dave’s Journey: From Early Computers to High-Frequency Trading
  • (10:00) – ThoughtWorks and Scaling Extreme Programming
  • (15:00) – Building Trust in Remote Teams Through Connection
  • (20:00) – Why Pair Programming Improves Speed and Quality
  • (25:00) – Debunking Myths About Pairing and Productivity
  • (30:00) – AI and the Future of Software Engineering
  • (35:00) – Test-Driven Development as the Future of Coding
  • (40:00) – The Challenges of Onboarding in Remote Teams
  • (44:00) – Trade-offs of Remote Work and In-Person Time

Where to connect further: