Maintainable

Robby Russell
undefined
Apr 1, 2025 • 1h 9min

Evan Phoenix: The Why of the One Line

Evan Phoenix (@evanphx), CEO of Miren, joins Robby to explore the subtle but powerful difference between writing code that works and writing code that explains itself. They discuss the role of clarity in maintainable systems, why splitting a monolith can backfire, and what developers can learn from artists and tradespeople alike.Episode Highlights[00:01:30] What Makes Software Maintainable?Evan defines maintainability as how easily a newcomer can make a change with minimal context.[00:02:30] Why Business Logic Should Be ObviousA discussion on domain knowledge leakage and abstracting rules like “can we sell today?”[00:05:00] Programming 'Mouthfeel' and the Trap of PrefactoringEvan explains why prematurely optimizing for reuse can lead to unnecessary complexity.[00:07:00] When to Extract Logic: The Copy/Paste SignalA practical approach to identifying reusable components by spotting repeated code.[00:08:00] Technical Debt as a Reflection of Cognitive LoadWhy forgetting your own code doesn’t automatically mean it’s “bad” code.[00:10:30] Testing as Emotional InsuranceHow writing even basic checks can build team confidence—especially when test coverage is weak.[00:13:00] Daily Integration Tests: A Low-Pressure Safety NetUsing nightly integration runs to catch invisible bugs in complex systems.[00:14:00] Confidence > 100% Test CoverageWhy fast feedback loops matter more than aiming for exhaustive tests.[00:20:00] Splitting the Monolith: A Cautionary TaleEvan shares how decoupling apps without decoupling the database created chaos.[00:22:00] Shared Models, Split Repos, and Hidden PitfallsThe unexpected bugs that emerge when two apps maintain duplicate models and validations.[00:23:00] Better Alternatives to Splitting CodebasesHow separate deployments and tooling can mimic team separation without architectural debt.[00:28:00] The Hidden Cost of Diverging Business DomainsWhen apps evolve independently, business logic begins to drift—undermining consistency.[00:29:00] Building Miren and Staying MotivatedHow Evan approaches early-stage product development with curiosity and detachment.[00:36:00] How to Know When Your Open Source Project Is “Done”Reframing “dead” projects as complete—and why stability is often a feature.[01:01:00] Signals for Trusting Open Source DependenciesEvan’s mental checklist for evaluating if a library is worth adopting.[01:07:00] The Importance of Hiring Junior DevelopersWhy investing in beginners is crucial for the future of our industry.[01:08:00] Book RecommendationsEvan recommends The Inner Game of Tennis and Snow Crash.Links and ResourcesEvan Phoenix’s WebsiteEvan on GitHubEvan on MastodonBook RecommendationsThe Inner Game of Tennis (book)Snow Crash by Neal StephensonThanks 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.
undefined
10 snips
Mar 25, 2025 • 47min

Chris Salvato: Building Developer Paradise by Sitting in the Problem Space

Chris Salvato, a Senior Staff Engineer at Shopify, shares invaluable insights into navigating legacy codebases. He emphasizes the importance of understanding human frustrations and spending time in the 'problem space' instead of rushing to fix issues. By focusing on one-on-one conversations, Chris helps teams identify systemic pain points and align their goals. He highlights the need for lean and intuitive domain models, effective team collaboration, and the role of mentorship in software development, transforming challenges into opportunities for growth.
undefined
Mar 18, 2025 • 41min

Heimir Thor Sverrisson: Architecture First, Tech Debt Second

Heimir Thor Sverrisson, an engineering mentor at MojoTech with over 40 years in software development, dives deep into the critical role of software architecture. He discusses how poor architectural choices lead to failure and shares experiences from mentoring engineers and tackling technical debt. Heimer highlights a major bank's misguided performance fix, emphasizing the importance of upfront design versus agile practices. He also touches on the balance between rapid delivery and thorough planning, and his volunteer work in satellite software design.
undefined
Mar 11, 2025 • 42min

Noémi Ványi: Only Fix Problems That Are Actually Problems

Noémi Ványi, a Senior Software Engineer at Xata, discusses the art of knowing when to refactor code and the importance of developer autonomy for sustainable software. She shares insights on balancing pragmatism with maintainability and reflects on her experiences with both open-source and closed-source projects. Noémi emphasizes that not all technical debt needs addressing, advocating for strategic management instead. The conversation also touches on the significance of strong communication in teams and the necessity of clear commit messages to enhance collaboration.
undefined
Feb 25, 2025 • 51min

Julia López: Code Tells a Story—Even the White Spaces

