
Maintainable
227 episodes — Page 4 of 5

Ep 77Bonnie Brennan: Building Community
Robby speaks with Bonnie Brennan, Angular GDE and Founder of Angular Nation. They discuss the importance of keeping things modular, avoiding large files, and embracing DRY. Bonnie also shares her journey as a single mom and making a career change in her 30s, along with tips on how to ask for help within technical communities.Helpful LinksBonnie on TwitterBonnie on LinkedInAngular NationHack Your Future[Book Recommendation] A New Earth: Awakening to Your Life's PurposeSubscribe 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.

Ep 76Khaled Souf: Track Down Dead Code and Delete it
Robby speaks with Khaled Souf, Software Crafter and Software Coach at Zenika Montreal. They discuss the importance of tracking down dead code and deleting it, the benefits of a reliable automated test suite, and Khaled's journey of becoming a coach.Helpful LinksKhaled on TwitterKhaled on LinkedInKhaled's Website[Book Recommendation] Thinking in Systems, by Donella MeadowsSubscribe 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.

Ep 75Adrianna Chang: Using the Strangler Fig Pattern at Shopify
Robby speaks with Adrianna Chang, Software Developer at Shopify. They discuss the benefits of using SOLID principles. Adrianna also shares how Shopify has been turning a Ruby on Rails monolith into a module monolith, along with an overview of Shopify's Dev Degree Program and her experience through it.Helpful LinksAdrianna on TwitterAdrianna on LinkedInArticle: Refactoring Legacy Code with the Strangler Fig Pattern[Book Recommendation] The Art of Learning: An Inner Journey to Optimal PerformanceSubscribe 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.

Ep 74Mark Downie: Balancing The Promises That Open Source Projects Make
Robby speaks with Mark Downie, Program Manager at Microsoft. They discuss the benefits of frameworks and approaches to making your open source project accessible and welcoming to new contributors and users. Mark also shares how Visual Studio's workflow for navigating customer requirements and getting early feedback, along with an introduction to what a Program Manager role is responsible for on the Visual Studio team.Helpful LinksMark on TwitterMark's Blog[Book Recommendation] The Customer-Driven PlaybookSubscribe 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.

Ep 73Glenn Vanderburg: Don't Ask For Small Things
Robby speaks with Glenn Vanderburg, Executive Director of Software Development at RE/MAX. They discuss what types of documentation should go in the repository vs external content tools and the importance of acknowledging how helpful older code was to get you to here. Glenn also shares the benefits of hiring developers who had made a career change prior to becoming a developer, along with the challenges for software engineers and organizations during COVID with everyone being distributed.Helpful LinksGlenn on TwitterGlenn’s Website[Book Suggestion] Style: Lessons in Clarity and GraceSubscribe to Maintainable on:Apple PodcastsOvercastJoin 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.

Ep 72Suzan Bond: Embracing Discomfort and Navigating Transitions
Robby speaks with Suzan Bond, Leadership Coach. They discuss how to advocate for your growth within your existing teams and the responsibilities of the individual and the organization. Suzan also shares how COVID is resulting in the fear of burnout and indicators that you might be nearing it yourself, along with advice to managers and developers on how to approach their next one-on-ones.Helpful LinksSuzan on TwitterSuzan’s Website[Book] Transitions: Making Sense of Life's Changes, William BridgesSubscribe 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.
Ep 71Nicolas Carlo: Changing Messy Software Without Breaking It
Robby speaks with Nicolas Carlo, Senior Tech Lead at BusBud. They discuss the tradeoffs when testing out new features and the benefits of using feature toggling/flags to keep code getting merged into main branches. Nicolas also shares how Busbud has quarterly sustainability weeks to work on improving things, along with advice for listeners who might feel like they are at a loss for how to get stakeholder buy-in on dealing with technical debt challenges.Helpful LinksNicolas on TwitterNicolas's WebsiteSubscribe 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.

