

Maintainable
Robby Russell
Do you feel like you're hitting a wall with your existing software projects? Are you curious to hear how other people are navigating this? You're not alone.
On the Maintainable Software Podcast, Robby speaks with seasoned practitioners who have overcome the technical and cultural problems often associated with software development.
Our guests will share stories in each episode and outline tangible, real-world approaches to software challenges. In turn, you'll uncover new ways of thinking about how to improve your software project's maintainability.
On the Maintainable Software Podcast, Robby speaks with seasoned practitioners who have overcome the technical and cultural problems often associated with software development.
Our guests will share stories in each episode and outline tangible, real-world approaches to software challenges. In turn, you'll uncover new ways of thinking about how to improve your software project's maintainability.
Episodes
Mentioned books

Feb 7, 2022 • 48min
Emily Giurleo - Maintaining Open Source vs Proprietary Software
Robby speaks with Emily Giurleo, Senior Software Developer and co-founder/organizaer of WNB.rb. In this episode, Emily shares the importance of software communicating its purpose, the differences between maintaining open source versus propritary software projects, and community building.Additionally, they discuss Emily's experience of being a paid maintainer of MongoDB's Ruby client library, the importance of useful CHANGELOGs, debugging tips for Rubygems, when to and/or not to use mocks.Helpful LinksEmily's TwitterEmily's LinkedInEmily's WebsiteEmily's GithubWNB.rb @wnb_rb, contact organizersEmily's talk at RubyConf 2021: To mock, or not to mock?Sandi Metz: Making is Easy, Mending is a ChallengeMongo Ruby DriverEmily's Book Recommendation: Radical Candor by Kim ScottSubscribe to Maintainable on:Apple PodcastsOvercastSpotifyOr search "Maintainable" wherever you stream your podcasts.Join the discussion in the Maintainable Discord Community
Subscribe to Maintainable on:Apple PodcastsSpotifyOr search "Maintainable" wherever you stream your podcasts.Keep up to date with the Maintainable Podcast by joining the newsletter.

Dec 13, 2021 • 49min
Jean Yang - Not All Software is Meant to be Maintained
Robby speaks with Jean Yang, Founder and CEO of Akita Software. In this episode, Jean discusses why software needs to be more honest with itself, recruitment tactics at small startups, and why we should be careful before doing what the big organizations are doing, what developer influences advocate versus what real developers do day-to-day.Helpful LinksJean's TwitterJean's LinkedInAkita SoftwareAkita on TwitterBook Recommendation: Sick in the Head by Judd ApatowSubscribe to Maintainable on:Apple PodcastsOvercastSpotifyOr search "Maintainable" wherever you stream your podcasts.Join the discussion in the Maintainable Discord Community
Subscribe to Maintainable on:Apple PodcastsSpotifyOr search "Maintainable" wherever you stream your podcasts.Keep up to date with the Maintainable Podcast by joining the newsletter.

Nov 29, 2021 • 51min
Shaundai Person: Work on Having a Short-term Memory
Robby speaks with Shaundai Person, Senior Software Engineer at Netflix and creator of TypeScript for JavaScript devs.Shaundai brought a treasure trove of insights, starting from her fascinating transition from sales to tech, straight into the heart of what makes code maintainable. She's a fan of making things simpler (think Legos, not knitted castles), and her take on the modular build of software components is something every developer should hear.Did you know that your past experiences, no matter how unrelated they seem, can shape you into a better engineer? Shaundai's journey is proof of that, and she shares how skills from sales greatly enhance her team dynamics and project leadership in the tech world.We also delve into why documenting the journey of your code - the good, the bad, and the decisions - is crucial for your future self and others who will walk in your codebase footsteps. Plus, Shaundai gives her candid view on the importance of feedback and the art of soliciting it constructively.Don't miss out on this blend of technical wisdom and life lessons. Tune in to get your regular dose of Maintainable wisdom sprinkled with my special brand of humor. Helpful LinksShaundai's TwitterShaundai's LinkedInShaundai's PolyworkTypeScript for JavaScript Developers, that Shaundai is building.Talk: Simple Made Easy by Rich HickeyBook Recommendation: Range: Why Generalists Triumph in a Specialized world by David EpsteinSubscribe to Maintainable on:Apple PodcastsOvercastSpotifyOr search "Maintainable" wherever you stream your podcasts.Join the discussion in the Maintainable Discord Community
Subscribe to Maintainable on:Apple PodcastsSpotifyOr search "Maintainable" wherever you stream your podcasts.Keep up to date with the Maintainable Podcast by joining the newsletter.

