Maintainable

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


Listen Later

How much can legacy code tell us beyond just functionality? Julia López, Senior Software Engineer at Harvest, believes that even small details—such as white spaces, variable names, and formatting choices—can reveal a system’s history.

In this episode, Julia and Robby discuss the importance of refactoring and how a strong engineering culture can make or break a team's ability to maintain and improve software over time. Julia shares her experience leading a multi-year overhaul of Harvest’s billing system, balancing stakeholder expectations while ensuring the rewrite delivered real value.

They explore how refactoring decisions evolve as teams grow, how to mentor newer developers to feel empowered to make changes, and why Julia doesn’t always trust her own estimations (for good reason). She also opens up about the complexities of transitioning a live billing system while supporting customers, finance teams, and engineering operations—all without disrupting payments.

Beyond technical decisions, they also dive into the challenges of communication in remote teams, the value of autonomy in software development, and how teams can make a case for technical debt reduction even when leadership isn’t prioritizing it. If you've ever struggled with refactoring legacy systems or advocating for improvements, this conversation is packed with practical lessons.

💡 Key Topics & Timestamps
  • [00:00:22] Meet Julia López – Her background, role at Harvest, and passion for refactoring.
  • [00:00:42] What Makes Software Maintainable? – A test suite you can trust and an engineering culture that values refactoring.
  • [00:06:31] Leading Harvest’s Billing System Overhaul – Why a full rewrite made more sense than incremental improvements.
  • [00:09:54] The Hidden Complexity of Billing Systems – Managing ACH, credit card, and invoice payments.
  • [00:14:05] The Fear Factor in Large-Scale Refactoring – Why organizations hesitate and how to push forward.
  • [00:18:47] Communication Challenges in Remote Teams – Why documentation and transparency matter beyond GitHub.
  • [00:28:30] Finding and Enforcing Engineering Patterns – How teams can encourage consistency in a constantly evolving codebase.
  • [00:35:45] Why Autonomy Matters for Developers – Learning through struggle and when to ask for help.
  • [00:45:25] Advocating for Refactoring When Leadership Says No – Julia's approach: "Ask for forgiveness, not permission—but estimate higher."
🔗 Resources Mentioned
  • Harvest – Julia's company
  • Radical Candor by Kim Scott
  • The Making of a Manager by Julie Zhuo
  • Stripe – The payment processor used in Harvest’s billing system
  • Git Blame – A tool for understanding code history
📢 Connect with Julia López
  • Julia's Website
  • LinkedIn
  • GitHub
  • BlueSky
🍇Thanks to Our Sponsor!

Jelly is the simplest, most affordable way to deal with your “contact@...” emails.

Tired of sharing an email login, or CCing colleagues to loop them into conversations? Terrified by the dizzying total cost of big-name “customer support” tools? Jelly is the answer. Whether it's for customer support, community organizing, or even managing band emails, Jelly helps your team share an email inbox and manage your conversations in a simple, elegant way. Use the "I got this” feature to communicate responsibility, and private comments for internal discussions. Jelly is perfect for small teams — because it was built by a small team. And, Jelly is actually affordableteam-based pricing means everyone can pitch in with your team’s conversations with customers, clients and beyond.

Bonus for Maintainable listeners Get 20% off your first year at letsjelly.com/maintainable.

Subscribe to Maintainable on:

  • Apple Podcasts
  • Spotify

Or search "Maintainable" wherever you stream your podcasts.

Keep up to date with the Maintainable Podcast by joining the newsletter.

...more
View all episodesView all episodes
Download on the App Store

MaintainableBy Robby Russell

  • 5
  • 5
  • 5
  • 5
  • 5

5

30 ratings


More shows like Maintainable

View all
Hanselminutes with Scott Hanselman by Scott Hanselman

Hanselminutes with Scott Hanselman

378 Listeners

Software Engineering Radio - the podcast for professional software developers by se-radio@computer.org

Software Engineering Radio - the podcast for professional software developers

265 Listeners

The Changelog: Software Development, Open Source by Changelog Media

The Changelog: Software Development, Open Source

285 Listeners

Thoughtworks Technology Podcast by Thoughtworks

Thoughtworks Technology Podcast

43 Listeners

Talk Python To Me by Michael Kennedy

Talk Python To Me

580 Listeners

Software Engineering Daily by Software Engineering Daily

Software Engineering Daily

624 Listeners

Soft Skills Engineering by Jamison Dance and Dave Smith

Soft Skills Engineering

271 Listeners

Go Time: Golang, Software Engineering by Changelog Media

Go Time: Golang, Software Engineering

128 Listeners

JS Party: JavaScript, CSS, Web Development by Changelog Media

JS Party: JavaScript, CSS, Web Development

94 Listeners

Syntax - Tasty Web Development Treats by Wes Bos & Scott Tolinski - Full Stack JavaScript Web Developers

Syntax - Tasty Web Development Treats

984 Listeners

REWORK by 37signals

REWORK

212 Listeners

CoRecursive: Coding Stories by Adam Gordon Bell - Software Developer

CoRecursive: Coding Stories

185 Listeners

The Stack Overflow Podcast by The Stack Overflow Podcast

The Stack Overflow Podcast

62 Listeners

Oxide and Friends by Oxide Computer Company

Oxide and Friends

48 Listeners

The Pragmatic Engineer by Gergely Orosz

The Pragmatic Engineer

50 Listeners