Ep 70Brittany Martin: How to Quit Your Job and Leave Your Code in Good Hands
Robby speaks with Brittany Martin, Engineering Lead at TextUs. They discuss the mistakes that developers make when discussing technical debt with stakeholders and why it is important to write automated tests against a live/production API. Brittany also shares how she became the host of the 5by5 Ruby on Rails podcast, along with her recent journey of changing jobs and passing technical knowledge over to peers and a future replacement.Helpful LinksBrittany on TwitterBrittany's website5by5 Ruby on Rails podcastSubscribe 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.

Ep 69Luke Redpath: User Stories Should Prompt Conversations
Robby speaks with Luke, experienced software developer and consultant. They discuss the challenges of being an iOS developer and what effective user stories should look like. Luke also shares how he is navigating the world of looking for full-time employment after a decade of freelancing.For interview practice, Robby asks Luke an interview question that Planet Argon asks prospective Ruby on Rails developers — hear his response!Helpful LinksLuke on TwitterLuke's WebsiteSubscribe 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.

Ep 68Hampton Lintorn Catlin: Only Add Complexity When Necessary
Robby speaks with Hampton Lintorn Catlin, CEO at Veue. They discuss how to reframe technical updates as investments and lessons learned from collaborating in open source. Hampton also shares how why he avoids the phrase "technical debt", along with his first-hand story of how he helped invent the open-source projects Haml and Sass.Helpful LinksHampton on TwitterHampton's websiteVeueHampton's Wikipedia[Book] Cryptonomicon[Book] Snow CrashSubscribe 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.

Ep 67Pat Kua: The Challenges that Come with Becoming a Tech Lead
Robby speaks with Pat Kua, Advisor, Mentor, and Coach at Patkua.com. They discuss good documentation and the consequences of the hero culture. Pat also shares how he transitioned from an individual contributor to his current role, along with the benefits of finding mentors and seeking advice from people in other fields.Helpful LinksPat on TwitterPat on LinkedInPat's WebsiteLevel Up NewsletterCourses[Book] Drive[Book] Thinking in SystemsSubscribe 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.

Ep 66Aaron Blohowiak: The Myth of the Sufficiently Smart Engineer
Robby speaks with Aaron Blohowiak, Senior Software Engineer at Netflix. They discuss mistakes teams make when refactoring too much before finding a product-market-fit and how Netflix deals with technical debt. Aaron also shares some early era Ruby on Rails stories, along with reasons why developers might be intimidated to apply at top-tier organizations like Netflix.Helpful LinksAaron on TwitterAaron on LinkedIn[Book] Radical Candor[Book] Thinking in SystemsSubscribe 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.

Ep 65Magda Miu: Building a Technical Leadership Career Around Teaching
Robby speaks with Magda Miu, Squad Leader Developer at Orange. They discuss the benefits of a healthy pull-request & review process and the unique challenges of mobile device app development. Magda also shares how she transitioned from being a day-to-day code contributor to team leader, as well as her strategies for keeping her technical skills sharp when she is not coding on a regular basis.Helpful LinksMagda on TwitterMagda on LinkedInMagda's WebsiteMagda on dev.toMagda on Medium[Books] Why Motivating People Doesn't Work . . . and What Does: The New Science of Leading, Energizing, and EngagingPractices of an Agile Developer: Working in the Real WorldSubscribe 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.

Ep 64Gant Laborde: Technical Debt — Trading Risk for an Advantage
Robby speaks with Gant Laborde, CIO of Infinite Red. They discuss the unique challenges of maintaining React Native apps and the importance of sync points in an asynchronous work environment. Gant also shares an overview of the types of projects that Infinite Red focuses on and his experience being an open-source maintainer.Helpful LinksGant on TwitterInfinite Red on TwitterGant's WebsiteAI-FYI Website[Book] The War of ArtSubscribe 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.

Ep 63Karen Lee Rigg: Where Are the Bad Habits Coming From?
ERobby speaks with Karen Lee Rigg, Engineering Lead at Permutive. They discuss being a good guest in another team's code base and dealing with imposter syndrome. Karen also shares how she moved from the consulting world to a startup working on a product, along with her journey from being a code contributor to a team lead.Helpful LinksKaren on TwitterKaren on LinkedIn[Book] How to Win Friends & Influence PeopleSubscribe 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.

