Another Week with Bad Software
The problem I have with this perspective is that it ignores all the times software works correctly (which is easy to do, because it's usually invisible.) Consider the pile of software that has to go right for you to experience the world as you do on a given day. Did you buy something from the store? Software. Did your trash get taken from the curb? Software. Did you get to work safely in your car? Software.<p>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.<p>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.