At least for those of us who used floppy disks, software feels overcomplicated today.
I think most of what we’ve built is made of too many parts. I think it’s partly because we no longer make the same thing a thousand times, refining it as we go. We don’t reduce software to its essence like we did with common tools like a hammer or a dish sponge. We take software parts off the shelf and use them wholesale for 10% or 1% of their total capability. Trimming the unused remainder and integrating it all to suit the problem better would require we stop and learn what those dependencies are made of and how they work. In our rush to ship, we rely on abstraction for speed, but abstraction has a cost too, and it has been compounding for decades.