Rewriting Critical Code with Phil Haack
How do you rewrite critical code safely? Carl and Richard talk to Phil Haack about his work on Scientist.NET. Phil talks about the challenges of rewriting code, which means taking something that works (more or less) and trying to make it better, at the risk of breaking it. Yes, test suites would help, but who has those on legacy projects? The Scientist library makes it easier for you to build a new version of a function in your legacy application and run it in parallel to the old function, so that you can validate the results in production without breaking anything. The conversation also turns to the value of rewrites, how tooling, techniques and technology have changed to make it more feasible to do major rewrites, and all the other geeky goodness that comes from hanging with Phil Haack. Happy episode 1400!
Phil Haack has over twenty years of experience in the software industry. Prior to A Serious Business, Inc., he was a director of engineering at GitHub and helped make GitHub friendly to developers on the Microsoft platform. Prior to GitHub, he was a Senior Program Manager at Microsoft responsible for shipping ASP.NET MVC, NuGet, among other projects. These products had permissive open source licenses and ushered in Microsoft’s Open Source era. Phil is a co-author of GitHub for Dummies as well as the popular Professional ASP.NET MVC series and regularly speaks at conferences around the world. He’s also made several appearances on technology podcasts such as .NET Rocks, Hanselminutes, Herding Code, and The Official jQuery Podcast. You can find him sharing his thoughts at https://haacked.com/ or on Twitter https://twitter.com/haacked.
- Gomix https://gomix.com
- ThatConference https://www.thatconference.com/
- Phil's Blog http://haacked.com/
- Atom Editor https://atom.io/
- Electron http://electron.atom.io/
- GitHub Desktop https://desktop.github.com/
- GitHub Scientist.NET https://github.com/github/Scientist.net
- Joel Spolsky's Blog Post Against Code Rewrites https://www.joelonsoftware.com/2000/04/06/things-you-should-never-do-part-i/
- GitHub Engineering http://githubengineering.com/