Shipping good software will always be hard
Code practically writes itself now, but writing the RIGHT code hasn’t gotten easier, and it never will. This AI crap didn’t kill that bottleneck, it just shoved it somewhere else and traded you one set of problems for another you haven’t yet met.
As softwarians, our bets used to be bigger. When we wrote our work to a magnetic wheel and mailed it to our customers, it had to be right. These days it’s never been easier to make something and never been harder to make something that matters. People quit when it gets hard, or wander off chasing the wrong idea, and that’s the organism doing its job. The things that fold and crumble and implode are where the blood gets spilled. Bad software dies there, impaled, burned, entombed in layers of concrete. The good stuff survives. People have spent decades trying to murder the web browser and it will not die. Email sucks and we are stuck with it forever. We don’t escape the complexity, we build on top of it, we powder the old bones down into mortar and lay the next course of brick.
Right now I’m ripping the foundation out of my own house. The foundation is buried under the floor, the part we stand on and live our lives on, and it just holds for years until one day it doesn’t. Mine was built a long time ago and it’s failing now, and there is too much I love sitting on top of it to bulldoze the whole house. The only way down to the foundation is through the floor. And the floor is fine, it was never the problem. But it’s in the way, so I’m tearing up a thing that works perfectly to reach the thing that’s actually broken underneath, and that breaks my heart. There is no other way through. If I don’t, the house dies. I think that’s true of software (and our human containers), all the old decisions buried at the bottom that everything else got built on top of. One day we all turn to dust anyway, so you might as well keep building while you’re here.