Maintainable Podcast Por Robby Russell arte de portada

Maintainable

Maintainable

De: Robby Russell
Escúchala gratis

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.© 2019-2024 Maintainable Software Podcast Economía Exito Profesional
Episodios
  • Brittany Ellich: Using AI to Maintain Software, Not Rewrite It
    Jan 21 2026
    Rewrites are seductive. Clean slates promise clarity, speed, and “doing it right this time.” In practice, they’re often late, over budget, and quietly demoralizing.In this episode of Maintainable, Robby sits down with Brittany Ellich, a Senior Software Engineer at GitHub, to talk about a different path. One rooted in stewardship, readability, and resisting the urge to start over.Brittany’s career began with a long string of rebuild projects. Over time, she noticed a pattern. The estimates were wrong. Feature development stalled. Teams burned energy reaching parity with systems they’d already had. That experience pushed her toward a strong belief: if software is in production and serving users, it’s usually worth maintaining.[00:00:57] What well-maintained software actually looks likeFor Brittany, readability is the first signal. If code can’t be understood, it can’t be changed safely. Maintenance begins with making systems approachable for the next person.[00:01:42] Rethinking technical debtShe explains how her understanding of technical debt has evolved. Rather than a fixed category of work, it’s often anything that doesn’t map directly to new features. Bugs, reliability issues, and long-term risks frequently get lumped together, making prioritization harder than it needs to be.[00:05:49] Why AI changes the maintenance equationBrittany describes how coding agents have made it easier to tackle small, previously ignored maintenance tasks. Instead of waiting for debt to accumulate into massive projects, teams can chip away incrementally. (Related: GitHub Copilot and the Copilot coding agent workflow she’s explored.)[00:07:16] Context from GitHub’s billing systemsWorking on metered billing at GitHub means correctness and reliability matter more than flash. Billing should be boring. When it’s not, customers notice quickly.[00:11:43] Navigating a multi-era codebaseGitHub’s original Rails codebase is still in active use. Brittany relies heavily on Git blame and old pull requests to understand why decisions were made, treating them as a form of living documentation.[00:25:27] Treating coding agents like teammatesRather than delegating massive changes, Brittany assigns agents small, well-scoped tasks. She approaches them the same way she would a new engineer: clear instructions, limited scope, and careful review.[00:36:00] Structuring the day to avoid cognitive overloadShe breaks agent interaction into focused windows, checking in a few times a day instead of constantly monitoring progress. This keeps deep work intact while still moving maintenance forward.[00:40:24] Low-risk ways to experimentImproving test coverage and generating repository instructions are safe entry points. These changes add value without risking production behavior.[00:54:10] Navigating team resistance and ethicsBrittany acknowledges skepticism around AI and encourages teams to start with existing backlog problems rather than selling AI as a feature factory.[00:57:57] Books, habits, and staying balancedOutside of software, Brittany recommends Atomic Habits by James Clear, sharing how small routines help her stay focused.The takeaway is clear. AI doesn’t replace engineering judgment. Used thoughtfully, it can support the unglamorous work that keeps software alive.Good software doesn’t need a rewrite.It needs caretakers.References MentionedGitHub – Brittany’s current role and the primary environment discussedGitHub Universe – Where Brittany presented her coding agent workflowAtomic Habits by James Clear – Brittany’s recommended book outside of techOvercommitted - Podcast Brittany co-hostsThe Balanced Engineer Newsletter – Brittany’s monthly newsletter on engineering, leadership, and balanceBrittany Ellich’s website – Central hub for her writing and linksGitHub Copilot – The AI tooling discussed throughout the episodeHow the GitHub billing team uses the coding agent in GitHub Copilot to continuously burn down technical debt – GitHub blog post referencedThanks to Our Sponsor!Turn hours of debugging into just minutes! AppSignal is a performance monitoring and error-tracking tool designed for Ruby, Elixir, Python, Node.js, Javascript, and other frameworks.It offers six powerful features with one simple interface, providing developers with real-time insights into the performance and health of web applications.Keep your coding cool and error-free, one line at a time! Use the code maintainable to get a 10% discount for your first year. Check them out! 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.
    Más Menos
    1 h y 1 m
  • Kent L Beck: You’re Ignoring Optionality… and Paying for It
    Dec 9 2025
    Kent Beck: You’re Ignoring Optionality… and Paying for ItIn this episode of Maintainable, Robby speaks with Kent Beck, a foundational voice in modern software development and author of Tidy First?. Kent joins from California to explore why optionality is a central, often underestimated dimension of maintainable software.Kent begins by describing the tension between features and future flexibility. Shipping new capabilities is easy to measure. Creating options for what comes next is not. That imbalance is where maintainability either flourishes or collapses. Senior developers in particular must learn to navigate this tension because they have lived through the consequences when no one does.They reflect on how cost models have shifted across the last five decades. Early in Kent’s career, computers were expensive and programmers were cheap. Today the balance often flips depending on scale. At massive scale, electricity and compute time become meaningful costs again. That variability shapes whether teams optimize for hardware efficiency or developer efficiency.Episode Highlights[00:00:46] The Two Forms of Software ValueKent explains why software value comes from both current features and the options you preserve for future work. He describes optionality as the invisible half of maintainability.[00:03:35] When Computers Become “Expensive” AgainRobby and Kent revisit the shift from hardware-optimized development to developer-optimized development and how large-scale systems have reintroduced compute cost pressures.[00:07:25] Why the Question Mark in Tidy First?Kent shares why tidying is always a judgment call and why he put a question mark in the title.[00:10:14] The Real Cost of Speculative FlexibilityThey discuss why adding configurability too early creates waste and why waiting until just before you need it increases value.[00:13:46] Making Hard Changes EasyKent outlines his guiding idea. When you face a difficult change, make the change easy first, then make the easy change.[00:17:08] The Feature SawKent explains his features versus options graph and how teams repeatedly burn optionality until they hit zero. At that point, forward movement becomes painful.[00:19:37] Why 100 Percent Utilization Is a TrapKent discusses how queuing theory shows that full utilization pushes wait times toward infinity. Overcommitted teams have no room for design work.[00:22:44] Split Teams Do Not Solve the ProblemRobby talks about consulting scenarios where “tidy teams” and “feature teams” are separated. Kent argues that this splits incentives and prevents optionality from being sustained.[00:26:15] Structure and Behavior Should Not Ship TogetherKent describes why feature changes are irreversible, structure changes are reversible, and why combining them increases risk for everyone.[00:30:37] Tidying Reveals IntentWhile cleaning up structure, developers often uncover logic flaws or misunderstandings that were previously hidden.[00:32:00] When Teams Discourage TestingKent shares stories about environments where developers were punished for refactoring or writing tests. He explains why building career options is essential in those situations.[00:37:57] Why Tidying Is an Ethical ObligationKent reframes optionality as a moral responsibility. No one should make work harder for the next person who touches the code.[00:41:33] Succession and SlicingKent describes how nearly every structural change can be broken into small, safe steps, even when the change first appears atomic.[00:47:00] A Small Habit to Start TodayKent suggests adding a blank line to separate conceptual chunks in long functions. It is a small step that improves clarity immediately.Resources MentionedTidy First? by Kent BeckKent Beck on SubstackThe Timeless Way of Building by Christopher AlexanderThanks to Our Sponsor!Turn hours of debugging into just minutes! AppSignal is a performance monitoring and error-tracking tool designed for Ruby, Elixir, Python, Node.js, Javascript, and other frameworks.It offers six powerful features with one simple interface, providing developers with real-time insights into the performance and health of web applications.Keep your coding cool and error-free, one line at a time! Use the code maintainable to get a 10% discount for your first year. Check them out! 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.
    Más Menos
    50 m
  • Don MacKinnon: Why Simplicity Beats Cleverness in Software Design
    Dec 2 2025
    Episode Highlights[00:00:48] What Makes Software MaintainableDon explains why unnecessary complexity is the biggest barrier to maintainability, drawing on themes from A Philosophy of Software Design.[00:03:14] The Cost of Clever AbstractionsA real story from a Node.js API shows how an unused abstraction layer around MongoDB made everything harder without delivering value.[00:04:00] Shaping Teams and Developer ToolsDon describes the structure of the Searchcraft engineering team and how the product grew out of recurring pain points in client projects.[00:06:36] Reducing Complexity Through SDK and Infra DesignWhy Searchcraft intentionally limits configuration to keep setup fast and predictable.[00:08:33] Lessons From ConsultingRobby and Don compare consulting and product work, including how each environment shapes developers differently.[00:15:34] Inherited Software and Abandoned DependenciesDon shares the problems that crop up when community packages fall behind, especially in ecosystems like React Native.[00:18:00] Evaluating Third-Party LibrariesSignals Don looks for before adopting a dependency: adoption, update cadence, issue activity, and whether the library is “done.”[00:19:40] Designing Code That Remains UnderstandableWhy clear project structure and idiomatic naming matter more than cleverness.[00:20:29] RFCs as a Cultural AnchorHow Don’s team uses RFCs to align on significant changes and avoid decision churn.[00:23:00] Documentation That Adds ContextDocumentation should explain why, not echo code. Don walks through how his team approaches this.[00:24:11] Type Systems and MaintainabilityHow Don’s journey from PHP and JavaScript to TypeScript and Rust changed his approach to structure and communication.[00:27:05] Testing With TypesStable type contracts make tests cleaner and less ambiguous.[00:27:45] Building Trust in AI SystemsDon discusses repeatability, hallucinations, and why tools like MCP matter for grounding LLM behavior.[00:29:28] AI in Developer ToolsSearch Craft’s MCP server lets developers talk to the platform conversationally instead of hunting through docs.[00:33:21] Improving Legacy Systems SlowlyThe Strangler pattern is a practical way to replace old systems one endpoint at a time.[00:34:11] Deep Work and Reducing Reactive NoiseDon encourages developers to carve out time for uninterrupted thinking rather than bouncing between notifications.[00:36:09] Measuring ProgressBuild times, test speeds, and coverage provide signals teams can use to track actual improvement.[00:38:24] Changing Opinions Over a CareerWhy Don eventually embraced TypeScript after initially writing it off.[00:39:15] Industry Trends and Repeating CyclesSPAs, server rendering, and the familiar pendulum swing in web architecture.[00:41:26] Experimentation and Team AutonomyHow POCs and side projects surface organically within Don’s team.[00:44:42] Growing Skills Through Intentional GoalsSetting learning targets in 1:1s to support long-term developer growth.[00:47:19] Where to Find DonLinkedIn, Blue Sky, and his site: donmackinnon.dev.Resources MentionedA Philosophy of Software Design by John OusterhoutJohn Ousterhout’s Maintainable.fm Interview (Episode 131)SearchcraftElasticAlgoliaWordPress Plugin DirectoryRequest for Comments (RFC)Strangler Fig PatternC2 WikiModel Context Protocol (MCP)Glam AIAubrey/Maturin Series by Patrick O’BrianMaster and Commanderdonmackinnon.devThanks to Our Sponsor!Turn hours of debugging into just minutes! AppSignal is a performance monitoring and error-tracking tool designed for Ruby, Elixir, Python, Node.js, Javascript, and other frameworks.It offers six powerful features with one simple interface, providing developers with real-time insights into the performance and health of web applications.Keep your coding cool and error-free, one line at a time! Use the code maintainable to get a 10% discount for your first year. Check them out! 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.
    Más Menos
    51 m
Todavía no hay opiniones