Nov 22, 2021 • 40min
Chris Birchall: Re-Engineering Legacy Software
Robby speaks with Chris Birchall, author of Re-Engineering Legacy Software and Lead Software Developer at 47 Degrees. They cover how to identify both dead and zombie code in your software, approaches to consciously taking on technical debt, and when rewrites might be appropriate.Helpful Links47 DegreesRe-Engineering Legacy SoftwareFollow Chris on TwitterBook Recommendation: Sherlock Holmes Series by Sir Arthur Conan DoyleSubscribe to Maintainable on:Apple PodcastsOvercastSpotifyOr search "Maintainable" wherever you stream your podcasts.Join the discussion in the Maintainable Discord Community
Subscribe to Maintainable on:Apple PodcastsSpotifyOr search "Maintainable" wherever you stream your podcasts.Keep up to date with the Maintainable Podcast by joining the newsletter.

Nov 8, 2021 • 42min
Swizec Teller: What is a Senior (Engineer) Mindset?
Robby speaks with Swizec Teller, Senior Software Engineer at Tia and author of Serverless for Frontend Engineers. In this conversation, Swizec shares his thoughts on how startups need to learn how to leverage technical debt effectively, an introduction to his book, and the traits of a Senior Engineer Mindset.Helpful LinksSwizec on TwitterSwizec on LinkedInServerless for Frontend EngineersThe Senior Mindset SeriesTiaBlog post: How to rewrite your app while growing to a $100,000,000 series BSwizec's book recommendations:How to Win Friends & Influence People by Dale CarnegieThinking in Bets by Annie DukeSubscribe to Maintainable on:SpotifyApple PodcastsOvercastOr search "Maintainable" wherever you stream your podcasts.Join the discussion in the Maintainable Discord Community
Subscribe to Maintainable on:Apple PodcastsSpotifyOr search "Maintainable" wherever you stream your podcasts.Keep up to date with the Maintainable Podcast by joining the newsletter.

Nov 1, 2021 • 47min
Heidi Waterhouse: Documentation: The Best Diff is a Red Diff
In this episode of Maintainable, Robby Russell chats with Heidi Waterhouse, Transformation Advocate at LaunchDarkly and contributor to "Docs for Developers." Heidi shares her insights on the crucial role documentation plays in software maintenance, how to manage documentation debt, and why "the best diff is a red diff."Episode Highlights[00:00:53] Heidi's Take on Maintainable Software: Discussing the characteristics of well-maintained software, with a focus on modularity and context-aware decisions.[00:02:16] Documenting Context in Code: The importance of leaving behind the rationale for past decisions to help future developers understand trade-offs.[00:04:09] Stress vs. Creativity: The mental firewall between stress-driven fixes and creative problem-solving and how it affects documentation.[00:05:53] Making Documentation a Habit: Techniques for leaving helpful notes in code and why documenting as you go is crucial.[00:07:12] Documentation Debt: Exploring the concept of documentation technical debt and how it parallels code technical debt.[00:09:49] Pruning Documentation: Strategies for regularly reviewing and archiving outdated documentation to keep the signal strong.[00:12:02] Templating Documentation: How to start documenting without the fear of a blank page using templates and examples.[00:14:01] Where to Document: Tips on deciding the best place to store documentation and ensuring it is easily accessible.[00:18:47] The Pitfalls of Video Tutorials: Why video tutorials can be a time bomb and the importance of searchable, updateable documentation.[00:21:12] Starting with Public Speaking: Heidi's journey into public speaking, starting with anger-driven topics and evolving to educational resources.[00:26:26] Dealing with Rejection in Public Speaking: The reality of talk proposal rejections and why it's not a reflection of your value as a speaker.[00:30:14] Code Ergonomics: How the physical layout of code and workspace can affect developer productivity and reduce context switching.[00:36:39] Improving Documentation Culture: Advice for new team members on finding allies and starting small to improve documentation practices.[00:40:15] Integrating Documentation with Code: Making documentation part of the code review process and defining it as part of the "done" criteria.Key TakeawaysDocumentation is a crucial part of maintaining software, and its importance should not be underestimated.Regularly pruning and archiving outdated documentation helps keep the information relevant and useful.The best way to combat documentation debt is by making documentation an integral part of the development process.Public speaking can start small and doesn’t require expertise—passion and personal experiences are powerful drivers.Helpful LinksHeidi's WebsiteHeidi's TwitterHeidi's LinkedInOrder the new book, Docs for Developers, that Heidi is a co-author ofBlog post: When you stare into the blank page, it stares back at youVideo: Lillian Gilbreth: First Lady of Engineering
Subscribe to Maintainable on:Apple PodcastsSpotifyOr search "Maintainable" wherever you stream your podcasts.Keep up to date with the Maintainable Podcast by joining the newsletter.

