AI's Impact on Software Engineering with Martin Fowler
Explore how AI will transform software engineering through insights from Martin Fowler, a leading tech industry expert. π€

The Pragmatic Engineer
190.4K views β’ Nov 19, 2025

About this video
Martin Fowler is one of the most influential people within software architecture, and the broader tech industry. He is the Chief Scientist at Thoughtworks and the author of Refactoring and Patterns of Enterprise Application Architecture, and several other books. He has spent decades shaping how engineers think about design, architecture, and process, and regularly publishes on his blog, MartinFowler.com.
In this episode, we discuss how AI is changing software development: the shift from deterministic to non-deterministic coding; where generative models help with legacy code; and the narrow but useful cases for vibe coding. Martin explains why LLM output must be tested rigorously, why refactoring is more important than ever, and how combining AI tools with deterministic techniques may be what engineering teams need.
We also revisit the origins of the Agile Manifesto and talk about why, despite rapid changes in tooling and workflows, the skills that make a great engineer remain largely unchanged.
β
*Brought to you by:*
β’β Statsig β β β The unified platform for flags, analytics, experiments, and more http://statsig.com/pragmatic
β’β Linear β β β The system for modern product development https://linear.app/pragmatic?utm_source=gergely&utm_medium=newsletter&utm_campaign=pragmatic-engineer
β
*The Pragmatic Engineer deepdives relevant for this episode:*
β’ Vibe coding as a software engineer https://newsletter.pragmaticengineer.com/p/vibe-coding-as-a-software-engineer
β’ The AI Engineering stack https://newsletter.pragmaticengineer.com/p/the-ai-engineering-stack
β’ AI Engineering in the real world https://newsletter.pragmaticengineer.com/p/ai-engineering-in-the-real-world
β’ What changed in 50 years of computing https://newsletter.pragmaticengineer.com/p/what-changed-in-50-years-of-computing?utm_source=publication-search
β
*Where to find Martin Fowler:*
β’ X: https://x.com/martinfowler
β’ LinkedIn: https://www.linkedin.com/in/martin-fowler-com
β’ Website: https://martinfowler.com
β
*In this episode, we cover:*
(00:00) Intro
(01:50) How Martin got into software engineering
(07:48) Joining Thoughtworks
(10:07) The Thoughtworks Technology Radar
(16:45) From Assembly to high-level languages
(25:08) Non-determinism
(33:38) Vibe coding
(39:22) StackOverflow vs. coding with AI
(43:25) Importance of testing with LLMs
(50:45) LLMs for enterprise software
(56:38) Why Martin wrote Refactoring
(1:02:15) Why refactoring is so relevant today
(1:06:10) Using LLMs with deterministic tools
(1:07:36) Patterns of Enterprise Application Architecture
(1:18:26) The Agile Manifesto
(1:28:35) How Martin learns about AI
(1:34:58) Advice for junior engineers
(1:37:44) The state of the tech industry today
(1:42:40) Rapid fire round
β
See the transcript and other references from the episode at https://newsletter.pragmaticengineer.com/podcast
β
Production and marketing by https://penname.co/.
In this episode, we discuss how AI is changing software development: the shift from deterministic to non-deterministic coding; where generative models help with legacy code; and the narrow but useful cases for vibe coding. Martin explains why LLM output must be tested rigorously, why refactoring is more important than ever, and how combining AI tools with deterministic techniques may be what engineering teams need.
We also revisit the origins of the Agile Manifesto and talk about why, despite rapid changes in tooling and workflows, the skills that make a great engineer remain largely unchanged.
β
*Brought to you by:*
β’β Statsig β β β The unified platform for flags, analytics, experiments, and more http://statsig.com/pragmatic
β’β Linear β β β The system for modern product development https://linear.app/pragmatic?utm_source=gergely&utm_medium=newsletter&utm_campaign=pragmatic-engineer
β
*The Pragmatic Engineer deepdives relevant for this episode:*
β’ Vibe coding as a software engineer https://newsletter.pragmaticengineer.com/p/vibe-coding-as-a-software-engineer
β’ The AI Engineering stack https://newsletter.pragmaticengineer.com/p/the-ai-engineering-stack
β’ AI Engineering in the real world https://newsletter.pragmaticengineer.com/p/ai-engineering-in-the-real-world
β’ What changed in 50 years of computing https://newsletter.pragmaticengineer.com/p/what-changed-in-50-years-of-computing?utm_source=publication-search
β
*Where to find Martin Fowler:*
β’ X: https://x.com/martinfowler
β’ LinkedIn: https://www.linkedin.com/in/martin-fowler-com
β’ Website: https://martinfowler.com
β
*In this episode, we cover:*
(00:00) Intro
(01:50) How Martin got into software engineering
(07:48) Joining Thoughtworks
(10:07) The Thoughtworks Technology Radar
(16:45) From Assembly to high-level languages
(25:08) Non-determinism
(33:38) Vibe coding
(39:22) StackOverflow vs. coding with AI
(43:25) Importance of testing with LLMs
(50:45) LLMs for enterprise software
(56:38) Why Martin wrote Refactoring
(1:02:15) Why refactoring is so relevant today
(1:06:10) Using LLMs with deterministic tools
(1:07:36) Patterns of Enterprise Application Architecture
(1:18:26) The Agile Manifesto
(1:28:35) How Martin learns about AI
(1:34:58) Advice for junior engineers
(1:37:44) The state of the tech industry today
(1:42:40) Rapid fire round
β
See the transcript and other references from the episode at https://newsletter.pragmaticengineer.com/podcast
β
Production and marketing by https://penname.co/.
Video Information
Views
190.4K
Likes
1.4K
Duration
01:48:54
Published
Nov 19, 2025
User Reviews
4.3
(38) Related Trending Topics
LIVE TRENDSRelated trending topics. Click any trend to explore more videos.
Trending Now