Ep 62Gianluca Arbezzano: Technical Debt Beyond Code & Your First Contributions to Open Source
ERobby speaks with Gianluca Arbezzano, Sr Staff Software Engineer at Packet. They discuss the value of consistent documentation (and why deciding where to document something is so difficult for developers!), how Gianluca began contributing to open source projects early in his career, and share tips for those who are intimidated about the idea of contributing to open source.Helpful LinksFollow Gianluca on TwitterGianluca's websiteConnect with Gianluca on LinkedIn[Book] Obsessed: Building a Brand People Love from Day One by Emily HeywardSubscribe 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.

Ep 61Ali Spittel: Junior Developers and Helping Unlock Their Potential
ERobby speaks with Ali Spittel – podcast host at Ladybug Podcast, writer, and Faculty Lead at General Assembly. They discuss mentoring Junior Developers, how she built a community around her written content and daily coding puzzles, how to build your writing as a developer, and her experience being a digital nomad.Helpful LinksFollow Ali on TwitterFollow We Learn Code on TwitterAli Spittel's websiteZen of ProgrammingLadybug PodcastFollow General Assembly on TwitterWhat Productivity Looks like to MeSubscribe 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.

Ep 60Robby Russell: Turning the Mic Around with Kayla Reopelle
EThe mic is turned around on Robby for this special episode of Maintainable. Robby is interviewed by guest host Kayla Reopelle, a Ruby on Rails Developer at Planet Argon. They discuss the need for more conversations about improving existing code in the community, learning to manage client expectations as a consultant, and when he learned he was a mender, not a maker.Helpful Links:Robby's Maintainable Rails email coursePlanet Argon's Rails Upgrade service[Book] Never Split the Difference by Chris VossOh My ZshFollow Robby on TwitterAbout Robby RussellConnect with Robby on LinkedInConnect with Kayla on LinkedInSubscribe 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.

Ep 59Ryan Cromwell: Is the Juice Worth the Squeeze?
ERobby speaks with Ryan Cromwell, Technical Director at Sparkbox. They discuss the importance of simplifying deployments, technical debt in the client-services industry, and the traits to seek when hiring software engineers for client-services based work.Helpful LinksFollow Ryan on TwitterSparkbox[Book] Accelerate: The Science of Lean Software and DevOpsMichael Feathers on Maintainable[Book] Working Effectively with Legacy CodeSubscribe 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.

Ep 58Camille Fournier: How Does a Developer Become a Manager?
ERobby speaks with Camille Fournier, Head of Platform Engineering at Two Sigma and author of The Manager's Path. They discuss the importance of avoiding overly clever code, onboarding developers to existing software projects and teams, and how to start approaching mentoring others and be a good mentoree. They also discuss topics from her book, like determining if a path toward management is right for you and navigating career growth in a technical role.Helpful LinksFollow Camille on TwitterCamille on MediumThe Manager's Path: A Guide for Tech Leaders Navigating Growth and ChangeCamille's Blog: Elided Branches[Book] What Got Your Here Won't Get You There by Marshall Goldsmith and Mark Reiter97 Things Every Engineering Manager Should Know: Collective Wisdom from the ExpertsSubscribe 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.

Ep 57Gonçalo Silva: How A Fully-Remote Team Builds and Maintains Software
Robby speaks with Gonçalo Silva, CTO at Doist. They discuss embracing continuous improvements, having a healthy level of skepticism about rewrites. Gonçalo also shares how Doist onboards new engineers to their team, along with the challenges of hiring remote junior developers.Helpful LinksGonçalo on TwitterLaws of software evolutionDoistDoist's blogOpen positions at DoistTwist App[Book] Atomic Habits[Book] The Art of LearningSubscribe 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.

Ep 56Tudor Girba: Moldable Development and Software Environmentalism
ERobby speaks with Tudor Girba, CEO and Co-Founder at Feenk. They discuss how engineers work in the decision-making business, what skills are essential to build in engineers, and get an introduction to the concept of Moldable Development and the Glamorous Toolkit.Helpful LinksGlamorous ToolkitFollow Girba on TwitterFollow feenk on TwitterGlamorous Toolkit on Github[Book] Man's Search for MeaningSubscribe 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.

