Maintainable

Sandi Metz: Making is Easy, Mending is a Challenge


Listen Later

In this episode of the Maintainable Software Podcast, Robby is joined by Sandi Metz, a renowned programmer, author, and speaker known for her expertise in object-oriented programming and maintainable code. Sandi shares her invaluable insights on various aspects of software development, focusing on writing code that stands the test of time.

Episode Highlights
  • Maintaining Readable Code: Sandi emphasizes that the cost of software lies in its readability. She discusses the importance of writing code with good names and gentle organization, making it easier for future developers to understand.
  • Avoiding Clever Code: Sandi warns against writing overly clever code that even the author might not understand later. Instead, she advocates for clear and simple code that conveys the programmer's good intentions to future readers.
  • Documentation and Integration Tests: While Sandi believes in minimal documentation at the object level, she stresses the importance of integration tests and visual aids that show how everything fits together.
  • Common Legacy Code Issues: Sandi identifies common patterns of problematic code in legacy systems, often resulting from neglected complexity and social bargains within teams that lead to unwieldy classes and procedures.
  • Technical Debt vs. Bad Code: She discusses the nuanced difference between technical debt and bad code, emphasizing the need for shared language and understanding between developers and stakeholders.
  • Training and Education: Sandi reflects on the importance of proper training for developers and how educational institutions might better prepare students for the real-world challenges of maintaining existing codebases.
  • Small Pieces, Big Impact: Advocating for the creation of small, manageable pieces of code, Sandi explains how this approach simplifies maintenance and enhances code readability.
  • Refactoring Strategies: Sandi shares strategies for refactoring large classes and objects, often seen in Rails applications, and the benefits of creating service objects and other intermediary classes.
  • Long-Term Framework Viability: Sandi discusses the future of frameworks like Rails, the importance of not being overly reliant on them, and preparing for potential technological shifts.

You'll also hear some thoughts on Ruby and Rails and how Sandi uses the phrase "Lambs to the Slaughter."

Helpful Links
  • Sandi Metz's LinkedIn
  • Follow Sandi on Twitter
  • Working Effectively with Legacy Code by Michael Feathers
  • Refactoring by Martin Fowler
  • CodeDevotional project
  • Practical Object-Oriented Design
  • 99 Bottles
  • sandimetz.com
  • [Book] Elements of Style by William Strunk Jr.

Tune in to this insightful episode and learn from one of the best in the industry about writing maintainable software that your future self will thank you for!

Subscribe to Maintainable on:

  • Apple Podcasts
  • Spotify

Or search "Maintainable" wherever you stream your podcasts.

Keep up to date with the Maintainable Podcast by joining the newsletter.

...more
View all episodesView all episodes
Download on the App Store

MaintainableBy Robby Russell

  • 5
  • 5
  • 5
  • 5
  • 5

5

32 ratings


More shows like Maintainable

View all
Software Engineering Radio - the podcast for professional software developers by se-radio@computer.org

Software Engineering Radio - the podcast for professional software developers

273 Listeners

The Changelog: Software Development, Open Source by Changelog Media

The Changelog: Software Development, Open Source

282 Listeners

LINUX Unplugged by Jupiter Broadcasting

LINUX Unplugged

265 Listeners

The Bike Shed by thoughtbot

The Bike Shed

121 Listeners

Software Engineering Daily by Software Engineering Daily

Software Engineering Daily

625 Listeners

Soft Skills Engineering by Jamison Dance and Dave Smith

Soft Skills Engineering

270 Listeners

Syntax - Tasty Web Development Treats by Wes Bos & Scott Tolinski - Full Stack JavaScript Web Developers

Syntax - Tasty Web Development Treats

984 Listeners

REWORK by 37signals

REWORK

210 Listeners

Remote Ruby by Chris Oliver, Andrew Mason

Remote Ruby

34 Listeners

Code with Jason by Jason Swett

Code with Jason

14 Listeners

The Stack Overflow Podcast by The Stack Overflow Podcast

The Stack Overflow Podcast

64 Listeners

ACQ2 by Acquired by Ben Gilbert and David Rosenthal

ACQ2 by Acquired

209 Listeners

Code and the Coding Coders who Code it by Drew Bragg

Code and the Coding Coders who Code it

6 Listeners

Oxide and Friends by Oxide Computer Company

Oxide and Friends

47 Listeners

The Pragmatic Engineer by Gergely Orosz

The Pragmatic Engineer

52 Listeners