Listen "#195 - Working Effectively with Legacy Code and AI Coding Assistant - Michael Feathers"
Episode Synopsis
“Legacy code is a code without tests. If you have code, and it has lots of tests, it’s relatively easy to change. But if you don’t have the tests, you’re really in serious trouble.”
Do you dread working with legacy code?
Michael Feathers, renowned software expert and author of the classic “Working Effectively with Legacy Code,” joins me to discuss the challenges and strategies for working with legacy code, a topic that remains highly relevant even after 20 years!
Michael explains why he defines legacy code as “code without tests,” emphasizing the crucial role of automated tests for code maintainability, rather than simply defining it as an old inherited code. He also provides insights on the psychological challenges of working with legacy code and stresses the importance of approaching it with curiosity and a sense of adventure.
The conversation also explores the evolving world of AI assistant in software development, drawing from Michael’s forthcoming book, “AI-Assisted Programming”. He shares how AI can assist developers in various tasks, such as explaining code, identifying potential issues, generating tests, and exploring new possibilities.
Listen to this episode to explore the intersection of legacy code, AI, and the future of software development!
Listen out for:
Career Journey - [00:01:24]
“Working Effectively with Legacy Code” Book - [00:02:05]
Definition of Legacy Code - [00:04:55]
The Importance of Automated Tests - [00:06:39]
Understanding Legacy Code - [00:09:47]
Mindset for Working with Legacy Code - [00:11:15]
Rewrite vs Fixing Legacy Code - [00:13:50]
Microservice for Legacy Code - [00:15:36]
Approach to Dealing with Legacy Code - [00:17:33]
Seams - [00:20:03]
Strangler Fig - [00:21:42]
Understanding Refactoring - [00:22:48]
Testing Pyramid - [00:24:28]
Code Nobody Wants to Touch - [00:26:10]
AI for Understanding Legacy Code - [00:27:53]
AI Churning More Legacy Code - [00:30:06]
“AI Assisted Programming” Book - [00:32:47]
Prompt Engineering - [00:34:16]
Doing in Small Steps - [00:35:09]
Best Use Case for AI - [00:37:29]
Developer’s Fear of AI - [00:39:16]
SudoLang - [00:40:59]
AI as Test Assistant - [00:43:42]
Context Window - [00:45:19]
Waywords - [00:47:14]
Managing AI Sessions - [00:48:53]
Using Different AI Tools - [00:50:30]
3 Tech Lead Wisdom - [00:52:28]
_____
Michael Feathers’s BioMichael Feathers is the Founder and Director of R7K Research & Conveyance, a company specializing in software and organization design. Over the past 20 years he has consulted with hundreds of organizations, supporting them with general software design issues, process change and code revitalization.
A frequent presenter at national and international conferences, Michael is also the author of the book Working Effectively with Legacy Code.
Follow Michael:
Twitter – @mfeathers
LinkedIn – linkedin.com/in/michaelfeathers
Substack – substack.com/@michaelfeathers
📚 Working Effectively with Legacy Code – https://www.amazon.com/Working-Effectively-Legacy-Michael-Feathers/dp/0131177052
📚 AI Assisted Programming – leanpub.com/ai-assisted-programming
_____
Our Sponsors
Enjoy an exceptional developer experience with JetBrains. Whatever programming language and technology you use, JetBrains IDEs provide the tools you need to go beyond simple code editing and excel as a developer.Check out FREE coding software options and special offers on jetbrains.com/store/#discounts.Make it happen. With code.
Manning Publications is a premier publisher of technical books on computer and software development topics for both experienced developers and new learners alike. Manning prides itself on being independently owned and operated, and for paving the way for innovative initiatives, such as early access book content and protection-free PDF formats that are now industry standard.Get a 40% discount for Tech Lead Journal listeners by using the code techlead24 for all products in all formats.
Like this episode?Show notes & transcript: techleadjournal.dev/episodes/195.Follow @techleadjournal on LinkedIn, Twitter, and Instagram.Buy me a coffee or become a patron.
Do you dread working with legacy code?
Michael Feathers, renowned software expert and author of the classic “Working Effectively with Legacy Code,” joins me to discuss the challenges and strategies for working with legacy code, a topic that remains highly relevant even after 20 years!
Michael explains why he defines legacy code as “code without tests,” emphasizing the crucial role of automated tests for code maintainability, rather than simply defining it as an old inherited code. He also provides insights on the psychological challenges of working with legacy code and stresses the importance of approaching it with curiosity and a sense of adventure.
The conversation also explores the evolving world of AI assistant in software development, drawing from Michael’s forthcoming book, “AI-Assisted Programming”. He shares how AI can assist developers in various tasks, such as explaining code, identifying potential issues, generating tests, and exploring new possibilities.
Listen to this episode to explore the intersection of legacy code, AI, and the future of software development!
Listen out for:
Career Journey - [00:01:24]
“Working Effectively with Legacy Code” Book - [00:02:05]
Definition of Legacy Code - [00:04:55]
The Importance of Automated Tests - [00:06:39]
Understanding Legacy Code - [00:09:47]
Mindset for Working with Legacy Code - [00:11:15]
Rewrite vs Fixing Legacy Code - [00:13:50]
Microservice for Legacy Code - [00:15:36]
Approach to Dealing with Legacy Code - [00:17:33]
Seams - [00:20:03]
Strangler Fig - [00:21:42]
Understanding Refactoring - [00:22:48]
Testing Pyramid - [00:24:28]
Code Nobody Wants to Touch - [00:26:10]
AI for Understanding Legacy Code - [00:27:53]
AI Churning More Legacy Code - [00:30:06]
“AI Assisted Programming” Book - [00:32:47]
Prompt Engineering - [00:34:16]
Doing in Small Steps - [00:35:09]
Best Use Case for AI - [00:37:29]
Developer’s Fear of AI - [00:39:16]
SudoLang - [00:40:59]
AI as Test Assistant - [00:43:42]
Context Window - [00:45:19]
Waywords - [00:47:14]
Managing AI Sessions - [00:48:53]
Using Different AI Tools - [00:50:30]
3 Tech Lead Wisdom - [00:52:28]
_____
Michael Feathers’s BioMichael Feathers is the Founder and Director of R7K Research & Conveyance, a company specializing in software and organization design. Over the past 20 years he has consulted with hundreds of organizations, supporting them with general software design issues, process change and code revitalization.
A frequent presenter at national and international conferences, Michael is also the author of the book Working Effectively with Legacy Code.
Follow Michael:
Twitter – @mfeathers
LinkedIn – linkedin.com/in/michaelfeathers
Substack – substack.com/@michaelfeathers
📚 Working Effectively with Legacy Code – https://www.amazon.com/Working-Effectively-Legacy-Michael-Feathers/dp/0131177052
📚 AI Assisted Programming – leanpub.com/ai-assisted-programming
_____
Our Sponsors
Enjoy an exceptional developer experience with JetBrains. Whatever programming language and technology you use, JetBrains IDEs provide the tools you need to go beyond simple code editing and excel as a developer.Check out FREE coding software options and special offers on jetbrains.com/store/#discounts.Make it happen. With code.
Manning Publications is a premier publisher of technical books on computer and software development topics for both experienced developers and new learners alike. Manning prides itself on being independently owned and operated, and for paving the way for innovative initiatives, such as early access book content and protection-free PDF formats that are now industry standard.Get a 40% discount for Tech Lead Journal listeners by using the code techlead24 for all products in all formats.
Like this episode?Show notes & transcript: techleadjournal.dev/episodes/195.Follow @techleadjournal on LinkedIn, Twitter, and Instagram.Buy me a coffee or become a patron.
More episodes of the podcast Tech Lead Journal
#242 - The End of Traditional Management: Reimagining Work for AI-First Organization - Jurgen Appelo
08/12/2025
#241 - Your Code as a Crime Scene: The Psychology Behind Software Quality - Adam Tornhill
01/12/2025
#240 - AI as Your Thought Partner: Break Boundaries & Do What You Never Could Before - Greg Shove
24/11/2025
#238 - AI is Smart Until It's Dumb: Why LLM Will Fail When You Least Expect It - Emmanuel Maggiori
10/11/2025
#237 - Tackling AI and Modern Complexity with Deming's System of Profound Knowledge - John Willis
03/11/2025
#236 - From Figma to Code: The Rise of Design Engineers (And Why It Matters Now) - Honey Mittal
27/10/2025
ZARZA We are Zarza, the prestigious firm behind major projects in information technology.