Ep 55Jeff Haynie: How Can We Make Software Development Better for Dev Teams?
ERobby speaks with Jeff Haynie, Co-Founder and CEO at Pinpoint. They discuss boundaries around APIs and contracts, useful and less-useful metrics for development teams to focus on, and more. Jeff also gives an introduction to Pinpoint's tooling for software development teams and stakeholders, and shares a story about how he had to reverse-engineer a proprietary application in under 24hours to keep the trains running on time.Helpful LinksFollow Jeff on TwitterFollow Jeff on MediumPinpointConnect with Jeff on LinkedInPinpoint Insights[Book] Hard Thing About Things BuildingSubscribe 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.

Ep 54Vladimir Khorikov: 100% Test Coverage is an Artificial Metric
ERobby speaks with Vladimir Khoriko, Tech Lead, Architect & Author. They discuss all things unit tests – what they are, the four pillars of good ones, examples of low-value unit tests, and more. They also discuss the age-old debate of rewrites vs. refactoring, and how to effectively prioritize maintenance work.Helpful LinksVladimir's books: Use promo code: podmaintainable20 for 20% off!Enterprise CraftsmanshipPainless Unit TestingVladimir's Pluralsight courses[Book] Atomic HabitThings You Should Never Do, Part 1Subscribe 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.

Ep 53Bryan Helmkamp: Don't Let Perfect Be The Enemy of Good
ERobby speaks with Bryan Helmkamp, Founder and CEO at Code Climate. Bryan discusses the use of the term "technical debt" now vs. 15 years ago, what he's learned from having thousands of engineering teams use their tools, and the long-term benefits of choosing to build their main application in Ruby on Rails. You'll also get an overview of Code Climate's main products.Helpful LinksCode ClimateThe Code Climate blogBryan on TwitterCode Climate on TwitterSubscribe 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.

Ep 52Dr. Aino Vonge Corry: Why Do We Have Retrospectives, Again?
Robby speaks with Dr. Aino Vonge Corry, founder of Metadeveloper, technical conference editor, and agile retrospective facilitator. They discuss effective vs. ineffective communication with stakeholders, how to prepare for retrospectives, and why it's important to focus on "What should we do better?" when reflecting on work.Helpful LinksDr. Aino Vonge Corry on TwitterMetadeveloper[Book] Why We Sleep: Unlocking the Power of Sleep and Dreams by Matthew WalkerHow to Facilitate Distributed RetrospectivesSubscribe 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.

Ep 51Trisha Gee: Developers Should Invest More Time Into Learning Their Tools
ERobby speaks with Trisha Gee, Developer Advocate at JetBrains. They discuss Trisha's role as a Developer Advocate, how open source library maintainers are underappreciated, and how developers can overcome their fear of writing, speaking, and contributing back to the community.Helpful LinksFollow Trisha on TwitterTrisha's blogIntelliJ IDEARubyMind[Book] 97 Things Every Programmer Should Know[Book] Programmed Inequality: How Britain Discarded Women Technologists and Lost Its Edge in Computing by Mar HicksSubscribe 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.

Ep 50Sandi Metz: Making is Easy, Mending is a Challenge
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 HighlightsMaintaining 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 LinksSandi Metz's LinkedInFollow Sandi on TwitterWorking Effectively with Legacy Code by Michael FeathersRefactoring by Martin FowlerCodeDevotional projectPractical Object-Oriented Design99 Bottlessandimetz.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 PodcastsSpotifyOr search "Maintainable" wherever you stream your podcasts.Keep up to date with the Maintainable Podcast by joining the newsletter.

Ep 49Clare Sudbery: Refactoring Should Be Part of Your Daily Work
ERobby speaks with Clare Sudbery, Lead Engineer with Made Tech. They discuss how to document and prioritize technical debt with a visual tool, trunk-based development patterns, and the importance of getting fast feedback.Helpful LinksFollow Clare on TwitterIn Simple TermsClare's upcoming workshops and speaking engagementsMadeTechClare on MediumRefactoring: Improving the Design of Existing Code (2nd Edition) by Martin FowlerDelusions of Gender: How Our Minds, Society, and Neurosexism Create Difference by Cordelia FineSubscribe 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.

