First, with respect to computers in general I wholeheartedly agree. Software Developers have become atrocious in their disregard for resources, and I lay that mostly at the hands of the rise of Computer Science which teaches towards the perfect computer (all RAM, CPU, storage, etc you need is there) as well as communities like Java where the motto is "just throw more hardware at it". Then you have the devs and managers that don't want to spend the time or resources to optimize the system - often going tossing out the idea of "premature optimization" in order to prioritize other things. All-in-all the software industry as a whole is just downright a disaster in this area and shows no sign of solving it any where in the next few decades.
Second, with respect the "16 GB Android phone" bit...this is more due to a change in the base Android OS and shifting to push stuff into the Google Play app store in response to phone manufacturers and telco's not keeping software up-to-date. What happened? Google wrote functionality for Android Devs that pushes requires features for one base (f.e Android SDK 24) into the app so it can run on older devices that have another base (f.e Android SDK 20). The result is app sizes bloat more and more over time - the app gets updated (f.e now requires Android SDK 28) so the layer grows; even though the app itself might not have changed much in size, the package overall jumps majorly in size. So you can't quite blame software devs on this one - it's more out of their control. If the telco's would push updates out faster and device manufacturers would actually maintain devices longer (f.e 2 yrs like they have said they would, especially Motorola) then this would be even less of an issue.
And honestly, I haven't seen 16GB as being sufficient for a very long time - even back in 2015 32GB was a far better choice.