All Episodes
Every episode of the Never Rewrite podcast — a long-running conversation between Jeffrey Sherman and Isaac Askew about why complete software rewrites fail and what engineering teams should do instead. Click any thumbnail to play here, or visit the channel.
-
Episode 158: Token-Based Billing Is Nuts
Jeffrey Sherman and Isaac Askew explore the pitfalls of token-based billing models, comparing them to hourly billing and value-based billing. They discuss how these models create adversarial relationships, obscure true costs, and impact incentives for vendors and users alike.
-
Episode 157: Is AI Making You The New John Henry?
Today we're exploring the story of John Henry as a metaphor for the modern struggle between human labor and automation. The conversation delves into the dignity of work, the impact of AI on jobs, and how to adapt to technological change.
-
Episode 156: Modernization: Where AI Doesn't Save You Any Steps
Jeffrey Sherman and Isaac Askew discuss the realities of AI in software modernization, emphasizing that AI accelerates but does not eliminate manual testing and manual work in legacy code projects.
-
Episode 155: Agentic Development Is Turning Engineers Into Product Owners
Isaac Askew, Jeffrey Sherman, and Dustin Rea how agentic AI development is transforming developer roles, emphasizing empathy, tight iteration, and legacy code management.
-
Episode 154: Feature Parity Pitfalls
Jeffrey Sherman and Isaac Askew discuss the pitfalls of aiming for feature parity during software rewrites, emphasizing the importance of communication, boundaries, and incremental improvements over blind feature replication.
-
Episode 153: The Rewrite Trap & Sunk Cost Fallacy
Isaac and Jeffrey explore the pitfalls of rewrites in software development, including the trap of delayed risk, sunk cost fallacy, and human psychology. Learn strategies to avoid costly rewrites and focus on incremental delivery and early feedback.
-
Episode 152: The Moving House Metaphor for Software Rewrites: How AI Changes the Game
Isaac Askew and Jeffrey Sherman explore how the metaphor of moving houses relates to software rewrites, and how AI can revolutionize the process of packing, unpacking, and deciding what to keep in tech projects.
-
Episode 151: Celebrating Wins During Constant Iteration
Jeffrey Sherman and Isaac Askew explore the importance of celebrating small wins in iterative projects, how to track progress effectively, and ways to keep team morale high through accountability and customer feedback.
-
Episode 150: The AI Rewrite Trap
In this episode, Isaac Askew and Jeffrey Sherman explore the evolving landscape of software development, focusing on the relevance of rewrites in the age of AI. They discuss how AI tools like Claude are transforming engineering workflows, reducing the need for full rewrites, and shifting…
-
Episode 149: Isaac Does a Rewrite?
Isaac Askew shares his journey of building a hyperlocal event aggregator using AI, exploring the technical challenges, tools, and lessons learned along the way. Discover how modern AI workflows can rapidly prototype and deploy complex projects without traditional coding.
-
Episode 148: How Human Taste Shapes the Future of AI and Coding
Exploring the intersection of creativity, taste, and technical skill in software engineering, inspired by Rick Rubin's quote. Discussing how AI and human intuition shape the future of product design and development.
-
Episode 147: Managing Organizational Change ft. Sophia Rosa
Sophia Rosa, a transformational expert, shares insights on managing organizational change, especially in technology implementations like ERP systems. Topics include assessing readiness, building trust, effective communication, and the role of mindfulness in change management.
-
Episode 146: How AI is Reshaping Careers and Workflows
Isaac Askew and Dustin Rea discuss how AI is transforming careers, workflows, and organizational practices.
-
Episode 145: Outdated Programming Techniques: Browser Compatibility
Isaac Askew, Dustin Rea, and Jeffrey Sherman discuss the past challenges of browser compatibility. They reflect on the significant time spent in the past ensuring websites functioned uniformly across different browsers, a task that has become less prominent in modern development.
-
Episode 144: Outdated Programming Techniques: Bit Masking
Isaac Askew, Dustin Rea, and Jeffrey Sherman discuss the outdated programming technique of bit masking, exploring its historical context, current relevance, and the cognitive load it imposes on developers. They emphasize that while bit masking may still have niche applications in high-frequency…
-
Episode 143: Tactics to Obscure (Parody)
Isaac Askew and Jeffrey Sherman discuss tactics used in project management to obscure the true state of projects, especially when they are not going well. They explore the shift from deliverables to phases, the focus on work instead of outcomes, and strategies to bring clarity and accountability…
-
Episode 142: Are You Ready to Scale? A Local Case Study
In this conversation, Isaac Askew and Jeffrey Sherman discuss the challenges faced by a small business looking to scale its operations. Isaac shares insights from a recent consultation where he aimed to help a client understand their inefficiencies and explore potential solutions without…
-
Episode 141: How Rewrites Create Accountability Black Holes
In this episode, Isaac Askew and Jeffrey Sherman discuss the phenomenon of accountability black holes created by software rewrites. They explore how the decision to rewrite can lead to neglecting existing bugs, the challenges of prioritization in development, and the implications of resource…
-
Episode 140: Evolving Past Boomer AI
Summary In this episode, Isaac Askew and Dustin Rea discuss the evolving landscape of AI in software development, focusing on the transition from traditional coding methods to more advanced, AI-driven workflows. They explore the implications of these changes on legacy systems, team dynamics, and…
-
Episode 139: Rewrites - A Failure of the Imagination ft. Mark Mandau
In this episode, Isaac Askew and Jeffrey Sherman are joined by Mark Mandau to explore the complex topic of software rewrites. They discuss the reasons behind the decision to rewrite software, the implications of neglecting maintenance, and the risks associated with such a drastic move. The…
-
Episode 138: The MVP Worked. Do We Rewrite It To Scale?
Isaac Askew and Jeffrey Sherman explore the complexities of rewriting a Minimum Viable Product (MVP) and whether such actions can be classified as a 'rewrite.' The conversation emphasizes the value of rewriting code that has proven to be effective and the need for new terminology in the software…
-
Episode 137: 2025 Year in Review
Isaac Askew and Jeffrey Sherman reflect on their podcast's achievements in 2025, discussing their goal of producing 52 episodes and analyzing listener engagement through various metrics. They explore the most popular episodes, insights from analytics, and strategies for improving content…
-
Episode 136: Key Questions to Ask When Navigating Your Career
Jeffrey Sherman and Dustin Rea discuss how to navigate career development, emphasizing the importance of understanding one's career stage, exploring various career paths, and being intentional about career choices. They highlight the significance of networking, shadowing others, and maintaining a…
-
Episode 135: Is Changing an ERP System a Rewrite? ft. Sophia Rosa
In this episode, Sophia Rosa, a project and organizational change manager, discusses the complexities of changing an ERP system. The conversation explores the definition of ERP, the challenges of customization, the importance of change management, and the need for user adoption and training. Sophia…
-
Episode 134: A Stream of Consciousness Chat on AI, Tech, & Layoffs
Jeffrey is out today, so we're joined by guest Thomas Morris to have a fun stream-of-consciousness style chat on what's on his mind these days.
-
Episode 133: The Consequences of Having Multiple Sources of Truth
Isaac Askew and Jeffrey Sherman discuss a humorous yet insightful story about the challenges of managing market data in financial systems, particularly focusing on the consequences of having multiple sources of truth. They explore the technical aspects of market data protocols, the issues arising…
-
Episode 132: A Thankful Thanksgiving Episode
Happy Thanksgiving everybody!
-
Episode 131: Rewrites from a Product Perspective ft. Mark Mandau
Isaac Askew and Jeffrey Sherman engage with Mark Mandau, a principal consultant, to explore the complexities surrounding software rewrites. They discuss the dual perspectives of engineering and business, highlighting case studies like Facebook and Sonos to illustrate the risks and challenges…
-
Episode 130: The Pains Caused by Differing Abstractions Pt. 2 - Real World Examples
Isaac Askew, Dustin Rea, and Jeffrey Sherman discuss the real-life implications of leaky abstractions in software development. They share personal anecdotes about the challenges faced when dealing with time zone discrepancies, database case sensitivity, and the importance of user experience. The…
-
Episode 129: Credit Where Credit Is Due
Isaac Askew, Jeffrey Sherman, and Dustin Rea discuss the critical role of credit in management and teamwork, sharing personal experiences of idea ownership and the challenges faced in consulting environments. They emphasize the importance of recognizing contributions to foster a collaborative…
-
Episode 128: Revisiting An Old Story With Our Current Experience
Isaac Askew and Jeffrey Sherman reflect on a past experience with a software company that made a strategic decision to extend the Objective-C compiler, ultimately leading to its downfall. They discuss the implications of this decision, the challenges faced in software development, and the lessons…
-
Episode 127: The Pains Caused by Differing Abstractions
Isaac Askew, Dustin Rea, and Jeffrey Sherman discuss the complexities and challenges associated with abstractions in software development, particularly focusing on time zones and currency. They explore the engineering and product perspectives on these issues, emphasizing the importance of…
-
Episode 126: Does Iterative Replacement Trap You In Legacy Frameworks?
Isaac Askew and Jeffrey Sherman explore the complexities of iterative development versus complete rewrites in software engineering. They discuss the challenges of legacy frameworks, the importance of intentionality in adopting new technologies, and the necessity of communication among teams. The…
-
Episode 125: Navigating Risky Software Setups
Isaac Askew and Jeffrey Sherman discuss the complexities of working with clients who have risky software setups. They explore the importance of documentation, the risks associated with development environments, and the necessity of clear communication between consultants and clients. The discussion…
-
Episode 124: Treating Communication Gaps Like Tech Debt ft. Austen Tucker
We're joined by guest Austen Tucker to explore the concept of communication gaps in tech environments. The discussion emphasizes the importance of setting clear expectations and using pedagogical techniques to enhance collaboration. Show notes: https://www.thearcades.me/…
-
Episode 123: Is Switching Jobs a Career 'Rewrite'?
In this conversation, Isaac Askew and Jeffrey Sherman explore the analogy of changing jobs to rewriting code, discussing the intentionality behind job changes, the impact of company culture on career growth, and the importance of aligning personal values with professional roles. They reflect on…
-
Episode 122: Providing Constructive Feedback
In this episode of 'Never Rewrite', Isaac Askew and Jeffrey Sherman delve into the nuances of providing constructive feedback in software development. They discuss the importance of framing feedback in a way that encourages open communication and psychological safety, particularly when dealing with…
-
Episode 121: A Helpful Analogy For Understanding Legacy Code & Tech Debt
Isaac Askew and Jeffrey Sherman explore the complexities of legacy code and tech debt through the analogy of construction in old houses. They discuss how unexpected issues can arise when making changes, the importance of communication between engineers and product managers, and the need for…
-
Episode 120: Bad Testing & Release Practices Are Cultural Problems, Not Technical Problems
Today we discuss the cultural implications of testing and release practices in software development, emphasizing that these issues are often rooted in organizational culture rather than technical challenges. We explore the transition from startup mentality to a more structured approach as…
-
Episode 119: Iterating, Adapting, & Pivoting ft. Day Martin
Summary In this episode, Day Martin, founder of Swayday, shares her journey from creating a standing desk company to developing motion gaming experiences aimed at improving educational outcomes for children with ADHD. The conversation explores the iterative process of game development and the…
-
Episode 118: Recovering Value From Failed Projects
Isaac and Jeffrey discuss the challenges faced in recovering value from failed projects, particularly focusing on a specific project that was halted due to legal concerns. They explore the importance of A-B testing, the role of legal feedback, and the lessons learned from the experience. The…
-
Episode 117: How to Make Incremental Changes Visible
Isaac Askew and Jeffrey Sherman discuss the significance of making incremental changes visible in software development. They emphasize the importance of metrics in measuring performance, system reliability, and user behavior. The discussion covers A-B testing, decision-making based on data, and…
-
Episode 116: Inverting the Testing Pyramid Pt. 2
Isaac Askew and Jeffrey Sherman discuss the ongoing debate between end-to-end tests and unit tests in software development. The discussion delves into the implications of the testing pyramid, the potential future of testing with AI, and the evolving role of product teams in the testing process…
-
Episode 115: [CI/CD] Beautiful Feedback Loops with guest Spriha Tucker
In this episode of Never Rewrite, hosts Isaac Askew and Jeffrey Sherman engage with Spriha Tucker, the Field CTO at BuildKite, to explore the intricacies of Continuous Integration and Continuous Deployment (CI/CD). They discuss the importance of deployment in CI/CD practices, the significance of…
-
Episode 114: Old Projects Never Die, They Just Fade Away
Isaac and Jeffrey discuss why abandoned projects or failed rewrites have code that always seems to just linger - is it worth fixing?
-
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…
-
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…
-
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…
-
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…
-
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…
-
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…
-
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 Chapters 00:00 Introduction to Legacy Systems…
-
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…
-
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…
-
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…
-
Episode 103: Recognizing When a Rewrite is Failing
Isaac and Jeffrey discuss the challenges and signs of failing rewrites in software development. Chapters 00:00 Recognizing Rewrite Failures 12:55 The Importance of Documentation and Understanding Legacy Systems 20:06 Final Thoughts and Conclusion
-
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…
-
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…
-
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…
-
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…
-
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…
-
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...
-
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…
-
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.
-
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…
-
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…
-
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…
-
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…
-
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…
-
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…
-
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…
-
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…
-
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…
-
Episode 85: 2024 Year In Review
Isaac and Jeffrey reflect on their podcast journey throughout 2024, discussing their goals, achievements, and notable episodes. They share insights on their recording process, the impact of AI on their discussions, and the concept of 'musketeering' in problem-solving. The hosts also highlight their…
-
Episode 84: The Impact of AI on Interviewing
Special guest Paul Giron discusses the transformative impact of AI on the interview experience, highlighting changes in candidate assessment, the shift towards remote interviews, and the evolving expectations of candidates. The discussion delves into the implications of AI in recruitment, including…
-
Episode 83: The Impact of AI on Recruiting
Special guest Paul Giron discusses the transformative impact of AI on recruiting and interviewing processes. He highlights the challenges faced by recruiters in adapting to AI tools, emphasizing that while AI can streamline resume sorting, it does not necessarily improve the quality of hires. The…
-
Episode 82: Can You Like Tests And Also Believe You're Faster Without Them?
Isaac and Jeffrey discuss the balance between unit testing and the need for speed in software development. The discussion delves into the contexts in which testing is most valuable, the challenges of rapid development, and real-world examples of testing practices. Ultimately, they emphasize the…
-
Episode 81: The Pause
'The Pause'—a critical juncture where development on the old system is halted in favor of completing a new system. Isaac and Jeffrey discuss the inherent risks of this approach, the implications for customer value, and the often misguided desire for dramatic reveals in software releases. The…
-
Episode 80: What is "De-Risking"?
Isaac and Jeffrey delve into the concept of de-risking in project management. They discuss the importance of iterative delivery over big bang releases, using gambling analogies to illustrate risk management strategies. The conversation emphasizes the value of decoupling projects to reduce risk and…
-
Episode 79: The Toxicity of "Certainty"
Isaac and Jeffrey explore the concept of certainty in software development and its potential toxicity. They discuss how certainty can lead to poor decision-making, the importance of experimentation, and the human behaviors that contribute to toxic environments. The dialogue emphasizes the need for…
-
Episode 78: Is Frontend Modernization a Valid Reason for Rewriting?
Isaac and Jeffrey discuss the validity of rewriting front-end systems for modernization. They argue against the notion that a dated front end necessitates a complete rewrite, emphasizing the importance of iterative updates and customer experience. The conversation explores the risks of big bang…
-
Episode 77: Who Gets To Define 'Shit' Code?
Isaac and Jeffrey explore the subjective nature of coding standards and what constitutes 'shit code.' They discuss the lack of industry-wide standards, the importance of intention in coding, and the balance between flexibility and adaptability in code quality. The conversation also touches on the…
-
Episode 76: Aligning Your Company Standards to its Lifecycle Phase
Guest Dustin Rea joins us to discuss the importance of aligning a company's standards and processes with its lifecycle stages. The discussion covers five key phases: the MVP phase, where the foundation is built; the Product User Fit phase, focusing on understanding customer needs; the Product…
-
Episode 75: Rewriting is Gambling - A Lesson in Risk
Jeffrey and Isaac discuss the inherent risks associated with software rewrites, emphasizing how rewrites push risk to the end of the development cycle. The discussion highlights the need for iterative development and the significance of delivering independent components to ensure project success…
-
Episode 74: Musketeering
Jeffrey and Isaac explore the concept of 'musketeering' in software development, emphasizing the importance of collaboration in solving complex problems. They discuss the challenges of legacy code, the necessity of testing, and the strategy of 'divide and conquer' to tackle intertwined issues…
-
Episode 73: The Politics of Delivering Trivial Changes
Isaac and Jeffrey discuss the philosophy of continuous iteration in software development, emphasizing the importance of making small, incremental changes rather than large, risky updates. They explore the challenges of communicating the value of these trivial changes to non-technical stakeholders…
-
Episode 72: Perfectionism in Programming
Isaac and Dustin Rea discuss the impact of perfectionism in programming, particularly how it can hinder project success. They explore the importance of launching minimum viable products (MVPs) to validate ideas in the market, the challenges of managing change in production software, and the balance…
-
Episode 71: Are Ignorable Errors Still "Errors"?
Isaac and Jeffrey explore the complexities of error management in software development, particularly focusing on the significance of logs, the philosophical implications of ignoring errors, and the importance of proactive log management. They discuss how to differentiate between true errors and…
-
Episode 70: Resource Engineering
Isaac and Jeffrey delve into the concept of resource engineering, emphasizing the importance of understanding cost implications in engineering decisions. They discuss how engineers often overlook financial aspects while focusing on technical solutions, leading to potential inefficiencies. The…
-
Episode 69: Anxiety When Fixing a System You Didn't Create
Isaac and Jeffrey delve into the anxiety developers face when dealing with legacy systems they did not create. They explore the reasons behind the fear of fixing such systems, the challenges of refactoring, and the skills required to navigate these situations. The discussion emphasizes the…
-
Episode 68: The Fallacy of Rewriting Software to Save Money
Jeffrey and Isaac discuss the fallacy of rewriting software to save money. They highlight that organizations end up running multiple systems simultaneously, resulting in increased costs. The conversation also touches on the challenges of maintaining multiple versions of a software system and the…
-
Episode 67: Revisiting "The Joel Test: 12 Steps to Better Code"
Jeffrey revisits The Joel Test, a 12-question test to determine if a software development team is set up for success. Jeffrey and Isaac discuss the relevance of each question in today's context and how the industry has evolved over the years. The topics covered include source control, building and…
-
Episode 66: Squashing the Right Bugs
Isaac and Jeffrey discuss the importance of effective bug bashing and how to prioritize bug fixes. They highlight the need for categorizing bugs, understanding customer impact, and installing analytics to make informed decisions. They also emphasize the importance of writing tests and having a team…
-
Episode 65: Exploring Different Perspectives on Risk with Dustin Rea
Isaac, Dustin, and Jeffrey discuss different profiles for de-risking releases. They explore the perspectives of software engineers, project managers, product owners, and executives in managing risk. They debate the benefits of incremental releases versus giant functionality releases and the…
-
Episode 64: Aligning Yourself With the Company's Risk Profile
Isaac and Jeffrey discuss the importance of aligning oneself with a company's risk profile. They explore the concept of risk tolerance and how it varies depending on the company's stage of development and industry. They highlight the need for a balance between security and other business…
-
Episode 63: Fulfilling Friday: SMS Spamming Saved
Isaac shares a story about a project where a quick MVP was built to send text messages to users. As the project gained more partners and volume, it became clear that the system couldn't handle mass texting at scale. A small change in the architecture caused some batches of text messages to be…
-
Episode 62: The Peculiar Failure of Correctly Predicting Problems
Isaac and Jeffrey discuss the peculiar failure of correctly predicting problems. Jeffrey shares his experience of being able to accurately predict problems in projects but failing to gain traction and prevent them. They explore the importance of buy-in from leadership and the need for a…
-
Episode 62: The Peculiar Failure of Correctly Predicting Problems
Isaac and Jeffrey discuss the peculiar failure of correctly predicting problems. Jeffrey shares his experience of being able to accurately predict problems in projects but failing to gain traction and prevent them. They explore the importance of buy-in from leadership and the need for a…
-
Episode 61: Challenges of Multi-Product Platforms ft. Dustin Rea
Dustin Rea, CEO of Red Hook Agency, discusses the challenges and considerations of bringing new products into an existing platform and splitting products within the same platform. The conversation covers topics such as authentication and authorization, merging different products onto a platform…
-
Episode 60: Anybody Could Have Done It...But I Actually Did
Isaac and Jeffrey discuss the feeling of anyone being able to make small, simple changes in code and question the value of their own contributions. They share anecdotes of fixing issues that others could have easily addressed but didn't, highlighting the importance of being the one to take action…
-
Episode 59: The Myth of the Boy Scout Rule
Isaac and Jeffrey discuss the myth of the Boy Scout rule, which is the idea of leaving code better than you found it. Isaac shares his experience of encountering problems when trying to follow this rule in a codebase with no test coverage. He explains how fixing one issue led to unintended…
-
Episode 58: When You Can’t Iterate
Isaac and Jeffrey discuss situations where software development teams are pushed to have fewer, larger releases. They highlight the challenges of big release-driven development and the need for careful planning and more QA before each release. They also explore strategies to make the problem less…
-
Episode 57: White Label CRM Updates with Dustin Rea
We check in with Dustin Rea, head of Red Hook Agency, to discuss where White Label CRM is with their 'turnaround story' - how they're handling 'bug hell', scaling issues, and what their trajectory is now. 00:00 Introduction and Background 01:12 The Current State of the White Label CRM 06:11 Goals…
-
Episode 56: AI-Driven Testing
Isaac and Jeffrey discuss the potential of AI-driven testing and code generation. They reference an article by Codium AI, which explores the use of AI to generate tests and increase code coverage. While the generated tests may not be perfect, they can serve as scaffolding for legacy code and help…
-
Episode 55: Writing Your Job Out Of Existence
Isaac and Jeffrey discuss the mindset of writing your job out of existence. They explore the idea that being irreplaceable can be a trap and that making your current role disappear in a positive way is the key to career growth. They share examples of individuals who get stuck in repetitive tasks…
-
Episode 54: Shadow Your Colleagues
Jeffrey and Isaac discuss how to get started with shadowing people and solving their problems. They share their experiences and strategies for shadowing, including reaching out to the people you want to shadow, observing their tasks, and identifying areas for improvement. They emphasize the…
-
Episode 53: Cloud Infrastructure "Rewrites"
Isaac and Jeffrey discuss the topic of doing full rewrites when it comes to architecture. They explore a case where a client needed to move from a single EC2 instance to a more stable system with load-balanced instances. They discuss the parallels between rewriting code and rewriting architecture…
-
Episode 52: The Two-Clock Problem
Isaac and Jeffrey discuss the 'two clock problem' as a metaphor for software rewrites. They explain that adding a new system doesn't improve understanding if you don't know how the current system is wrong. They also emphasize that rewriting a system without understanding the current system is…
-
Episode 51: How Company Culture Impacts Code Delivery
Company culture can have a significant impact on the style of code delivery. A rigid and bottlenecked code review process can slow down code delivery and create frustration. On the other hand, a collaborative and open culture can lead to faster and more efficient code delivery. It is important to…
-
Episode 50: Fulfilling Friday - Saving Customers Millions
In our new series 'fulfilling Fridays', Jeffrey shares a fulfilling software project he worked on at Guaranteed Rate, a mortgage broker company.
-
Episode 49: Falsehoods Programmers Believe About Projects Part 2
Isaac and Jeffrey discuss falsehoods that programmers believe about projects. They explore the misconception that the project will solve the stated problem, highlighting instances where the delivered software did not actually solve the problem. They also discuss the importance of understanding how…
-
Episode 48: Falsehoods Programmers Believe About Projects
In this episode, Isaac and Jeffrey discuss falsehoods that programmers believe about projects. They explore assumptions such as projects having defined beginnings and endings, the role of priorities in project work, and the importance of clear communication and feedback. They also touch on the…
-
Episode 47 - Maintenance Work as a Flight to Safety - A Manager's Perspective
Isaac and Jeffrey discuss the flight to maintenance work as a safety option from the manager's perspective. They explore different perspectives on maintenance work and the value of taking on such work. They emphasize the importance of understanding the reality of the system and approaching…
-
Episode 46: Workshopping Live with Dustin Rea
In this conversation, Dustin Rea discusses the challenges faced by one of his clients who has a CRM. The CRM is built on a legacy codebase with issues in quality, scalability, and deliverability. The team has been working on improving the system, but there are still problems with emails, SMS…
-
Episode 45 - Year In Review
Isaac and Jeffrey celebrate the one-year anniversary of the podcast. They discuss the challenges of maintaining a consistent schedule and reflect on the evolution of topics covered in the past year. They also talk about running out of failure stories and the importance of finding interesting…
-
Episode 44 - Do More With Less
Jeffrey and Isaac discuss the concept of ‘doing more with less.’ They explore the initial visceral reaction to this idea and highlight the importance of doing less of things that don't matter. The impact of layoffs and the need to work smarter, not harder, are also discussed. The hosts emphasize…
-
Episode 43: Rewriting in the Age of AI
Jeffrey and Isaac discuss their stance on 'never rewriting' given the possibility of AI making rewriting faster, cheaper, and less risky. They explore the limitations of current AI capabilities and the potential benefits of AI-assisted refactoring. The conversation delves into the idea of using AI…
-
Episode 42: Iteration as a Defense From Micromanagement
Jeffrey and Isaac discuss how iteration can be a defense against micromanagement. They explore the reasons behind micromanagement, such as a lack of progress and fear, and how iteration provides observability and reassurance to managers. They emphasize the importance of breaking down nebulous…
-
Episode 41: Rewrites from a Manager's Perspective with Ryan Cowan
Summary In this episode, Isaac Askew interviews Ryan Cowan, a software engineering manager, about the perspective of managers on rewrites. They discuss the challenges of placating individual engineers who want to rewrite code, the role of managers in supporting engineers' ideas, and the frequency…
-
Episode 40: Convincing Emotionally-Committed Colleagues It's Not Worth It
Isaac and Jeffrey provide strategies for working with colleagues who are emotionally committed to rewriting old and flawed code at their companies. Takeaways - Validate the analysis and perspective of coworkers who are emotionally committed to doing a rewrite. - Consider the financial implications…
-
Episode 39 - Project Risk with Jonathan Stark
Jonathan Stark joins us as a guest to discuss the risks of hourly billing and the parallels between risk in a rewrite and in hourly billing. He explains how hourly billing puts all the risk on the client and leads to stressful relationships and arguments about hours and costs. Jonathan emphasizes…
-
Episode 38 - Maintenance Work as a Flight to Safety
Isaac and Jeffrey explore the significance of maintenance work for developers, stressing its strategic value during uncertain periods like layoffs. They share personal experiences, highlighting how tackling these tasks can lead to trust, new opportunities, and a more impactful role within a team.
-
Episode 37: Interview Insights - Changing the Game for Interviewers and Candidates
Isaac and Jeffrey dissect the flaws in the interviewing process and offer valuable insights for both interviewers and interviewees. They discuss the broken aspects of traditional interviews, highlight the importance of resume tailoring, and share anecdotes about handling past job experiences during…
-
Episode 36: Becoming an Expert in your Company's Business
Jeffrey & Isaac discuss why understanding how your company makes money can help you build products that solve the right problems.
-
Episode 35: The Subtle Art of Refusing Meetings
Jeffrey & Isaac discuss methods to clear out your recurring meetings and protect your time as new meetings get added to your calendar.
-
Episode 34: (F*ck-Up Friday Series) Don’t Fix What Ain’t Broken
Continuing our F*ck-Up Friday series, Jeffrey has another humorous story where he went out of his way to fix functionality to match the name of its function...with expensive results.
-
Episode 33: How to be a Terrible Teammate
In this humorous holiday episode, Isaac and Jeffrey discuss ways to be the worst possible teammate in ways that won’t get you immediately terminated by HR. If you didn’t make the naughty list this year and want to lock it in next time, this episode is for you!
-
Episode 32: Getting Started with Brownfield Testing (Part 2)
Isaac and Jeffrey continue discussions around testing brownfield code, delving deeper into next steps and refactoring. Our ‘FlowSheet’ guide to help you with your testing and refactoring decisions…
-
Episode 31: Getting Started with Brownfield Testing (Part 1)
Brownfield code is existing code (rather than new code) that you might need to add tests for. Join us for a two-part episode on how to get started testing and refactoring existing applications. Our ‘FlowSheet’ guide to help you with your testing and refactoring decisions…
-
Episode 30: Investing in Yourself Beyond Education
Isaac and Jeffrey discuss ways to improve yourself outside of traditional means like college, courses, or reading.
-
Episode 29: (F*ck-Up Friday Series) The Saleswoman Who Faked Cancer
A non technical story of deception, good deeds with terrible consequences, and weak HR.
-
Episode 28: Making Non-Compatible Changes During Long-Running Upgrades
Sometimes an upgrade to a new version of a framework takes weeks or even months. What do you do when you need to make changes to areas that are being affected by the upgrade?
-
Episode 27: The Ticket Master - Computerizing India’s Railways with Aadil Farid, Part 2
Special Guest Aadil Farid joins us again to continue his discussion on the harsh realities he confronted when he led a team that computerized ticketing on India’s Railways in the 1980s. Aadil’s LinkedIn: https://www.linkedin.com/in/aadilfarid/
-
Episode 26: The Ticket Master - Computerizing India’s Railways with Aadil Farid, Part 1
Special Guest Aadil Farid joins us to discuss the harsh realities he confronted when he led a team that computerized ticketing on India’s Railways in the 1980s. Aadil’s LinkedIn: https://www.linkedin.com/in/aadilfarid/
-
Episode 25: A Rewrite Success Story with Brian Genisio from Khan Academy
Special guest Brian Genisio from Khan Academy joins us to talk about their 3.5 year rewrite that successfully wrapped up this year. Learn how Brian’s team was able to achieve the nearly impossible act of successfully completing a rewrite using many of the techniques we’ve talked about in the past…
-
Episode 24: When AI Writes Your Documentation
AI tools can now write your incident retrospectives. Do developers lose by not formalizing their thoughts by writing? In this episode Isaac and Jeffrey weigh the pros and cons of having AI write incident retrospectives and documentation.
-
Episode 23: Live Workshop with Rob Gonnella
Senior DevOps Engineer Rob Gonnella joins us in this special episode to live workshop an example of a rewrite case he believes is valid. Rob Gonnella: https://www.linkedin.com/in/robgonnella/ Rob's Github: https://github.com/robgonnella
-
Episode 22: Running an Iterative Refactoring Workshop
Jeffrey has been running an iterative refactoring workshop to improve his colleague’s development skills. This episode dives into how the workshop is run, what the developers get out of it, and how it directly improves the company’s codebase. If you’ve ever wanted to help your fellow developers but…
-
Episode 21 - Impostor Syndrome
In this episode Isaac defines impostor syndrome and ways to combat the feelings that you aren't qualified for your job.
-
Episode 21: Impostor Syndrome
In this episode Isaac defines impostor syndrome and ways to combat the feelings that you aren't qualified for your job.
-
Episode 20 - Shrink Mode
Sometimes companies shrink instead of grow, and that impacts your work, your team, and your career. In this episode we discuss what to expect from a shrinking company.
-
Episode 19 - The Beachhead Strategy
Jeffrey identifies a strategy we employed in a previous project that helped us dramatically improve the experience of 90% of our customers without requiring a complete rewrite of an email sending engine.
-
Episode Nineteen - The Beachhead Strategy
Jeffrey identifies a strategy we employed in a previous project that helped us dramatically improve the experience of 90% of our customers without requiring a complete rewrite of an email sending engine.
-
Episode Eighteen - Strategies for Upgrading Software
Isaac discusses strategies he's used to help companies upgrade their software, and Jeffrey helps distill them into a series of steps.
-
Episode Seventeen (F*ck-Up Friday Series) - Losing $1 billion for 4 hours
In this episode Jeffrey discusses a f*ck-up of his own for this special 'F*ck-Up Friday' series - how a develop lost $1 billion (just for a little while).
-
Episode 17 (F*ck-Up Friday Series) - Losing $1 billion for 4 hours
In this episode Jeffrey discusses a f*ck-up of his own for this special 'F*ck-Up Friday' series - how a develop lost $1 billion (just for a little while).
-
Episode 16 - Tricks to Facilitate Conversation
Jeffrey suggests using a straw man to help facilitate difficult conversations about how to proceed; Isaac adds further examples and methods by which teams can generate productive conversations.
-
Episode Sixteen - Tricks to Facilitate Conversation
Jeffrey suggests using a straw man to help facilitate difficult conversations about how to proceed; Isaac adds further examples and methods by which teams can generate productive conversations.
-
Episode Fifteen - Red Flag Development Ideas
In this episode Jeffrey brings up red flag development ideas that should make you second guess whether or not you're making the right decision for your product.
-
Episode 14 - How do you define ‘Minimum Viable Product’?
In this episode Isaac and Jeffrey discuss the concept of a product MVP and misconceptions around what a 'minimum viable product' has to be.
-
Episode Fourteen - How do you define ‘Minimum Viable Product’?
In this episode Isaac and Jeffrey discuss the concept of a product MVP and misconceptions around what a 'minimum viable product' has to be.
-
Episode 13 - Transitioning from Microservices to Monolith with Josh Beckman
Josh Beckman is our guest in this episode where we talk about his experience in successfully transitioning multiple micro services back into a monolith - and why it was the right decision. Notes: Josh Beckman blog: http://joshbeckman.org
-
Episode Thirteen - Transitioning from Microservices to Monolith with Josh Beckman
Josh Beckman is our guest in this episode where we talk about his experience in successfully transitioning multiple micro services back into a monolith - and why it was the right decision.
-
Episode Twelve - Company Culture Pt. 2 with Thomas Morris
In this episode we re-visit the talks about company culture, this time with guest speaker Thomas Morris.
-
Episode 12 - Company Culture Pt. 2 with Thomas Morris
In this episode we re-visit the talks about company culture, this time with guest speaker Thomas Morris. Notes: Thomas Morris LinkedIn: https://www.linkedin.com/in/thomas-morris-54549456/ Bernie Madoff high-speed trading reference…
-
Episode Eleven - You Can’t Build to Spec
In this episode Jeffrey talks about an old manager who never seemed to be content with his deliverables, even if he met the acceptance criteria exactly. Isaac adds more to the conversation around managers that are too strict versus managers that are too aloof.
-
Episode 11 - You Can't Build to Spec
In this episode Jeffrey talks about an old manager who never seemed to be content with his deliverables, even if he met the acceptance criteria exactly. Isaac adds more to the conversation around managers that are too strict versus managers that are too aloof.
-
Episode Ten - The Rewrite Cycle
In this episode Jeffrey and Isaac discuss the common phases of a rewrite cycle, and how iteration eliminates complexity.
-
Episode 10 - The Rewrite Cycle
In this episode Jeffrey and Isaac discuss the common phases of a rewrite cycle, and how iteration eliminates complexity.
-
Episode 9 (F*ck-Up Friday Series) - How Our Customers Got Raided by the FBI
Sources: https://www.wdam.com/story/31023319/fbi-and-state-agencies-raid-hattiesburg-pharmacies/ https://www.justice.gov/opa/pr/mississippi-man-pleads-guilty-health-care-fraud-money-laundering-and-tax-evasion-charges-role…
-
Episode Nine (F*ck-Up Friday Series) - How Our Customers Got Raided by the FBI
In Episode 9 we start our first of many 'F*ck-up Fridays', where we talk about an interesting or crazy thing that has happened to a company we've worked at. Today Isaac talks about an early startup he worked for that ultimately failed after its customers were raided by the FBI.
-
Episode Eight - Transforming your Internal Software into a SaaS with Brian Begy
Brian Begy is a guest in this week's episode. Brian shares his experience with companies that have attempted to transform software built for internal processes to using and selling it as a service.
-
Episode 8 - Transforming Your Internal Software into a SaaS with Brian Begy (Full Version)
Brian Begy is a guest in this week's episode. Brian shares his experience with companies that have attempted to transform software built for internal processes to using and selling it as a service.
-
Episode Seven - Risk
Jeffrey brings up the concept of risk in this episode, tying it back to our previous conversation with guests Nathan Keyes and Colleen Grafton in Episode 4 where we discussed their project 'Nozomi'.
-
Episode Six - How Company Culture Makes Or Breaks Your Team
In this episode Isaac and Jeffrey discuss patterns they've seen in both highly performant and poorly-performing teams - how team culture is shaped, how overall company culture helps shape it, and why trust is one of the most important drivers of great teams. Show notes: LinkedIn cringey subreddit…
-
Episode Five - Perverse Incentives
Jeffrey introduces the concept of 'perverse incentives' for rewriting - reasons for rewriting that are pushed not for a better product or for the customer, but for the benefit of the engineers or the manager responsible for the project.
-
Episode 4 - Nozomi (Full Version - Video)
In this episode Isaac and Jeffrey invite Colleen Grafton and Nathan Keyes to talk about a shared experience of a rewrite gone wrong - how it failed, who approved it, and how it impacted their careers. Show notes: Colleen Grafton on LinkedIn: https://www.linkedin.com/in/cgrafton/ Nathan Keyes on…
-
Episode Four - Nozomi
In this episode Isaac and Jeffrey invite Colleen Grafton and Nathan Keyes to talk about a shared experience of a rewrite gone wrong - and what to learn from it.
-
Episode Three - Why You Hate Testing
In this episode Isaac talks about his early experience understanding the importance of testing, and reflects on three distinct reasons why testing seems to be hated by developers.
-
Episode Two - Iteratively Replace
In this episode we provide an alternative to rewriting a codebase from scratch: iteratively replacing bits of functionality over time.
-
Episode One
In our pilot episode of “Never Rewrite”, we discuss what we mean when we tell developers to never rewrite code. Isaac reflects on what drives engineers to rewrite, and Jeffrey adds some real-world analogies involving baseball and New York stadiums.
No episodes match that search.