Ep 48Kelly Sutton: Custodians of the Monolith
ERobby speaks with Kelly Sutton, Software Engineer at Gusto. They discuss how to deal with technical debt from the pre-product/market fit era, the benefits of monoliths and knowing when to begin abstracting to micro-services, and the challenges of keeping Ruby on Rails applications up-to-date. Kelly also gives advice for developers who want to convince stakeholders to invest in refactoring projects – a common challenge.Helpful LinksFollow Kelly on TwitterKelly's website[Book] Seeing like a State: How Certain Schemes to Improve the Human Condition Have Failed by James C. ScottTalk on Desirable TestsSubscribe 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.

Ep 47Jonathan Abourbih: Creating a Culture Where It's Okay To Take Risks
ERobby speaks to Jonathan Abourbih, Engineering Team Lead at the BBC in Voice & AI. They discuss how to conduct blameless post-mortems, what's technical debt vs. bad code, and the challenges of measuring your success as a manager after years of being a developer. Jonathan also shares stories about large Java apps in a pre-Garbage Collection world.Helpful LinksJonathan on TwitterThe Prime DirectiveBBC CareersGoogle's Project AristotleGrowing Object-Oriented Software Guided by Tests by Steve Freeman and Nat PryceThe Power In Agile Talk by Sarah Mei[Book] The Phoenix Project by Gene KimSubscribe 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.

Ep 46Jessica Kerr: Software Is Not A Craft (or an Art)
ERobby speaks with Jessica Kerr, Symmathecist at Jessitron LLC. They discuss why working on existing projects is more interesting than greenfield ones, the overuse and harm of the term "technical debt", and how software is not a craft. Jessica also gives an introduction to being a Symmathecist.Helpful LinksFollow Jessica on TwitterJessica's websiteJessica's blogSymmathecist, Noun by Jessica Kerr[Book] Team Topologies bookArty's suggestion about "escalating risk":[Book] Ecology, the Ascendent Perspective by Robert UlanowiczThe Myth of the Sufficiently Smart Engineer by Aaron Blohowiak[Book] The Secrets of Consulting by Gerald M. Weinberg7 Rules for Positive Productive Change by Esther DerbySystems thinking: Mel Conway on TwitterSubscribe 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.

Ep 45Jon Thornton: Technical Debt is a Good Thing (Sometimes)
ERobby speaks with Jon Thornton, Engineer at Squarespace. This discuss examples of good technical debt, implementing a new monolith alongside another monolith (and when to extract to a microservice), metrics to track within your engineering team, and more.Helpful LinksThree Kinds of Good Technical DebtCareers at Squarespace[Book] Nonviolent Communication by Marshall B. RosenbergJon on TwitterJon on GithubJon's websiteJon on LinkedInSubscribe 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.

Ep 44Ben Orenstein: "Someday We'll Go Clean That Up" Doesn't Work
Robby speaks with Ben Orenstein, CEO and Co-founder of Tuple, a remote pair programming app. They discuss why saying, "someday we'll go clean that up" doesn't work in reality, the downsides to putting maintenance work into a backlog, and implicit vs. explicit knowledge. Ben also gives an intro to Tuple.Ben on TwitterTupleTuple on Twitter[Book] The Great CEO WithinSubscribe 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.

Ep 43Ernesto Tagwerker: Tracking Technical Debt With Metrics (aka Stink Score)
In the latest episode of Maintainable, we're joined by Ernesto Tagwerker, Founder and CTO of OmbuLabs. This isn't just another podcast episode; it's a deep dive into the world of technical debt and Ruby on Rails.Ernesto starts by demystifying technical debt – it's more than just a buzzword; it's a real challenge that can turn your project into a Tar Pit. And, believe it or not, there are actual tools to measure this. We explore these tools and how they can help identify technical debt and communicate the progress of tackling it.Then, we get into the juicy part: Ruby on Rails upgrades. Ernesto shares the strategies his team at OmbuLabs uses to help clients with these upgrades. And I, Robby, chime in with how we handle similar challenges at Planet Argon. It's like getting insights from two different angles on the same tricky problem!We also touch on recruiting consultant-minded developers, hiring junior devs, and what senior developers should aim for in mentoring. Oh, and for the Rails enthusiasts, Ernesto gives us a sneak peek into what's coming in Rails 6.1.https://mastodon.social/@etagwerkerErnesto on TwitterFastRuby blogOmbu LabsErnesto's siteEscaping The Tar Pit: Introducing Skunk v0.3.2 at RubyConf 2019[Book] The Mythical Man-Month by Frederick P. Brooks Jr.Subscribe 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.

