3 ms·
This Joel on Software blog post is now 25 years old, https://www.joelonsoftware.com/2000/04/06/things-you-should-never-do-part-i/ https://www.joelonsoftware.com
by hn_throwaway_99 2y ago
This Joel on Software blog post is now 25 years old, https://www.joelonsoftware.com/2000/04/06/things-you-should-never-do-part-i/ https://www.joelonsoftware.com/2000/04/06/things-you-should-..., but when it first came out it was widely viewed as gospel.
I'm generally a big fan of Joel Spolsky, but in retrospect, I think this advice is just wrong, and I think Skype is a perfect counterpoint. That is, sometimes a rewrite is a horrible idea, but at the same time sometimes not doing a rewrite is a horrible idea. If making changes to the code becomes such a nightmare that your rate of progress is much less than your competitors, you're going to lose.
While there is still some good advice in that blog post, hard-and-fast rules are rarely correct. Most things in engineering are tradeoffs, and it's tough to know sometimes what the right balance is.
- zero_shift 2y agoSometimes the technology "background" changes so much that the codebase you have just becomes irrelevant. We live in a world with WebRTC, embedded agents and digital telephony. The platforms, OSes, infrastructure are so different from how they were in 2009. Does having your own, 500 kloc C++ real time video chat stack make sense any more? What I don't get is how MS couldn't use the Teams stack to power Skype as a consumer brand. Probably there was some effort but something got in the way. It might even have been a cultural barrier - Skype was an acquisition, and acquired codebases generally fossilise
- esafak 2y agoSo the answer can change over time. You have to periodically re-assess the benefits of a rewrite.
- niutech 2y ago> Does having your own, 500 kloc C++ real time video chat stack make sense any more? Yes, if it is less bloated than Electron-based. See Jami, which is a native app and it's distributed and open source.
- codedokode 2y agoSkype probably was rewritten multiple times - C++ client was replaced with Electron, and server API was broken many times as well. The reason Microsoft shuts down Skype is not because there is too much technical debt but because there are few paying customers and because there are new messengers like Telegram.