Join Julia López, a Senior Software Engineer at Harvest, as she shares her passion for code refactoring and the significance of white spaces and variable names in understanding legacy systems. Julia discusses her experience revamping Harvest's billing system, balancing stakeholder expectations, and the challenges of transitioning while supporting various teams. She emphasizes the importance of mentorship in navigating refactoring, communication in remote settings, and strategies for advocating technical debt reduction, making for insightful takeaways.
undefined
Feb 18, 2025 • 53min

Marty Haught: Rethinking Technical Debt—Is It Really Just Drift?

Marty Haught, Director of Open Source at Ruby Central, talks about the sustainability challenges of open-source projects and the unique responsibilities of maintaining RubyGems. He proposes that ‘drift’ may be a more accurate metaphor than technical debt for the aging of software. The discussion highlights security strategies, including a partnership with Trail of Bits for auditing, and examines the implications of the EU Cyber Resilience Act on maintainers. Haught emphasizes the importance of corporate sponsorships in supporting open-source sustainability.
undefined
Feb 11, 2025 • 45min

Mike Bowers - From ISAM to JSON—Navigating 40+ Years of Database Evolution

Mike Bowers, Chief Architect at FairCom, has spent decades navigating the evolution of database technology. In this conversation, he and Robby explore the challenges of maintaining a 40+ year-old codebase, balancing legacy constraints with forward-thinking design, and the realities of technical debt.Mike shares how FairCom transitioned from ISAM-based databases to modern JSON-driven APIs, the trade-offs between strict schemas and flexible document stores, and how software architecture plays a critical role in long-term maintainability. He also explains why human-readable JSON simplifies debugging, how documentation-driven development improves API usability, and why many software teams struggle with refactoring at the right time.Topics covered[00:05:32] The role of software architecture in long-term maintainability[00:10:45] Why FairCom's legacy ISAM technology still matters today[00:14:20] Transitioning to a JSON-based API for modern developers[00:19:40] The challenges of maintaining 40+ years of C code[00:24:10] Technical debt: What it really means and how to manage it[00:28:50] The trade-offs between strict schemas and flexible NoSQL approaches[00:34:00] When to refactor vs. when to start over from scratch[00:38:15] The influence of product management thinking on software architecture[00:42:30] Advice for engineers considering a shift into architecture rolesResources MentionedFairComMike Bowers on LinkedInFairCom on Twitter/XBook Recommendation:The Influential Product Manager by MSc BuceroThanks to Our Sponsor!Need a smoother way to share your team's inbox? Jelly’s got you covered! 🍇✨Jelly is perfect for small teams — because it was built by a small team. If you struggle with keeping your team’s knowledge organized and accessible, check out Jelly, a lightweight knowledge management tool designed to make finding answers easy—without all the clutter of traditional wikis. No more sticky situations or knowledge gaps—Jelly keeps everything smooth, and shareable.Bonus for Maintainable listeners Get 20% off your first year at letsjelly.com/maintainable, 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.
undefined
4 snips
Jan 28, 2025 • 43min

Lorna Mitchell: Writing Documentation Engineers Will Actually Read

Lorna Mitchell, an open source advocate and technical writer, shares her expertise on creating documentation that engineers actually read. She discusses the vital role of documentation in software maintainability and the challenges of reviving old projects like RST2PDF. Lorna emphasizes API governance and introduces four levels of API readiness to enhance usability. Additionally, she shares practical tips for improving technical writing using tools and strategies that make complex information accessible and relatable for developers.
undefined
Jan 21, 2025 • 43min

Carola Lilienthal: Tackling Technical Debt with Patterns and Domain Knowledge

Joining the conversation is Carola Lilienthal, a Software Architect and Managing Director at WPS, known for her expertise in technical debt and software maintainability. She delves into the cognitive science behind software architecture and emphasizes the importance of simplicity and modularity. Carola introduces the Modularity Maturity Index (MMI) as a tool for assessing system health. She also shares methods for improving legacy systems, fostering domain-driven design, and effectively onboarding developers in complex environments.
undefined
26 snips
Jan 14, 2025 • 46min

Joel Hawksley: The Hidden Costs of Frontend Complexity

Joel Hawksley, a Staff Software Engineer at GitHub specializing in accessibility and frontend architecture, shares valuable insights on the hidden costs of frontend complexity. He emphasizes the importance of changeability in well-maintained software. The conversation dives into GitHub's approach to accessibility as both a business and legal imperative. Hawksley discusses the paradox of design consistency versus the need for flexibility in their extensive design system and advocates for using off-the-shelf components to ease complexities for smaller teams.

The AI-powered Podcast Player

Save insights by tapping your headphones, chat with episodes, discover the best highlights - and more!
App store bannerPlay store banner
Get the app