Ep 42Marit van Dijk: How Are We Going to Test This?
EIn this episode of Maintainable, Robby sits down with Marit van Dijk, a Software Engineer at bol.com. Marit brings a wealth of experience from her work on complex systems and her involvement in the European testing conference and the Cucumber community. They dive deep into the importance of testing, maintaining legacy code, and the collaborative nature of software development.Episode Highlights[00:01:00] The Role of Tests in Well-Maintained Codebases: Marit emphasizes the importance of clear and intent-driven tests in understanding application behavior and maintaining code quality.[00:01:55] Dependency Management in Legacy Systems: Marit discusses the challenges of keeping dependencies up to date and the potential issues that arise when they fall behind.[00:02:35] Documentation Practices: Exploring the differences in documentation needs for internal projects versus open-source projects, and how README files play a critical role in onboarding and running applications.[00:05:09] Defining Technical Debt: Marit shares her perspective on technical debt, including the concept of "code rot" and how it can slow down development over time.[00:06:41] Empathy in Software Maintenance: The importance of understanding the context in which legacy code was written and having empathy for past decisions.[00:08:53] Test-Driven Development for Bug Fixing: Marit explains how writing tests first when fixing bugs can ensure a thorough understanding of the issue and lead to more reliable fixes.[00:14:52] bol.com's Approach to Automation: How bol.com uses automation tools to maintain its large-scale platform, ensuring consistency and reliability across its services.[00:15:48] Collaborative Coding: The benefits of pair programming and mob programming, and how they contribute to knowledge sharing and faster problem-solving within a team.[00:18:03] Managing Technical Debt: Strategies for integrating technical debt management into the development process and how to advocate for it within a team.[00:21:00] Isolating Test Environments: How Marit and her team use mock testing to ensure that tests are maintainable and independent of other services in their landscape.[00:25:15] The Balance Between Refactoring and Rewriting: Marit shares her preference for refactoring over rewriting and discusses the challenges of maintaining complex applications.[00:29:23] Advocating for Maintenance Work: Tips on how developers can make the case for addressing technical debt and maintenance within their teams.Key TakeawaysTesting is a cornerstone of well-maintained software, helping to ensure that code behaves as expected and can be confidently changed or extended.Documentation, whether in README files or more extensive systems like Confluence, is critical for both onboarding and long-term maintenance.Managing technical debt is an ongoing process that requires empathy, strategic planning, and sometimes, a bit of civil disobedience.Collaborative coding practices like pair programming and mob programming can accelerate problem-solving and foster a culture of continuous learning.Refactoring code, rather than rewriting it from scratch, can often be a more effective approach to maintaining complex systems.Helpful LinksMarit on TwitterCareers at bol.comTest Automation UniversityUse Testing to Develop Better Software FasterMarit on MediumTesting on Production – deep backend editionThe Wall of Technical Debt 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.

Ep 41Mike Perham: How Developers Underestimate Long-Term Costs of External Dependencies
ERobby speaks with Mike Perham, Founder and CEO at Contribsys and author of Sidekiq and Faktory. They discuss the pros and cons of using external dependencies, how Mike built a business off of his open source project, Sidekiq, and the dIfference in maintaining Ruby vs Go software projects.Helpful LinksMike on GithubMike on Twittermikeperham.comContribsysSidekiq[Book] Rising by Elizabeth Rush[Book] The Watch, Thoroughly Revised by Gene Stone and Stephen PulvirentSubscribe 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.

Ep 40Ev Haus: Good Code Can Be Easily Deleted
ERobby speaks with Ev Haus, Head of Technology at ZenHub. They discuss how to get to zero technical debt, metrics an engineering team can measure, good pull-request etiquette, and more.Helpful LinksEv on TwitterEv on LinkedinEv's writing on MediumSubscribe 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.