Oct 4, 2021 • 53min
DHH: Celebrating Legacy Software as a Victory and the Story of How Humans Can't Estimate
Robby speaks with David Heinemeier Hansson (aka DHH), Creator of Ruby on Rails and CTO of Basecamp / HEY.Disclaimer: Robby sat down with DHH in early March 2021 about ~5-6 weeks before Basecamp's policy changes were announced and the significant impact that had within our community. It's quite likely that some of Basecamp's internal software engineering processes have since changed.In an enthralling episode of Maintainable, host Robby is joined by David Heinemeier Hansson (DHH), the original brain behind Ruby on Rails and the CTO of Basecamp & Hey. They embark on a deep exploration of the software world, challenging conventional views and celebrating the often underappreciated aspects of software development.The discussion kicks off with a refreshing perspective on legacy software. DHH and Robby delve into why legacy software should be celebrated as a victory, a testament to its success and durability in a fast-evolving tech landscape. This sets the stage for a broader conversation about the lifecycle and evolution of software products.They then shift gears to Basecamp's approach to versioning their SaaS products. Unlike the common industry trend of continuous iteration on a single version, Basecamp has made strategic choices to release new versions, a decision rooted in their unique business and product philosophy. This leads to an insightful discussion on how Basecamp handles the balance between innovation and maintenance, including the management of security backports and the upkeep of their software.DHH introduces listeners to the concept of ShapeUp, Basecamp/HEY's innovative approach to project management. He explains how their team uses two-week cooldown periods to manage bugs and follow-up work, ensuring that the development process remains agile and responsive to emerging needs.The conversation also delves into the specialized teams at Basecamp, such as the Security Infrastructure Performance (SIP) team, which plays a crucial role in addressing security concerns and handling reactive work. This is juxtaposed with the Research & Fidelity team's focus on building and extracting frameworks, highlighting the diverse strategies employed to maintain and evolve a robust software environment.A significant portion of the discussion revolves around Ruby on Rails. DHH shares why a major rewrite of Rails has never been necessary, attributing it to the framework's solid foundation and continuous improvement. He also sheds light on the types of testing that provide the most value in their Ruby on Rails applications and offers a candid take on Test-Driven Development (TDD).Finally, DHH and Robby discuss the importance of budgeting time and resources in software projects, contrasting it with traditional estimating methods. They conclude with a discussion on the competitive advantage of Ruby on Rails in the current technology landscape and why it's perfectly fine that Rails isn't always the center of tech conversations anymore.Book Recommendation: "The Manual" by EpictetusHelpful LinksDHH on TwitterDHH on HeyShape UpBasecampHEYBlogRuby on RailsDHH on GithubSubscribe to Maintainable on:Apple PodcastsOvercastSpotifyOr search "Maintainable" wherever you stream your podcasts.
Subscribe to Maintainable on:Apple PodcastsSpotifyOr search "Maintainable" wherever you stream your podcasts.Keep up to date with the Maintainable Podcast by joining the newsletter.

Aug 2, 2021 • 41min
Matt Wynne: Cucumber and Why Is TDD Such a Challenge?
Robby speaks with Matt Wynne, who is currently a co-lead of Cucumber Open and a BDD Advocate at SmartBear. They cover an introduction to Cucumber and how it fits into a software team's toolbox, the importance of reliable tests and speedy tests for quick feedback loops, and why teams struggle to introduce TDD into existing software applications.Helpful LinksCucumberSmartbearGherkinTechnical Debt vs Technical WasteFollow Matt on TwitterMatt's blogBook Recommendation: Zen and the Art of Motorcycle Maintenance by Robert M. PirsigSubscribe to Maintainable on:Apple PodcastsOvercastSpotifyOr search "Maintainable" wherever you stream your podcasts.Join the discussion in the Maintainable Discord Community
Subscribe to Maintainable on:Apple PodcastsSpotifyOr search "Maintainable" wherever you stream your podcasts.Keep up to date with the Maintainable Podcast by joining the newsletter.

Jul 19, 2021 • 46min
Tom Granot: Finding Your Style When Explaining Things to Technical Audiences
Robby speaks with Tom Granot, Solution Engineer at Lightrun. They discuss producing content for technical (and non-technical) audiences, why consistency in your communication style matters, and the importance of good bug reporting and resolution.Helpful Links:[Book Recommendation] The Hacker's Diet by John WalkerFollow Tom on TwitterTom's websiteLightrunMonica CRMAsync http clientSubscribe to Maintainable on:Apple PodcastsOvercastSpotifyOr search "Maintainable" wherever you stream your podcasts.Join the discussion in the Maintainable Discord Community
Subscribe to Maintainable on:Apple PodcastsSpotifyOr search "Maintainable" wherever you stream your podcasts.Keep up to date with the Maintainable Podcast by joining the newsletter.

Jun 28, 2021 • 47min
Andrew Watkins: How To Test What You're Trying to Build
Robby speaks with Andrew Watkins, VP of Engineering at Buildops. They dig into what it means to be "easily testable", the downsides to being allured by new technology, and why rewrites are really, really tough.Helpful LinksConnect with Andrew on LinkedInFollow Buildops on LinkedIn[Book Recommendation] Heroes DieSubscribe to Maintainable on:Apple PodcastsOvercastSpotifyOr search "Maintainable" wherever you stream your podcasts.Join the discussion in the Maintainable Discord Community
Subscribe to Maintainable on:Apple PodcastsSpotifyOr search "Maintainable" wherever you stream your podcasts.Keep up to date with the Maintainable Podcast by joining the newsletter.


