- 81
- 2 481
Never Rewrite
Приєднався 13 кві 2023
‘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 complete rewrite.
Don’t do that.
We explore what to do instead along with an array of other software topics in our eponymous podcast.
Don’t do that.
We explore what to do instead along with an array of other software topics in our eponymous podcast.
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 the significance of obtaining feedback early in the development process. The hosts highlight how these strategies not only mitigate risks but also provide opportunities for value delivery and informed decision-making throughout the project lifecycle.
Chapters
00:00 Understanding De-Risking in Projects
03:12 The Importance of Iterative Delivery
08:08 Decoupling for Reduced Risk
11:18 Feedback and Value in De-Risking
Chapters
00:00 Understanding De-Risking in Projects
03:12 The Importance of Iterative Delivery
08:08 Decoupling for Reduced Risk
11:18 Feedback and Value in De-Risking
Переглядів: 1
Відео
Episode 79: The Toxicity of "Certainty"
Переглядів 1016 годин тому
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 a balance between certainty and uncertainty, particularly in leadership roles, and highlights the ...
Episode 78: Is Frontend Modernization a Valid Reason for Rewriting?
Переглядів 1614 днів тому
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 rewrites, the benefits of gradual improvements, and the need for design consistency while still deliv...
Episode 77: Who Gets To Define 'Shit' Code?
Переглядів 421 день тому
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 fluidity of language and how it parallels coding practices, emphasizing that coding standards shoul...
Episode 76: Aligning Your Company Standards to its Lifecycle Phase
Переглядів 1328 днів тому
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 Market Fit phase, solidifying the offering; the Scaling Up phase, managing growth; and finally, the Mul...
Episode 75: Rewriting is Gambling - A Lesson in Risk
Переглядів 7Місяць тому
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, particularly within the SaaS model, which thrives on continuous improvement and customer satisfacti...
Episode 74: Musketeering
Переглядів 5Місяць тому
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 effectively. Chapters 00:00 Introduction to Musketeering 02:55 Understanding the Divide and Conquer App...
Episode 73: The Politics of Delivering Trivial Changes
Переглядів 17Місяць тому
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 and the benefits of refactoring code for future development. The discussion also highlights the sig...
Episode 72: Perfectionism in Programming
Переглядів 26Місяць тому
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 between perfectionism and practicality. The discussion also highlights the significance of team d...
Episode 71: Are Ignorable Errors Still "Errors"?
Переглядів 102 місяці тому
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 warnings, the role of telemetry in alerting, and the necessity of maintaining clean logs to enhance s...
Episode 70: Resource Engineering
Переглядів 122 місяці тому
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 dialogue highlights the need for engineers to have greater visibility into costs, particularly in cloud...
Episode 69: Anxiety When Fixing a System You Didn't Create
Переглядів 152 місяці тому
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 importance of understanding legacy code, learning from it, and developing strategies to reduce anxiety whe...
Episode 68: The Fallacy of Rewriting Software to Save Money
Переглядів 112 місяці тому
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 importance of continuous delivery and iteration. It concludes by emphasizing the need to prove the a...
Episode 67: Revisiting "The Joel Test: 12 Steps to Better Code"
Переглядів 132 місяці тому
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 deployment processes, bug tracking, bug fixing, project scheduling, specifications, working condit...
Episode 66: Squashing the Right Bugs
Переглядів 73 місяці тому
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 member close to the customer to provide context. They recommend starting with backlog grooming an...
Episode 65: Exploring Different Perspectives on Risk with Dustin Rea
Переглядів 193 місяці тому
Episode 65: Exploring Different Perspectives on Risk with Dustin Rea
Episode 64: Aligning Yourself With the Company's Risk Profile
Переглядів 153 місяці тому
Episode 64: Aligning Yourself With the Company's Risk Profile
Episode 63: Fulfilling Friday: SMS Spamming Saved
Переглядів 74 місяці тому
Episode 63: Fulfilling Friday: SMS Spamming Saved
Episode 62: The Peculiar Failure of Correctly Predicting Problems
Переглядів 94 місяці тому
Episode 62: The Peculiar Failure of Correctly Predicting Problems
Episode 61: Challenges of Multi-Product Platforms ft. Dustin Rea
Переглядів 94 місяці тому
Episode 61: Challenges of Multi-Product Platforms ft. Dustin Rea
Episode 60: Anybody Could Have Done It...But I Actually Did
Переглядів 164 місяці тому
Episode 60: Anybody Could Have Done It...But I Actually Did
Episode 59: The Myth of the Boy Scout Rule
Переглядів 325 місяців тому
Episode 59: The Myth of the Boy Scout Rule
Episode 57: White Label CRM Updates with Dustin Rea
Переглядів 375 місяців тому
Episode 57: White Label CRM Updates with Dustin Rea
Episode 55: Writing Your Job Out Of Existence
Переглядів 106 місяців тому
Episode 55: Writing Your Job Out Of Existence
Episode 53: Cloud Infrastructure "Rewrites"
Переглядів 126 місяців тому
Episode 53: Cloud Infrastructure "Rewrites"
Episode 51: How Company Culture Impacts Code Delivery
Переглядів 157 місяців тому
Episode 51: How Company Culture Impacts Code Delivery
I thought this was a great topic. Felt it was a bit short though!
LETS GOOO! White Label CRM is thankful for Dustin and Isaac's help!
Promo'SM 💦
It's wild how quickly a solution can be scrapped and rewritten when it comes to trying to document it. Have had plenty of situations myself where as I was writing the documentation I thought "wow this is a really dumb idea" and then I instead started by writing out how this class or function should work and then I scrap what I had and follow the documentation I just wrote.
I don't think I like AI writing documentation. As long as someone is going to proof-read whatever the AI writes then sure, but if we relying on AI to do something fairly trivial then I don't have faith we'd go and read the documentation to make sure it's correct. Something that would be neat though is using AI to make sure the documentation is up to date. I think that's something AI could do, alert us if a recent change made the documentation go out of date.
I agree! And even if there is proof-reading, I feel like over time users will become lazy and just auto-approve what the AI does, further muddying things. Bad documentation can be worse than no documentation. It can mislead us longer than trying to figure it out ourselves with no documentation. Using AI to comment on expired documentation is an interesting idea... - Isaac