I've often had a contrarian view on this in that I find it almost miraculous how robust software is despite all the flaws in the humans creating it and the insanity of what is actually happening physically to make it work. The fact I can type this out and send it and it will work at all is truly stunning. The fact we live in a world where we are surprised when complex, interconnected, global-scale software breaks and not surprised when it somehow works properly speaks volumes.
That's not to say that we can't do better, but the evolution of software to me has been one clearly of improvement, not stagnation or regression, all while taking on more responsibility, more scale, and more problem complexity. It's easy to point back at simpler times as "the good old days when software was well engineered" but it's easy to overlook the daily wonders that we take for granted today that were unconcievable just years ago.