
April Wensel: Navigating Legacy Code with Compassion
10/01/24 • 52 min
In this episode of Maintainable, Robby speaks with April Wensel, Founder and Owner of Compassionate Coding. April shares her journey in the software industry and how she came to embrace compassion as a core value in coding and team dynamics. She explains why empathy is critical when working with legacy code, mentoring junior developers, and addressing technical debt.
Episode Highlights
- [00:05:32] Introduction to Compassionate Coding: April discusses the mission behind Compassionate Coding and why human-centered development is essential.
- [00:13:36] Compassion and Technical Debt: How fostering a compassionate mindset helps teams navigate the challenges of maintaining legacy code and tackling technical debt.
- [00:20:10] Empathy in Code Reviews: April talks about the role of compassion in creating healthy, constructive code review cultures.
- [00:26:30] Onboarding with Compassion: The importance of pairing and empathy in onboarding new engineers, whether junior or senior.
- [00:31:55] The Refactor vs. Rewrite Debate: April explains why she usually sides with refactoring over rewriting code, and how compassion can inform that decision.
- [00:41:20] The Role of Leadership in Code Quality: How leaders can set the tone for compassionate coding by prioritizing better documentation and creating a supportive team environment.
- [00:44:56] Community Service and Building Empathy: April shares how volunteering outside of tech has helped her develop empathy that translates into better teamwork and communication in the workplace.
Key Takeaways:
- Compassion in coding isn’t just about clean code; it's about how we treat ourselves and others in the process of writing and maintaining software.
- Legacy code doesn’t have to be a source of frustration; by embracing empathy and self-compassion, teams can tackle it with a positive mindset.
- Pairing and mentorship are powerful tools in onboarding, helping to bring new team members into a supportive, inclusive environment.
- Effective communication with stakeholders about technical debt requires empathy and understanding of their priorities.
- Compassionate coding also extends beyond the development team, influencing interactions with non-engineers, users, and the broader community.
Resources:
- Compassionate Coding
- April's Twitter
- 12 Steps to a Compassionate Life by Karen Armstrong
Follow April Wensel:
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:
Or search "Maintainable" wherever you stream your podcasts.
Keep up to date with the Maintainable Podcast by joining the newsletter.
In this episode of Maintainable, Robby speaks with April Wensel, Founder and Owner of Compassionate Coding. April shares her journey in the software industry and how she came to embrace compassion as a core value in coding and team dynamics. She explains why empathy is critical when working with legacy code, mentoring junior developers, and addressing technical debt.
Episode Highlights
- [00:05:32] Introduction to Compassionate Coding: April discusses the mission behind Compassionate Coding and why human-centered development is essential.
- [00:13:36] Compassion and Technical Debt: How fostering a compassionate mindset helps teams navigate the challenges of maintaining legacy code and tackling technical debt.
- [00:20:10] Empathy in Code Reviews: April talks about the role of compassion in creating healthy, constructive code review cultures.
- [00:26:30] Onboarding with Compassion: The importance of pairing and empathy in onboarding new engineers, whether junior or senior.
- [00:31:55] The Refactor vs. Rewrite Debate: April explains why she usually sides with refactoring over rewriting code, and how compassion can inform that decision.
- [00:41:20] The Role of Leadership in Code Quality: How leaders can set the tone for compassionate coding by prioritizing better documentation and creating a supportive team environment.
- [00:44:56] Community Service and Building Empathy: April shares how volunteering outside of tech has helped her develop empathy that translates into better teamwork and communication in the workplace.
Key Takeaways:
- Compassion in coding isn’t just about clean code; it's about how we treat ourselves and others in the process of writing and maintaining software.
- Legacy code doesn’t have to be a source of frustration; by embracing empathy and self-compassion, teams can tackle it with a positive mindset.
- Pairing and mentorship are powerful tools in onboarding, helping to bring new team members into a supportive, inclusive environment.
- Effective communication with stakeholders about technical debt requires empathy and understanding of their priorities.
- Compassionate coding also extends beyond the development team, influencing interactions with non-engineers, users, and the broader community.
Resources:
- Compassionate Coding
- April's Twitter
- 12 Steps to a Compassionate Life by Karen Armstrong
Follow April Wensel:
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:
Or search "Maintainable" wherever you stream your podcasts.
Keep up to date with the Maintainable Podcast by joining the newsletter.
Previous Episode

