#195 - Working Effectively with Legacy Code and AI Coding Assistant - Michael Feathers

#195 - Working Effectively with Legacy Code and AI Coding Assistant - Michael Feathers

“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 Bio
Michael 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:

_____

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.

Denne episoden er hentet fra en åpen RSS-feed og er ikke publisert av Podme. Den kan derfor inneholde annonser.

Episoder(282)

The IT/OT Handbook: From Silos to Sustainable Digitalization - David Ariens & Willem van Lammeren

The IT/OT Handbook: From Silos to Sustainable Digitalization - David Ariens & Willem van Lammeren

Why can’t you “move fast and break things” in a factory? Because a small software bug doesn’t just crash an app, it can shut down a plant the size of a small city. David and Willem explain the hidden ...

28 Sep 1h 7min

Don't Outsource Your Thinking: How to Lead in the AI-Native Era - Emilie Schario

Don't Outsource Your Thinking: How to Lead in the AI-Native Era - Emilie Schario

What’s the one rule that matters most when AI writes most of your code? Emilie says it comes down to a single line: don’t outsource your thinking.In this episode, Emilie Schario, co-founder of Kilo Co...

7 Sep 59min

The Father of AI Assistant on Why Joy Comes Before Success - Kevin Surace

The Father of AI Assistant on Why Joy Comes Before Success - Kevin Surace

If you’re not using AI five times an hour, you’re already behind, says the man who built the first AI assistant back in 1998. Kevin explains why that pace is now the baseline, not the exception, for d...

24 Aug 55min

Software Engineering Laws Every Developer Must Know in the AI Era - Milan Milanovic

Software Engineering Laws Every Developer Must Know in the AI Era - Milan Milanovic

Does moving faster with AI mean you get to skip the laws that governed every software project before it? Milan Milanovic argues the opposite, the old laws of software engineering now apply twice as ha...

10 Aug 1h 1min

Signals & Levers: Systems Thinking to Navigate Software Delivery Illusions - Elisabeth Hendrickson & Joel Tosi

Signals & Levers: Systems Thinking to Navigate Software Delivery Illusions - Elisabeth Hendrickson & Joel Tosi

(04:48) Brought to you by SpeechifyAITired of text-to-speech that sounds robotic or costs too much at scale? SpeechifyAI's new Simba 3.2 model ranks #1 on Artificial Analysis for realness, priced unde...

3 Aug 1h 17min

From Technical Debt to Triple Debt: The Hidden Cost of AI-Generated Code

From Technical Debt to Triple Debt: The Hidden Cost of AI-Generated Code

Is vibe coding quietly draining the thing that makes teams effective: their shared understanding? Margaret breaks down her new “triple debt” model, and why cognitive debt might be the one nobody’s tra...

27 Jul 1h 10min

Ex-Gojek CTO: Why the Age of AI Rewards Builders as Judgment Becomes Expensive

Ex-Gojek CTO: Why the Age of AI Rewards Builders as Judgment Becomes Expensive

If expertise is becoming almost free, why is judgment becoming the most expensive skill in tech? Ajey Gore, former Gojek CTO, explains why the age of AI agents rewards builders over typists.In this ep...

13 Jul 1h 22min

The AI Productivity Paradox: Why 10X Output Doesn't Mean 10X Business Outcome

The AI Productivity Paradox: Why 10X Output Doesn't Mean 10X Business Outcome

What if optimizing for AI output is actually slowing your company down? When code becomes nearly free to produce, the organizations still measuring productivity by output are solving the wrong problem...

29 Jun 1h 5min

Populært innen Teknologi

teknisk-sett
energi-og-klima
lydartikler-fra-aftenposten
nasjonal-sikkerhetsmyndighet-nsm
smart-forklart
tomprat-med-gunnar-tjomlid
elektropodden
rss-ai-forklart
shifter
pedagogisk-intelligens
fornybaren
kortslutning
rss-bouvet-bobler
rss-ki-praten
rss-teknologioptimistene-en-podkast-om-teknologi-og-mennesker
rss-alt-som-gar-pa-strom
rss-larervarelset
rss-digitaliseringspadden
hans-petter-og-co
rss-bits-and-bytes-for-advokater