Powered by RND
PodcastsBusinessMaintainable

Maintainable

Robby Russell
Maintainable
Latest episode

Available Episodes

5 of 219
  • Chris Zetter: Building a Database to Better Understand Maintainability
    Episode SummaryIn this conversation, Robby sits down with software engineer and author Chris Zetter to explore what building a relational database from scratch can teach us about maintainability, architectural thinking, and team culture. Chris shares why documentation often matters more than perfectly shaped code, why pairing accelerates learning and quality, and why “boring technology” is sometimes the most responsible choice. Together they examine how teams get stuck in local maxima, how junior engineers build confidence, and how coding agents perform when asked to implement a database.Episode Highlights[00:01:00] What Makes Software MaintainableChris explains that well-maintained software is defined by how effectively it helps teams deliver value and respond to change. In some domains—like payroll systems—the maintainability burden shifts toward documentation rather than code organization.[00:03:50] Documentation vs. Code CommentsHe describes visual docs, system diagrams, and commit–ticket links as more durable sources of truth than inline comments, which tend to rot and discourage refactoring.[00:05:15] Rethinking Technical DebtChris argues that teams overuse the metaphor. He prefers naming the specific reason something is slow or brittle—like outdated libraries or rushed decisions—because that builds trust and clarity with product partners.[00:07:45] Where Core Debt Really LivesEarlier in his career he obsessed over long files; now he focuses on structural issues. Architecture, boundaries, and naming affect changeability far more than messy internals.[00:08:15] Pairing as the Default ToolChris loves pairing for its speed, clarity, and shared context. Remote pairing has removed obstacles like mismatched keyboard setups or cramped office seating. Tools like Tuple and Pop keep it smooth.[00:10:20] The Mob Tool and Fast Driver SwitchingHe explains how the Mob CLI tool makes switching drivers nearly instant, which keeps energy high and lets everyone work in their own editor environment, reducing friction and fatigue.[00:13:45] Pairing with Junior EngineersPairing helps newer developers avoid painful pull-request rework and builds confidence. But teams must balance pairing with opportunities for engineers to build autonomy.[00:20:50] Getting Feedback SoonerChris emphasizes speed of feedback: showing progress early to stakeholders prevents wasted days—and sometimes weeks—of heading in the wrong direction.[00:21:10] Boring Technology as a FeatureAfter being burned by abandoned frameworks, Chris champions predictable, well-supported tools for the big layers: language, framework, database. Novelty is great—but only in places where rollback is cheap.[00:23:20] Balancing Professional Development with Organizational NeedsDevelopers want experience with new technology; organizations want stability. Chris describes how leaders can channel curiosity safely and productively.[00:27:20] Build a Database ServerChris’s book, Build a Database Server, is a practical, language-agnostic guide to building a relational database from scratch. It uses a test suite as a feedback loop so developers can experiment, refactor, and learn architectural trade-offs along the way.[00:31:45] What Writing the Book Taught HimCreating a database deepened his appreciation for Postgres maintainers. He highlights the number of moving parts—storage engine, type system, query planner, wire protocol—and how academic papers often skip hands-on guidance.[00:33:00] Experimenting with Coding AgentsChris tested coding agents by giving them the book’s test suite. They passed many tests but produced brittle, incoherent architecture. Without a feedback loop for quality, the agents aimed only to satisfy test conditions—not build maintainable systems.[00:36:55] Escaping a Local Maxima Through a Design SprintChris shares a story of a team stuck maintaining a system that no longer fit business needs. A design sprint gave them space to reimagine the system, clarify naming, validate concepts, and identify which pieces were worth reusing.[00:40:40] Rewrite vs. RefactorHe leans toward refactor for large systems but supports small, isolated rewrites when boundaries are clear.[00:41:40] Building Trust in Legacy CodeWhen inheriting an old codebase, Chris advises starting with a small bug fix or UI tweak to understand deployment pipelines, test coverage, and failure modes before tackling bigger improvements.[00:43:20] Recommended ReadingChris recommends _Turn the Ship Around! for its lessons on empowering teams to act with intent instead of waiting for permission.Resources MentionedBuild a Database ServerChris Zetter’s blogThe Mob Programming CLI ToolTuplePopTurn the Ship Around!Thanks 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.
    --------  
    49:41
  • Denis Rechkunov: When Consistency Becomes a Culture
    Maintaining consistency across a sprawling codebase is one of the hardest challenges in software engineering. Denis Rechkunov, a Principal Software Engineer at Elastic, joins Robby to share how his team turned consistency into a cultural practice rather than a technical checklist. From managing open source projects with hundreds of contributors to experimenting safely with new patterns, Denis believes maintainability begins with shared ownership, not just clean code.He explains how Elastic introduced automation and linters to improve cohesion without discouraging creativity. Instead of enforcing perfection across the entire system, Denis’ team scopes their changes to manageable areas and rewards steady progress over sweeping rewrites. Their annual “On Week” tradition gives engineers space to fix what frustrates them most, showing how small, focused bursts of work can produce big leaps in stability and morale.The conversation also explores the human side of maintainability. Denis recalls early lessons about unclear expectations, the importance of documenting decisions in public pull requests, and how open feedback loops build trust across remote teams. Whether it’s stabilizing a flaky CI pipeline or mentoring new engineers, Denis argues that technical excellence thrives when consistency becomes a habit shared by everyone.Episode Highlights[00:01:02] Defining Well-Maintained SoftwareDenis identifies consistency, documentation, testability, and agility as the key ingredients of maintainable systems.[00:02:22] Balancing Standards and AutonomyHow automation and linters help preserve code cohesion while minimizing interpersonal friction.[00:04:08] Experimenting SafelyElastic scopes new patterns to low-risk modules before broader adoption, avoiding mass rewrites.[00:07:19] Incremental CleanupLinters only apply to changed files, helping the team fix issues gradually without overwhelming contributors.[00:08:02] Maintainability as a People ProblemDenis highlights that sustainable systems depend more on culture and mentorship than on architecture.[00:10:13] Lessons from MiscommunicationAn early experience showed the cost of undocumented conventions and unclear onboarding.[00:17:09] Making Space for Technical DebtElastic’s engineers dedicate part of each sprint and an annual “On Week” to tackle maintenance work.[00:23:05] Restoring CI ReliabilityDenis shares how the team revived a pipeline with only a 10% success rate by categorizing failures and focusing on data.[00:32:00] Practicing Software ArchaeologyHe stresses the value of documenting discussions in pull requests to avoid historical guesswork later.[00:36:09] Feedback and TrustOpen communication, humility, and mutual feedback loops form the backbone of a maintainable culture.[00:51:00] Embracing Chaos in Open SourceDenis encourages teams to accept a degree of entropy and focus their efforts on user-facing stability.[01:00:00] Security and PrivacyWhy maintainability, trust, and privacy are inseparable pillars of long-term sustainability.[01:01:06] Where to StartInstead of rewriting code, start by cultivating maintainability as a shared value across the team.Resources MentionedElasticgolangci-lintAppSignalThe Caves of Steel by Isaac Asimov — Denis’ recommendation inspired Robby to finally pick up a copy and start reading it himself.Denis’s Blog – rdner.deDenis on GitHubDenis on MastodonDenis on LinkedInThanks 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.
    --------  
    1:06:58
  • Nathan Ladd: Relentless Improvement and the Cost of Neglect
    Episode NotesThe discussion moves into how standards evolve beyond tools, the trade-offs of monocultures vs. consensus-driven teams, and why ownership matters when the original authors move on. Nathan also unpacks the cost of neglect, describing defects as anything that slows developers down—not just issues that impact end users.Later in the conversation, Nathan recounts a migration from a React SPA to Turbo and Stimulus that removed barriers between designers and developers. He highlights how keeping all problems on the radar together prevents teams from falling into local optima. The episode closes with reflections on TestBench, blind spots in testing, continuous improvement in remote teams, and advice for developers who feel stuck raising maintenance concerns.Episode Highlights[00:01:07] Defining Well-Maintained Software: Nathan shares his three key markers—up-to-date dependencies, adherence to team standards, and fixing defects immediately.[00:02:53] From Tools to Tacit Knowledge: Why norms start with tool-enforced rules like RuboCop but evolve into cultural agreements within teams.[00:04:49] Speed vs. Durability: Teams built on monoculture move quickly early on, but diverse, consensus-driven cultures go farther.[00:11:11] Owning the Architecture: When original developers leave, new teams must take responsibility for architecture rather than defer decisions.[00:13:37] The Cost of Neglect: Dependencies, drifting standards, and defects interact in compounding ways. Nathan reframes defects as “anything that impedes developer effectiveness.”[00:17:46] React → Turbo + Stimulus Migration: A costly SPA and siloed design team gave way to a simpler approach that reduced rework and empowered designers to contribute directly.[00:22:44] Avoiding Local Optima: Tackling problems in isolation creates dead ends—addressing them holistically opens real paths forward.[00:24:32] Who We Seek Validation From: Developer identities often align with whose approval they value—shaping front-end vs. back-end divides.[00:27:34] Comfort vs. Maintenance Burden: Silos built for comfort create tomorrow’s maintenance problems.[00:33:45] Relentless Improvement in Remote Teams: Start as an ensemble, evolve into autonomous work cells, and use work logs to sustain consensus.[00:38:33] What’s Missing from Remote Work: Nathan reflects on lost “hallway conversations” and the challenge of building social glue remotely.[00:40:50] The Story Behind TestBench: Dissatisfaction with existing frameworks and a desire for simplicity led to TestBench’s creation.[00:47:38] Testing Blind Spots: The biggest blind spot is equating testing with automation—interactive testing and intelligible output remain essential.[00:50:35] Advice for Stuck Engineers: Nathan encourages developers to study quality traditions, connect with peers, and embrace continuous improvement.[00:53:16] Book Recommendations: Deming’s Out of the Crisis and The New Economics, Toyota’s product development work, and Rawls’ A Theory of Justice.Tools & Resources MentionedBrightworks Digital – Nathan’s current company, where he serves as Principal.Nathan Ladd on LinkedIn – Connect with Nathan and follow his work.TestBench – A Ruby testing framework co-created by Nathan.Turbo – Hotwire framework for building modern, fast applications without heavy JavaScript.Stimulus – A modest JavaScript framework for enhancing HTML with small, reusable controllers.RSpec – A popular Ruby testing tool for behavior-driven development.Minitest – A simple and fast Ruby testing framework.RuboCop – A Ruby static code analyzer and formatter.Lessons Learned in Software Testing – Classic book on testing by Cem Kaner, James Bach, and Bret Pettichord.Out of the Crisis – W. Edwards Deming’s influential work on quality and systems thinking.The New Economics – Deming’s follow-up book on continuous improvement.A Theory of Justice – John Rawls’ seminal work on moral and political philosophy.The Toyota Product Development System – Insights into Toyota’s continuous improvement and development practices.Thanks 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.
    --------  
    54:31
  • Taylor Otwell: What 14 Years of Laravel Taught Me About Maintainability
    Taylor Otwell, creator of Laravel and CEO of Laravel LLC, joins Robby to reflect on his 14-year journey building and maintaining one of the most popular web frameworks in the world. From its PHP 5.3 origins to a full-time business with a 70-person team, Taylor shares what he's learned about code maintainability, developer experience, and what it means to evolve without overcomplicating things.He discusses the importance of simplicity in software design, why sticking to framework conventions leads to better long-term outcomes, and how his minimalist mindset continues to shape Laravel today. Taylor also opens up about the moment he felt out of ideas, how Laravel’s 2024 funding round marked a new chapter, and what it’s like to hand off more responsibility while staying involved in the open source core.Episode Highlights[00:01:07] Taylor’s Definition of Maintainable Software  Simplicity, understandability, and confidence in making changes are key themes in Taylor's approach to longevity in software.[00:02:13] Kenny vs. the Terminator: A Metaphor for Code  Why Taylor believes software should be disposable and adaptable, not rigid and overbuilt.[00:05:39] Laravel’s Unexpected Traction  Taylor shares the early days of Laravel and the moment he realized the project had legs.[00:10:30] Who Laravel Is Built For  Taylor talks about designing for the “average developer” and balancing his own preferences with those of a broader community.[00:14:50] Curating a Growing Project—Solo  Despite Laravel’s scale, Taylor remains the sole curator of the open source core and explains why that hasn’t changed (yet).[00:18:00] From Scripts to Business  How Laravel’s first commercial product came out of a personal need—and pushed Taylor to go full time.[00:20:00] Making Breaking Changes  Taylor explains Laravel’s evolution and why he now tries to avoid breaking backward compatibility.[00:25:00] Stick to the Conventions  The Laravel apps that age best are the ones that don’t get too clever, Taylor says—because the clever dev always moves on.[00:27:00] Recognizing “Cleverness” as a Smell  Advice for developers who may unknowingly be over-engineering their way into future technical debt.[00:30:00] Making Decisions by Comparing Real Code  Taylor explains why he always brings discussions back to reality by looking at code side-by-side.[00:34:00] Dependency Injection vs. Facades  Why most Laravel developers stick with facades, and how architectural trends have changed.[00:41:00] Laravel’s Evolution Around Static Analysis  Taylor talks about embracing PHP's maturing type system while staying true to the dynamic roots of the framework.[00:43:00] A Shift in Laravel’s Testing Culture  How Adam Wathan’s course reshaped the community’s approach to feature testing in Laravel apps.[00:48:09] What Keeps Laravel Interesting Now  Taylor reflects on transitioning from solving his own problems to empowering a larger team—and why that’s the new challenge.Resources & LinksLaravelLaravel ChangelogTaylor on X (Twitter)Taylor on BlueskyElements of Style – William Strunk Jr.Adam Wathan's “Test-Driven Laravel” courseThanks 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.
    --------  
    55:56
  • Sara Jackson: Why Resilience Is a Team Sport
    Robby is joined by Sara Jackson, Senior Developer at thoughtbot, to explore the practical ways teams can foster resilience—not just in their infrastructure, but in their everyday habits. They talk about why documentation is more than a chore, how to build trust in test suites, and how Chaos Engineering at the application layer can help make the case for long-term investment in maintainability.Sara shares why she advocates for writing documentation on day one, how “WET” test practices have helped her avoid brittle test suites, and why she sees ports as a powerful alternative to full rewrites. They also dive into why so many teams overlook failure scenarios that matter deeply to end users—and how being proactive about those situations can shape better products and stronger teams.Episode Highlights[00:01:28] What Well-Maintained Software Looks Like: Sara champions documentation that’s trusted, updated, and valued by the team.[00:07:23] Invisible Work and Team Culture: Robby and Sara discuss how small documentation improvements often go unrecognized—and why leadership buy-in matters.[00:10:34] Why Documentation Should Start on Day One: Sara offers a “hot take” about writing things down early to reduce cognitive load.[00:16:00] What Chaos Engineering Really Is: Sara explains the scientific roots of the practice and its DevOps origins.[00:20:00] Application-Layer Chaos Engineering: How fault injection can reveal blind spots in the user experience.[00:24:36] Observability First: Why you need the right visibility before meaningful chaos experiments can begin.[00:28:32] Pitching Resilience to Stakeholders: Robby and Sara explore how chaos experiments can justify broader investments in system quality.[00:33:24] WET Tests vs. DRY Tests: Sara explains why test clarity and context matter more than clever abstractions.[00:40:43] Working on Client Refactors: How Sara approaches improving test coverage before diving into major changes.[00:42:11] Rewrite vs. Refactor vs. Port: Sara introduces “porting” as a more intentional middle path for teams looking to evolve their systems.[00:50:45] Delete More Code: Why letting go of unused features can create forward momentum.[00:51:13] Recommended Reading: Being Wrong by Kathryn Schulz.Resources & LinksSara on MastodonthoughtbotRubyConf 2024 Talk – Chaos Engineering on the Death StarBook: Being Wrong by Kathryn SchulzFlu Shot on GitHubChaosRB on GitHubSemian from Shopify — a chaos engineering toolkit for RubyThanks 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.
    --------  
    53:06

More Business podcasts

About Maintainable

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.
Podcast website

Listen to Maintainable, The Ramsey Show and many other podcasts from around the world with the radio.net app

Get the free radio.net app

  • Stations and podcasts to bookmark
  • Stream via Wi-Fi or Bluetooth
  • Supports Carplay & Android Auto
  • Many other app features

Maintainable: Podcasts in Family

Social
v7.23.12 | © 2007-2025 radio.de GmbH
Generated: 11/19/2025 - 5:58:20 PM