Never Rewrite - podcast cover

Never Rewrite

Isaac Askew and Jeffrey Shermanwww.neverrewrite.com

‘Never Rewrite’ is a mantra of ours in the programming realm. Often times when software developers encounter nightmare codebases, the thought crosses their mind to work towards a rewrite, a port to a new language, or despair that their code is unfixable.

It’s not unfixable, and we explore how to get started along with an array of other software topics in our eponymous podcast.

Last refreshed:
Follow this podcast in the Metacast mobile app to refresh it and see new episodes.
Download Metacast podcast app
Podcasts are better in Metacast mobile app
Don't just listen to podcasts. Learn from them with transcripts, summaries, and chapters for every episode. Skim, search, and bookmark insights. Learn more

Episodes

Episode 115: [CI/CD] Beautiful Feedback Loops with guest Spriha Tucker

In this episode, Spriha Tucker, Field CTO at BuildKite, discusses the critical role of deployment and tight feedback loops in Continuous Integration and Continuous Deployment (CI/CD). She emphasizes understanding customer context, de-risking through rapid prototyping, and the importance of communication within development teams and with customers. The conversation highlights that effective CI/CD is about building trust and delivering value, not just using tools.

Aug 01, 202537 minSeason 1Ep. 115

Episode 113: Do You Want a Better Version of What You Have?

