Sveriges mest populära poddar

Maintainable

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

51 min • 25 februari 2025

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

📢 Connect with Julia López

🍇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:

Or search "Maintainable" wherever you stream your podcasts.

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

Förekommer på
00:00 -00:00