Shipping good software will always be hard
Code can practically write itself now, but writing the RIGHT code hasn’t gotten any easier, and I don’t think it ever will. AI didn’t kill that bottleneck, it pushed it somewhere else and traded us one set of problems for another we haven’t yet encountered.
These days it’s never been EASIER to make software and never been HARDER to ship software that people actually WANT to use. Most software gets impaled, burned, forgotten, or entombed in layers of concrete. The good stuff keeps floating to the top somehow. People have spent decades trying to murder the web browser, but it will not die. Email sucks and we are stuck with it forever.
We’ll NEVER escape the complexity, we’ll keep building on top of it, powdering the old bones of dead software into mortar and laying the next course of brick.
Right now I’m ripping the foundation out of my house. That foundation is buried under the floor, made of knotless heartwood pine. Our house was built a long time ago and its core is failing now, and there is too much I love sitting on top of it to bulldoze the whole thing. The only way down to the foundation is through that 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). But there is no other way through. I think that’s true of software, 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 we might as well keep building while we still can.