One aspect that is not mentioned is that we build software on top of an ever-increasing number of first-to-market, low-quality, building blocks. And by low-quality I mean "worse is better"/MVP/"everyone makes mistakes"/"leaky abstractions"/etc -- pick your favorite. As a result, we spend more and more time dealing with someone else's mistakes rather than making forward progress.
Totally agree. Move fast and break things? Let’s not. Let’s build carefully and methodically. Teach others how to build quality software. Stop regurgitating what you watch on YouTube 4 hour course. I’ve seen horrific, I mean absolutely bottom of the barrel code being taught to others. Especially in JS community - yes, I’m picking at you guys again. When teaching goes to shit, you’re breeding and propagating, institut…
Many companies wouldn't have existed if they didn't move fast and tried to perfect everything instead of prioritising getting to market.
Don't put the same level of care into the weekend side web app you are creating for fun as to the rocket ship you are building.