Personally, having worked in professional enterprise software for ~7 years now I've come to a pretty hard conclusion.
Most software should not exist.
That's not even meant in the tasteful "Its a mess" way. From a purely money making efficiency standpoint upwards of 90% of the code I've written in this time has not meaningfully contributed back to the enterprise, and I've tried really hard to get that number lower. Mind you, this is professional software. If you consider the vibe coder guys, I'll estimate that number MUCH higher.
It just feels like the whole way we've fit computing into the world is misaligned. We spent days building UIs that dont help the people we serve and that break at the first change to the process, and because of the support burden of that UI we never get to actually automate anything.
I still think computers are very useful to humanity, but we have forgot how to use them.
> Upwards of 90% ... of software should not exist ... it has not meaningfully contributed back to the enterprise
This is Sturgeon's law. (1)
And yes, but it's hard or impossible to identify the useful 10% ahead of time. It emerges after the fact.
And not only that, but most >>changes<< to software shouldn't happen, especially if it's user facing. Half my dread in visiting support web sites is that they've completely rearranged yet again, and the same thing I've wanted five times requires a fifth 30 minutes figuring out where they put it.
> "Personally, having worked in professional enterprise software for ~7 years now I've come to a pretty hard conclusion.
Most software should not exist.
That's not even meant in the tasteful "Its a mess" way. From a purely money making efficiency standpoint upwards of 90% of the code I've written in this time has not meaningfully contributed back to the enterprise, and I've tried really hard to get that number lower. Mind you, this is professional software. If you consider the vibe coder guys, I'll estimate that number MUCH higher."
I've worked on countless projects at this point that seemed to serve no purpose, even at the outset, and had no plan to even project cost savings/profit, except, at best some hand-waving approximation.
Even worse, many companies are completely uninterested in even conceptualizing operating costs for a given solution. They get sold on some cloud thing cause "OpEx" or whatever, and then spend 100s of hours a month troubleshooting intricate convoluted architectures that accomplish nothing more than a simple relational database and web server would.
Sure, the cloud bill is a lower number, but if your staff is burning hours every week fighting `npm audit` issues, and digging through CloudWatch for errors between 13 Lambda functions, what did you "save"?
I've even worked on more than one project that existed specifically to remove manual processes (think printing and inspecting documents) to "save time." Sure, now shop floor workers/assembly workers inspect less papers manually, but now you need a whole other growth of technical staff to troubleshoot crap constantly.
Oh and the company(ies) don't have in-house staff to maintain the thing, and have no interest in actually hiring so they write huge checks to a consulting company to "maintain" the stuff at a cost often orders of magnitude higher than it'd cost to hire staff that would actually own the project(s). And these people have a conflict of interest to maximize profit, so they want to "fix" things and etc etc.
I think a lot of this is the outgrowth of the 2010s where every company was going to be a "tech company" and cargo-culted processes without understanding the purpose or rationale, and lacking competent people to properly scope and deliver solutions that work, are on time and under budget, and tangibly deliver value.