I generally agree with all that, but I am still not impressed. It is partly due to rapidly declining educational standards where newly graduating programmers need to have remedial classes so they know how and are not afraid to make a phone call or write an email in complete sentences. Writing a compiler for a serious programming language? Apparently that is just short of unheard of, and when I was in school you practically couldn't graduate in computer science without taking a class like that and almost everyone did. I used to write or port video games that ran on machines (like the Amiga, the Atari ST, and the Atari 7800) with as little as 4K of RAM and 16K of ROM, and you had better believe no one wanted to ship a video game cartridge with any visible bugs in it, or something on floppy disks with serious bugs in it either. I had managers yell at me for not being able to fit a cutting edge golf game into 512K of RAM on an Amiga when I was seventeen. It would have worked fine in HAM mode with 4096 colors but the publisher (Accolade actually) insisted that it absolutely had to fit in 512K and took responsibility for the Amiga version away from me and shipped a rather less exciting 32 color version because their requirements were that demanding.
And these days programmers waste RAM like water - and in many (but certainly not all) environments they can afford to, and no one cares. If every version for twenty years is slower and uses more resources than the year before no one really cares just as long as the bottom line looks okay and they can hire the cheapest and least competent programmers possible to get a (bleep) poor job done before moving onto the next bug infested piece of software. And even the *biggest* and most reputable companies do this as a matter of course. Google, Microsoft, Facebook, Amazon, and Adobe produce some great software but overall their software quality has either gone done hill or done nothing much for twenty years. And Internet standards are actually going backwards, especially with the introduction of ever slower versions of DNS, the ridiculous idea that we should use HTTPS everywhere, some of the most inefficient RPC protocols ever devised, the advent of resume driven development SPA web applications and on and on.
Back in the 90s software, including Internet software used to be *fast*, and if you didn't push the limits of the laws of physics you were a bad programmer. And how many companies and how many programmers do that any more? Approximately none of them, if they even know how or use a language that doesn't suffer embarassing pauses and run ten times as slow as what is reasonably possible. Electrical engineers and engineers in materials science know how to push the boundaries of the laws of physics, but on average software engineers stink and are not allowed to dedicate the time and the resources to do anything they should actually be proud of and look at themselves in the mirror in the morning with anything but barely disguised disgust. Someone or some group of people ought to do something about that. I intend to do so (to the degree I can of course) and I hope others do to. I am embarrassed to work on products and services from poorly managed software and services companies with managers, executives, CEOs, boards of directors, and shareholders that just don't care (tm).