My favorite point on how software end up complex, is our industry somehow thinks we are unique on this.
Everything winds up complex. Just look at how many ingredients go into simple store bought cookies. Look into the entire supply chain around your flour, that lets your homemade cookies be simple.
Unless you count obesity and diabetes, the public is not noticeably inconvenienced by the cookie supply chain, because it pretty much just works. So it's hard to find examples of Cookie Technology Failure Modes with serious consequences.
There's a huge difference between "hard to use" and "prone to failure."
Software is often hard to use, but it's also extremely prone to not working.
This is not true of airliners [1], cars, large buildings, large ships, and commodity rocket launch platforms - as well as global supply chains of all kinds.
When the pandemic lockdown started some of the supply chain abstractions leaked, and the US public was noticeably inconvenienced by lack of toilet paper, cleaning supplies, and (in some cases) meat. It turns out the supply chains are actually rather fragile with many failure points.
This is beside my point. I only picked cookies because I'm making some. :)
Look into the supply chain for lumber to your house. Concrete. Electricity. Literally anything. Life is complicated.
Software just fools us by letting us more readily have a blank slate sometimes. Though, even then, the complexity of the tool chain to support such easy "hello world" programs is insane.
If you want to know frustration, try using any of the simple tools you can buy at a dollar store for a time. Simple can openers that will fall apart in no time. Tableware that will bend and likely go unusable in months.
Everything winds up complex. Just look at how many ingredients go into simple store bought cookies. Look into the entire supply chain around your flour, that lets your homemade cookies be simple.