Never Rewrite: Software Engineering & AI Coding

Never Rewrite: Software Engineering & AI Coding

By Isaac Askew and Jeffrey ShermanTechnology
Download on the App Store

Never Rewrite: Software Engineering & AI Coding episodes

  • 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 culture and the impact of social dynamics on idea sharing. The discussion also highlights the necessity of documenting ideas to ensure proper attribution and the broader implications of credit on team morale and organizational efficiency.

    18 min
  • 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 learned from the experience. The conversation explores the importance of making informed technology decisions, the consequences of poor project management, and the potential alternatives to rewriting software.

    17 min
  • 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 standardization to avoid costly bugs and inefficiencies. The discussion also touches on the social dynamics within teams, the exponential nature of complexity, and the need for clear documentation and communication across the organization to address these challenges effectively.



    29 min
  • 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 discussion also highlights the Strangler Fig pattern as a viable strategy for transitioning to new frameworks while maintaining existing systems. Ultimately, they conclude that iterative development does not prevent the adoption of new frameworks and can lead to better outcomes than a Big Bang rewrite.

    18 min
  • 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 also highlights the need for compliance and risk management strategies, particularly in financial contexts, and emphasizes the importance of establishing a staging environment to mitigate risks.

    21 min
  • 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 their own experiences with job transitions, the feelings of stagnation and underappreciation, and the challenges of resetting perceptions in a new role. The discussion also touches on the costs of employee turnover and the need for companies to recognize and retain valuable talent.

    24 min
  • 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 legacy code and the developers who created it. The conversation emphasizes empathy for past developers, the significance of understanding context, and the need to separate the code from the individual who wrote it. They also explore how to give feedback on UX design, highlighting the importance of assuming positive intent and understanding the constraints that may have influenced design decisions.

    28 min
  • 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 thorough investigation before committing to projects. The discussion emphasizes the significance of understanding costs and efforts involved in engineering tasks, and how to effectively convey this information to stakeholders.

    14 min
  • 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 businesses grow, the fragility of early successes, and the importance of quality over speed in releases. The discussion also highlights the role of leadership in fostering a culture of accountability and continuous improvement, as well as the need for developers to take ownership of their code.

    21 min

About Never Rewrite: Software Engineering & AI Coding

From the publisher's feed

‘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…