Ep 39Adam Tornhill: Prioritizing Technical Debt With Behavioral Code Analysis
ERobby speaks with Adam Tornhill, founder of Empear and CodeScene. They discuss the benefits of having clear boundaries between teams, strategies for prioritizing where to start tackling technical debt, and how to improve the onboarding experience for developers new to a software codebase. Adam also shares a rare example of a successful rewrite project.Helpful LinksFollow Adam on TwitterAdam's WebsiteEmpearCodeScene[Book] Zen and the Art of Motorcycle MaintenanceYour Code as a Crime Scene[Book] Software Design X-RaysAdam's TedX Talk on Code, Crime, ComplexitySubscribe 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.

Ep 38M. Scott Ford: Menders In Hiding and the Joy of Legacy Code
ERobby speaks with M. Scott Ford, CTO and Chief Code Whisperer at Corgibytes and co-host of the Legacy Code Rocks podcast. They discuss the difference between Makers and Menders, how to prioritize a technical debt backlog, and how to provide feedback to other developers.Helpful LinksM. Scott Ford on TwitterCorgibytesLegacy Code Rocks[Book] Lehman’s Laws of Software Evolution and the Staged-Model[Book] Radical CandorSubscribe 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.

Ep 37Gitte Klitgaard: Making Space For Psychological Safety in Software Teams
ERobby speaks with Gitte Klitgaard, Agile Coach and Owner of Native Wired. They discuss how to create space for psychological safety, the importance of sharing mistakes and fuck-ups of the week, and understanding, coping and taking advantage of your Imposter Syndrome.Helpful LinksNative WiredGitte on TwitterGitte on LinkedIn[Book] I Thought It Was Just Me by Brene BrownBrene Brown's Ted Talk on vulnerabilitySubscribe 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.

Ep 36Nathaniel Bibler: Communication Strategies Between Developers and Clients
ERobby speaks with Nathaniel Bibler, CTO at Envy Labs. They discuss how to talk about technical debt as a team, navigating communication challenges with clients, and how to be a good guest in another team's code base. If you work – or want to work – at an agency, you should listen to this episode.Helpful LinksFollow Nathaniel on TwitterInsights by Envy LabsNathaniel on GithubConnect on LinkedInSubscribe 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.

Ep 35Abby Bangser: Building Trust In Your Deployment Pipeline
ERobby speaks with Abby Bangser, Senior Test Engineer on the Platform Engineering Team at MOO. They discuss how maintainable code leans on a dependable build and test process, what metrics Moo's platform engineering team measures, and codifying your pipeline – including having pipelines build on a regular basis.Helpful LinksFollow Abby on TwitterCareers at MooTester by ChoiceDeep Work: Rules for Focused Success in a Distracted World by Cal NewportSubscribe 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.

Ep 34Viktor Klang: Condensing The Codebase Over Time
ERobby speaks with Viktor Klang, Deputy CTO at Lightbend Inc. They discuss how to avoid constant firefighting, effective use cases of TODO and FIXME comments, and how to create a safe space for developers to make mistakes.Helpful LinksFollow Viktor on TwitterViktor's websiteLightbendCloudstateSubscribe 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.

Ep 33Beth Long: Maintainable Code Prioritizes How Humans Interact With It
ERobby speaks with Beth Long, Software Engineer on the Build & Deploy Tools Engineering team at New Relic. They discuss the origin of the technical debt metaphor, considering when a rewrite is necessary (spoiler alert – it rarely is), and speak about the limitations of agile across modern engineering teams.Helpful LinksBeth's websiteFollow Beth on TwitterConnect with Beth on LinkedIn[Book] Beyond Human Error by David D. Woods[Book] Sources of Power by Gary KleinSubscribe 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.

Ep 32Emily Bache: It's Always More Fun to Code with Others
ERobby speaks with Emily Bache, Technical Agile Coach at ProAgile. They talk about her experience coaching teams on how to improve the long-term maintainability of their software – including how to still see your direct impact when coaching instead of coding. They also dig into the social aspect of development, mob programming, and how coding is a social activity.Helpful LinksFollow Emily on Twitter[Book] Training From the Back of the Room by Sharon BowmanCoding is Like CookingConnect with Emily on LinkedInProAgileSubscribe 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.

