Apologies for not reading your comment fully, but in this specific instance it's because a weekend suspend causes hibernation, which means all your RAM is saved to the disk. The file can be pretty large (same as your RAM, say 32GB) but reading it fully takes much longer (at 200MB/s it's three minutes). In order to wake up your computer quicker (a few seconds), instead of reading it fully to RAM, the memory is read on demand, i.e. when a process needs it. This comes at the cost of keeping your computer lagging for the next few minutes. This is just one of many many small engineering quirks that makes up an operating system. However considerate the developers work, tradeoffs have to be made here or there. You can't power off the computer and expect to restore its state fully within 5 seconds.
> the professional "dabblers" who don't understand computers, don't understand firewalls, don't understand databases, don't understand algorithms, don't understand garbage collectors, don't understand or care about any kind of security or legal compliance regulations
A single code base consists of many parts independently written by developers of all fields. There are CPU people, networking people, disk people, kernel people, compiler people, cryptography people, etc. And there are things that are simply not possible even if they work their best. There are developers that focus on making the operating system as safe and stable as possible, but they build aircrafts, cars, rockets and household applicances, which (from a software development perspective) are far less powerful than regular computers.
That said, the community of developers is indeed very bloated and there is no need for so many of them. We just haven't found a way to distribute money to that small set of necessary developers without compensating everyone else and bloating the company to keep talents away from competitors.