Unrelated to the content, the site is extremely difficult to read on mobile. The text is huge (only a few words fit on each line)! While larger text is usually helpful, this takes things too far.
How-code loading is really much more of an anti-pattern, IMO. The basic problem comes down to: if one wants to do hot-code loading it means that the state of a particular system is too important to lose. But, as we all know, systems fail anyways so one is going to lose that state whether they want to or not. Hot-code loading is a tool that lets someone get by without figuring out how to mitigate that lose. In many cases where one sees hot-code loading a robust system that handles failovers or is distributed across multiple machines will be a better long-term investment. The blog post claims that the company writing it depends on hot-code loading. They seem to be a company that provides cron as a service, I can come up with a few architectures on the spot that don’t depend on hot-code loading and still don’t lose job state.
But before anyone responds with the “but what about IrcCloud” example of why hot-code loading is needed. Yes, I’m not saying it is a useless feature, I am saying that many places I have seen use it do not benefit from it. It’s an overused and overevangelized feature.
I would argue that in production, it is almost never used. Lots of Erlang teams try it – see the effort required and as you pointed out, realize there are dozens of better ways and simply do it the easier way out of an abundance of pragmatism. I suspect it comes up a lot of Erlang evangelizing because it is very defensible as a bullet point, very few other stacks do it.