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 and success of large rewrites. Ryan shares a case study of data engineers rewriting a data pipeline and highlights the importance of understanding the root cause of concerns before deciding on a rewrite. They also discuss the difference between refactoring and rewriting and the expectations engineers have from their managers. Takeaways Managers play a crucial role in supporting engineers' ideas for rewrites and refactors. The distinction between refactoring and rewriting is important, with refactoring being more focused on improving existing code and rewriting involving significant changes to the entire system. Chapters 00:00 Introduction and Guest Introduction 01:20 Perspectives on Rewrites from Managers 03:16 Case Study: Data Engineers Rewriting a Data Pipeline 05:36 Placating Individual Engineers 08:25 Considerations for Small Rewrites 09:56 The Role of Managers in the Rewrite Process 11:23 Pitching a Rewrite and Compromising 14:24 The Role of Managers in Supporting Engineers 16:27 Handling Rejection and Communicating Decisions 18:20 Frequency and Success of Large Rewrites 21:33 Success of First Rewrite Out of College 23:42 Defining Rewrites and Refactors 27:21 Expectations from Managers 31:11 Refactoring vs. Rewriting 33:00 Closing Remarks and Shoutouts