Tech Debt and Refactoring at Yelp! with Andrew Mason - Episode 110

Summary

Healthy code makes for happy coders, and there are many ways to measure the health of a project. This week Andrew Mason talks about the Undebt project from Yelp!, as well as some of the other tools and practices that have been developed to make sure that the balance on their technical debt card stays low. Give it a listen to learn how and why to measure and address the painful parts of your software.

linode-banner-sponsor-largeDo you want to try out some of the tools and applications that you heard about on Podcast.__init__? Do you have a side project that you want to share with the world? Check out Linode at linode.com/podcastinit or use the code podcastinit2018 and get a $20 credit to try out their fast and reliable Linux virtual servers. They’ve got lightning fast networking and SSD servers with plenty of power and storage to run whatever you want to experiment on.


Preface

  • Hello and welcome to Podcast.__init__, the podcast about Python and the people who make it great.
  • I would like to thank everyone who supports us on Patreon. Your contributions help to make the show sustainable.
  • When you’re ready to launch your next project you’ll need somewhere to deploy it. Check out Linode at www.podastinit.com/linode and get a $20 credit to try out their fast and reliable Linux virtual servers for running your awesome app.
  • Visit the site to subscribe to the show, sign up for the newsletter, read the show notes, and get in touch.
  • To help other people find the show please leave a review on iTunes, or Google Play Music, tell your friends and co-workers, and share it on social media.
  • Your host as usual is Tobias Macey and today I’m interviewing Andrew Mason about technical debt and refactoring with Undebt.

Interview

  • Introductions
  • How did you get introduced to Python?
  • How do you define technical debt and why is it an important aspect of a project to keep track of?
  • How would you characterize refactoring in general and when you might want to do it?
  • What is Undebt and what was the problem that you were facing at Yelp when it was created?
  • For someone who wants to get started with using Undebt what does that process look like and how does it work under the covers?
  • What are some of the other tools and techniques available for refactoring Python code and how do they differ from what is possible in Undebt?
  • What are some of the other tools and methods that you use to maintain the overall health of your codebase?
  • What are some of the limitations and edge cases that you have experiemced working with Undebt?
  • It is often a difficult balancing act when working in a team to determine how much time to spend paying down technical debt and building tools that will act as force multipliers vs doing feature work that will be visible to end-users. In your experience, what are some ways to manage that tension?

Keep In Touch

Picks

Links

The intro and outro music is from Requiem for a Fish The Freak Fandango Orchestra / CC BY-SA

Start the discussion at https://discourse.pythonpodcast.com