In this episode of Never Rewrite, Isaac Askew and Jeffrey Sherman emphasize the importance of understanding customer needs and the risks associated with maintaining old features while developing new ones. The conversation highlights the value of iterative delivery and the significance of API versioning in ensuring a smooth transition for users. Ultimately, they advocate for a pivoting approach rather than a complete rewrite, allowing for a more adaptive and responsive development process. (Isaac...

Jul 18, 202512 minSeason 1Ep. 109

Episode 112: The Impact & Cost of Hidden Business Rules

Today we highlight he significant impact and costs associated with hidden business rules in software development. We explore the challenges of implementation, the importance of documenting business rules effectively, and how AI can assist in managing these rules. Our discussion emphasizes the need for an internal product book to consolidate knowledge and improve communication among teams, ultimately leading to more efficient development processes.

Jul 11, 202519 minSeason 1Ep. 112

Episode 111: The Social Aspects of a Failed Rewrite

Isaac Askew and Jeffrey Sherman discuss the social and emotional ramifications of failed rewrites in project management. They explore the loss of patience from leadership, the burnout experienced by teams, and the importance of taking responsibility for project outcomes. The discussion emphasizes the need for teams to salvage lessons from failures and to approach leadership with solutions rather than just problems. The conversation concludes with strategies for ensuring future success and mainta...

Jul 04, 202514 minSeason 1Ep. 111

Episode 110: MVPs, YAGNI, and the Goldilocks Problem

Isaac Askew, Dustin Rea, and Jeffrey Sherman delve into the complexities of developing Minimum Viable Products (MVPs) and the challenges of balancing simplicity with the need for future scalability. They discuss the Goldilocks problem in software development, emphasizing the importance of finding the right balance between over-engineering and under-engineering. The discussion highlights the distinction between maintainability and optionality, the significance of timing in product development, an...

Jun 27, 202527 minSeason 1Ep. 110

Episode 109: Conway's Law and Software Quality

Today we discuss the relationship between Conway's Law and software quality, exploring how a company's structure and culture can impact code quality. We delve into the signs of a toxic culture, the consequences of a 'yes culture', and strategies for identifying and changing company culture. The conversation emphasizes the importance of communication patterns and the long-term nature of cultural transformation in organizations.

Jun 20, 202520 minSeason 1Ep. 109

Episode 108: Consolidating Tech Stacks - Is It Worth It?

We debate the merits of consolidating technology stacks versus diversifying them. Today we explore the implications of each approach on business value, engineering efficiency, and organizational dynamics. Key points include the importance of evaluating the business value of consolidation, the impact on developer fungibility, and the balance between engineering optimization and business leverage.

Jun 13, 202516 min

Episode 107: Rebuilding vs. Rewriting vs. Refactoring?

Jeffrey and Isaac dive into a comment made by Allen Holub to 'rebuild' instead of 'rewriting' legacy software and dive into the terminology. Show Notes:‪ Allen Holub's thread mentioned: https://bsky.app/profile/allenholub.bsky.social/post/3lmcyvi3kag2f

Jun 06, 202514 minSeason 1Ep. 107

Episode 106: How to Stop a Rewrite in Progress

Isaac and Jeffrey explore how to halt a rewrite, the importance of learning from the process, and how to effectively communicate changes in direction to a team. The conversation emphasizes the value of reframing discussions around rewrites to focus on new insights and solutions rather than perceived failures.

May 30, 202515 minSeason 1Ep. 106

Episode 105: A Core Engine Rewrite with Nick Gerace

Guest Nick Gerace discusses the rewrite of the core engine at System Initiatives, detailing the challenges faced, the technical decisions made, and the importance of aligning development with business goals. The conversation covers the transition from the old engine to the new, the role of user feedback, and the iterative process that led to a more efficient and user-friendly product. Show Notes: Domain-Driven Design book: https://www.oreilly.com/library/view/domain-driven-design-tackling/032112...

May 23, 202542 minSeason 1Ep. 105

Episode 104: An Infrastructure Rewrite Story with Guest Paul Stack

Guest Paul Stack shares his experiences in transforming a massive logging infrastructure from a monolithic architecture to a microservices-based system. He discusses the challenges faced during the transition, the implementation of Kafka for log management, and the importance of data retention and cost management. The conversation highlights the evolution of logging practices and the empowerment of teams through decentralization, ultimately leading to a more efficient and effective infrastructur...

May 16, 202534 minSeason 1Ep. 104

Episode 102: Rewrite Stories with Guest Nick Stinemates

Nick Stinemates from System Initiative joins us to explore the complexities and challenges of software rewrites. We discuss the nuances between rewrites and refactors, the pitfalls of full rewrites, and the importance of incremental changes. The conversation delves into team dynamics during rewrites, the existential reasons that can drive a rewrite, and the parallels between software rewrites and software adoption. Show Notes: Nick's X account: https://x.com/nickstinemates...

May 02, 202526 minSeason 1Ep. 102

Episode 101: Relief vs. Cure

Jeffrey and Isaac explore the complex trade-off between providing immediate relief for software issues versus investing time and resources into finding a permanent cure. They discuss the implications of these choices on customer satisfaction, business budgets, and the overall health of software systems. Through real-world examples, they illustrate how sometimes quick fixes can be more practical than ideal solutions, emphasizing the importance of understanding the context and priorities of a busi...

Apr 25, 202516 minSeason 1Ep. 101

Episode 100: Detecting B.S. as a Non-Technical Founder

Isaac, Dustin, and Jeffrey discuss the challenges faced by non-technical founders when working with developers. They explore issues of trust, communication, and the importance of iterative development. The discussion emphasizes the need for clear frameworks in product development, the significance of addressing technical debt and security concerns, and how to identify red flags in developer behavior. The conversation concludes with advice on balancing survival and enhancement in development and ...

Apr 18, 202530 minSeason 1Ep. 100

Episode 99: DOGE Pt. 2: Government Rewrites with Guest Dan Hon

Guest Dan Hon discusses the complexities and risks associated with rewriting government software, particularly in the context of social security systems. He emphasizes the importance of understanding legacy systems, the role of ideology in software development, and the need for transparency and user-centered design. The discussion also touches on lessons learned from the private sector and the challenges of modernization in government services. Show Notes: Dan's LinkedIn: https://www.linkedin.co...

Apr 11, 202537 minSeason 1Ep. 99

Episode 98: DOGE's Social Security Rewrite - Killing Americans to Save Money

Isaac Askew and Jeffrey Sherman discuss DOGE's proposed rewrite of the Social Security system, focusing on the implications of transitioning from COBOL to a modern programming language like Java. They explore the motivations behind the rewrite, the challenges of legacy code, the potential role of AI, and the human cost of possible failures. The conversation culminates in predictions about the outcome of the rewrite and the impact on millions of Americans relying on Social Security. Show Notes:Wi...

Apr 04, 202533 minSeason 1Ep. 99

Episode 97: Fulfilling Friday - A Tattoo Scam?

Isaac tells a 'fulfilling Friday' story about how he gained the attention of a famous tattoo artist. He just needed to act quickly and send money to secure the appointment...

Mar 28, 202518 minSeason 1Ep. 97

Episode 96: Inverting the Testing Pyramid - Testing Infrastructure Changes ft. Rob Gonnella

Isaac Askew and Jeffrey Sherman discuss the complexities of testing infrastructure changes with guest Rob Gonnella. They explore the importance of building a robust testing infrastructure, the role of different types of tests, and the challenges faced when transitioning to new systems. Rob shares his experiences in developing local testing environments, engaging developers, and identifying bugs through end-to-end tests. The conversation emphasizes the need for a balanced approach to testing, par...

Mar 21, 202517 minSeason 1Ep. 96

Episode 95: We're Writing a Book!

Never Rewrite is going analog! Out of 2000 minutes over the last two years we think we've got plenty of content to coalesce it into a book. If you have a rewrite story to share, now's your chance to get forever immortalized in the podcast hosted by two randos.

Mar 14, 20255 minSeason 1Ep. 95

Episode 94: What Did You Think You Were Saying Yes To?

Jeffrey and Isaac explore the motivations and expectations surrounding software rewrites from various stakeholders, including developers, IT leadership, product groups, marketing, finance, support, and customers. They discuss the perceived benefits and the reality of rewrites, emphasizing that while many believe rewrites will lead to improved reliability and a better work environment, the truth is that rewrites often fail to deliver on these promises.

Mar 07, 202527 minSeason 1Ep. 89

Episode 93: How to Put Work Down When Priorities Change

Isaac and Jeffrey discuss the complexities of managing work priorities in a constantly changing environment. They explore the challenges of putting work down when priorities shift, emphasizing the importance of iterative development and smaller work increments to minimize risk and maintain productivity. The discussion also touches on the balance between delivering features and building trust with users, particularly in the context of product releases that may impact customer satisfaction.

Feb 28, 202520 minSeason 1Ep. 93

Episode 92: A Framework for Prioritizing Tech Debt ft. Dustin Rea

We're joined today by Dustin Rea to discuss frameworks for prioritizing technical debt in software development. We explore the 'Jobs to Be Done' framework, emphasizing the importance of aligning engineering and product teams on customer needs. The conversation covers strategies for managing tech debt effectively, the significance of team dynamics, and the role of technical leadership in guiding prioritization efforts.

Feb 21, 202517 minSeason 1Ep. 92

Episode 91: Pushing Pain to Users

Isaac Askew and Jeffrey Sherman discuss the implications of externalizing costs in software development, particularly the consequences of pushing pain to users. They explore the differences between internal and external software, the importance of customer experience, and the cost of support when users face difficulties. The discussion highlights the ethical considerations of prioritizing features over user satisfaction and the long-term impact on both customers and developers.

Feb 14, 202514 minSeason 1Ep. 88

Episode 90: The Hero and the Lifeguard

Isaac Askew and Jeffrey Sherman explore the dynamics between two types of developers: the 'hero' who swoops in to solve problems and the 'lifeguard' who encourages self-sufficiency. They discuss the tension that arises from these differing approaches and how to navigate conflicts between them. The conversation emphasizes the importance of balance in mentoring and the need for developers to understand when to guide and when to let others learn through experience.

Feb 07, 20259 minSeason 1Ep. 90

Episode 89: How Sonos Lost $500 Million Attempting a Rewrite

Isaac Askew and Jeffrey Sherman discuss the disastrous app rewrite by Sonos, exploring the technical debt, decision-making processes, and the consequences of the rewrite. They emphasize the importance of incremental updates over big bang releases and reflect on the lessons learned from this case. Show notes: https://www.wsj.com/tech/sonos-speakers-app-ceo-24250f2c https://www.linkedin.com/pulse/what-happened-sonos-app-technical-analysis-andy-pennell-wigwc/...

Jan 31, 202524 minSeason 1Ep. 89

Episode 88: Creating a Culture of Continuous Improvement with Guest Erik Enge

Erik Enge, COO of Ghost, discusses the principles of creating a culture of continuous improvement within organizations. He emphasizes the importance of applying the scientific method in business, setting measurable goals, and maintaining a learning loop to reflect on outcomes. The discussion also covers the significance of collaboration within teams, the risks associated with rewriting code, and the necessity of keeping context in software development. Real-world examples illustrate how these pr...

Jan 24, 202524 minSeason 1Ep. 88

Episode 87: 2025 Update - State of AI Programming

In this conversation, Isaac and Jeffrey discuss the advancements of AI in coding, reflecting on its potential to replace junior developers and the evolving role of developers in the tech industry. They explore the implications of AI tools on productivity, the necessity for developers to adapt their skills, and the future landscape of software development as AI continues to improve.

Jan 17, 202517 minSeason 1Ep. 87

Episode 86: Annual Reminder - Prune Your Meetings

Isaac and Jeffrey discuss the importance of reassessing the necessity of meetings, especially at the beginning of the year. They emphasize the need to cancel unnecessary meetings, optimize meeting structures, and empower team members to decline meetings that do not require their input. The conversation highlights the significance of effective communication and time management in the workplace.

Jan 10, 20258 minSeason 1Ep. 86
For the best experience, listen in Metacast app for iOS or Android