Saron Yitbarek: The Balance Between Maintainable Code and Multiple Streams of Income
In this episode of the Maintainable Software Podcast, Robby sits down with Saron Yitbarek, founder and CEO of DiscoLink, to explore the challenges of maintaining early-stage software while balancing multiple streams of income. Saron shares her journey from being a solo developer to hiring her first teammate and the lessons learned along the way about code maintainability and business logic.
Episode Highlights
- [00:05:32] Introduction to Saron's Background: Robby and Saron discuss her startup, DiscoLink, and the initial development of its MVP.
- [00:10:50] The Importance of Context in Code: Saron emphasizes why understanding the business decisions behind code is crucial for maintainability.
- [00:15:10] Onboarding a New Developer: Saron shares her experience hiring her first developer and how it changed her approach to software maintenance.
- [00:20:32] Multiple Streams of Income: Saron explains her motivation behind building DiscoLink to help professionals manage different revenue streams.
- [00:25:40] Transparency Around Money: A candid conversation about developers’ fears around charging for their work and how to overcome them.
- [00:30:45] Ethics and Side Projects: Robby and Saron discuss ethical considerations when working on side projects while employed full-time.
- [00:35:12] How Podcasting Shaped Saron's Career: Saron talks about how being a podcast host impacted her career growth and networking.
Key Takeaways
- Maintainability Beyond Code: Saron highlights the importance of documenting not just the code but also the business rationale behind decisions.
- Onboarding Challenges: Bringing a new developer into a solo-built project requires strong communication, context sharing, and flexible documentation practices.
- The Power of Multiple Income Streams: Saron’s vision with DiscoLink focuses on helping tech professionals build financial security through various revenue channels.
- Confronting Money Anxiety: Many developers struggle with charging for their work, but transparency and community conversations help break down those barriers.
- Ethical Side Projects: It's important to consider the ethical implications of using work-learned skills for personal projects.
Resources
- Saron Yitbarek on LinkedIn
- Saron Yitbarek on Twitter
- DiscoLink Website
- Book Recommendation: Formerly Known as Food by Kristin Lawless
Links:
- My newsletter: https://themultihyphenate.ck.page/newsletter
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:
Or search "Maintainable" wherever you stream your podcasts.
Keep up to date with the Maintainable Podcast by joining the newsletter.
Next Episode

Alan Ridlehoover: Building Robust Systems Through Behavior-Centric Testing
Alan Ridlehoover: Building Robust Systems Through Behavior-Centric Testing
In this episode of Maintainable, Robby speaks with Alan Ridlehoover, Senior Engineering Manager at Cisco Meraki. Alan shares his perspective on building well-maintained software by focusing on behavior-centric testing, clear code ownership, and thoughtful technical decisions that stand the test of time.
Alan discusses his experience working in both startup environments and large-scale engineering teams, including how he navigates the unique challenges of each. He provides practical advice on managing conditional logic in code, scaling with third-party dependencies, and ensuring that testing strategies remain effective as systems grow in complexity.
Key Takeaways:
- The characteristics of well-maintained software: behavior-centric testing, solid code principles, and ownership boundaries.
- Balancing the needs of startups vs. large enterprises when it comes to software maintenance.
- Alan’s approach to handling conditional logic with a technique called "rehydration" to simplify complex code.
- Why focusing on behavior, not implementation, is critical for scalable, maintainable tests.
- The importance of interfaces and facades for managing third-party dependencies and future scalability.
- How to approach technical debt as a conscious trade-off, not an inevitable burden.
- Best practices for addressing flaky tests, including managing non-determinism, order dependencies, and race conditions.
- How to set up effective monitoring and alerting systems to maintain a healthy software environment.
- The role of team structure and product ownership in delivering sustainable, high-quality software.
Episode Highlights:
- [00:05:32] Introduction to the Guest's Background: Robby and Alan discuss Alan's work at Cisco Meraki and his approach to well-maintained software.
- [00:15:10] The Importance of Behavior-Centric Testing: Alan explains why focusing on behavior, not implementation, helps in both startups and large-scale environments.
- [00:24:30] Rehydration: A Strategy for Managing Conditional Logic in Code: Alan shares his method for simplifying code with many conditionals.
- [00:35:00] Navigating Technical Debt: Alan offers advice on how to strategically manage technical debt without slowing down business needs.
- [00:45:18] Monitoring and Alerting: Alan’s tips on keeping systems healthy and avoiding customer-facing issues through smart monitoring setups.
Resources Mentioned:
Connect with Alan Ridlehoover:
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:
Or search "Maintainable" wherever you stream your podcasts.
Keep up to date with the Maintainable Podcast by joining the newsletter.
If you like this episode you’ll love
Episode Comments
Generate a badge
Get a badge for your website that links back to this episode
<a href="https://goodpods.com/podcasts/maintainable-333012/april-wensel-navigating-legacy-code-with-compassion-75522178"> <img src="https://storage.googleapis.com/goodpods-images-bucket/badges/generic-badge-1.svg" alt="listen to april wensel: navigating legacy code with compassion on goodpods" style="width: 225px" /> </a>
Copy