Ep 31Zee Spencer: How Can We Reduce Carrying Costs?
Robby speaks with Zee Spencer, owner of Zinc Cooperative, and programmer at Cohere. They speak about how social systems impact software maintainability, why legacy code is profitable code, and consulting within a timebox constraint.Helpful Links[Book] Mental Models: 30 Thinking Tools that Separate the Average From the Exceptional. Improved Decision-Making, Logical Analysis, and Problem-Solving[Book] Observing the User ExperienceZee on TwitterCohereCohere on TwitterZinc CooperativeSubscribe to Maintainable on:Apple 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.

Ep 30Ana Nelson: Writing Maintainable Code Documentation with Automated Tools and Transclusion
Robby speaks with Ana Nelson, a software developer, writer, improv performer, and creator of Dexy — an open-source tool for writing any kind of technical document that incorporates code.Helpful LinksAna's websiteDexyFollow Ana on TwitterAna on GithubConnect with Ana on LinkedInWhat is Transclusion?The Modern Scholar by Professor Michael D. C. Drout[Book] On the Origin of Stories: Evolution, Cognition, and Fiction[Book] The Anatomy of Story: 22 Steps to Becoming a Master StorytellerSubscribe to Maintainable on:Apple 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.

Ep 29Dave Aronson: Putting the M in ACRUMEN
ERobby speaks with Dave Aronson, Owner, Consultant (and T. Rex) at Codosaurus.Helpful LinksCodosaurusDave on GithubFollow Dave on Twitter[Video] The Six Key Aspects of Software Quality[Book] The Pragmatic ProgrammerSubscribe to Maintainable on:Apple 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.

Ep 28Michael Feathers: Be Curious & Chase The Rabbit Holes
In this episode of the Maintainable Software Podcast, Robby speaks with Michael Feathers, Director at R7K Research & Conveyance and author of "Working Effectively with Legacy Code." Michael shares his unique definition of legacy code, emphasizing that legacy code is essentially code without tests. This foundational idea highlights the critical role of automated testing in refactoring and maintaining codebases.Michael and Robby dive into common issues developers face, such as low test coverage and the perceived optionality of writing tests. They explore how ego and human nature often influence developers' decisions not to write tests, even when frameworks provide the tools to do so.One of the intriguing concepts discussed is a test-first IDE, which encourages writing tests before methods. Michael shares patterns and practices for integrating testing into existing projects, emphasizing the importance of social reinforcement and team collaboration in improving test coverage.The conversation also touches on the importance of code quality traits like understandability and simplicity. Michael stresses that empathy in code quality impacts co-workers and that objective measures for code quality often stem from solid design principles. They also discuss the role of code analysis tools in understanding code quality.Removing unused code from applications is another key topic, with Michael sharing insights on the relationship between business decisions and code maintenance. The discussion extends to Conway's Law and its effect on code design, providing valuable context for understanding how organizational structure influences software development.Michael shares lessons from his early career, emphasizing the importance of curiosity and deep systems thinking in software development. He also discusses his upcoming projects, including the second edition of "Working Effectively with Legacy Code."Key Takeaways:Legacy code is code without tests.Automated testing is crucial for refactoring and maintaining codebases.Developers often perceive writing tests as optional, impacting code quality.Social reinforcement and team collaboration are vital for improving test coverage.Empathy in code quality positively affects co-workers.Solid design principles help objectively measure code quality.Removing unused code is essential for maintaining a clean codebase.Conway's Law illustrates how organizational structure impacts code design.Curiosity and deep systems thinking are valuable traits for software developers.Resources Mentioned:[Book] Working Effectively with Legacy CodeMichael Feathers on LinkedInMichael Feathers on TwitterR7kr Research & ConveyanceR7kr Research & Conveyance on TwitterTurtles, Termites, and Traffic JamsConway's LawSocio-Technical Seeing: Modeling The Dynamics Of Code And AttentionMichael's blog 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.