No, most software is straight-up pessimized. Computers are so ridiculously fast nowadays that optimization really is unnecessary in most cases, but developers have somehow managed to make such poor decisions when building software that the result is slow anyway.
Compare: Computer game from 1995 to computer game from 2023, to chat client from 1995 to chat client in 2023.
One of these demonstrates many orders of magnitude improvement consistent with the improvements in the hardware, and it isn't the chat client.
Most software is poorly optimized for performance, but often optimized quite okay for some other metric, be it a stable release cycle, or cost of maintenance or etc.
> If you just use enough tape you can save money on all those pesky construction dudes.
But the comparison here is more like the other way around, isn't it? Fixing the problem by just throwing more resources at it is like making up for an inefficient construction workflow by hiring more construction dudes.
An increasing number of sites I interact with seem to love making me wait for API calls for everything. Like the lazy-loading is meant to improve the user experience, but if all I see is blurred placeholders and ...s while you make your six trillion cascading calls to your microservice architecture, I'd rather just go back to waiting for the full content to load in a few HTTP requests.
And then a team with the same mindset writes the software that runs on my desktop or phone or light bulb. From a certain point of view, that's even better, because someone else is stuck paying for the ‘next instance size’.