Earlier quoted context omitted.
Generally, expectations do not define reality. I'm not just being contrary, I've worked on a project for a year or two that got scrapped, and I think it happens a lot. Another way to look at it, is that if you have programmers that are regular employees and not temps or something, you might as well have them work on something that's not very important, or that's risky, when you don't have something better for them to…
I’m convinced if they stopped paying us all to rewrite things that work the market would fall out from under us. Every job I’ve ever been involved with has always had some code base that was in framework X and now needs to be in framework Y, or on in house hardware and needs to move to the cloud, etc etc. And having just interviewed every place has a project like that. “We were using PHP for the mvp but are moving to…
To keep engineers motivated, the work has to have sufficient amount technical accomplishments and not just churning out business features.
Luckily, due to continuous growth in market and scale of users, and improvements in hardware, there is opportunity for serious amount of technical work in any project.
Also, faster time to market is of real business value. Compromises are done in ideal perfect designs to meet timelines (or resource constraints) – hence, tech debt occurs and it is real and just as useful as financial debt to help scale a business in a competing marketplace.
And speculative/iterative market feedback based development is also real. All these things add up to one thing – things that were right for yesterday isn't right for tomorrow.
So we have to rewrite or refactor software continuously. And that's perfectly normal. It is actually one of the biggest strengths of software based solutions – that we can change things live - while it is already in use - change the engines of the rocket while it is flying - so to speak. We have to embrace this and leverage it disruptively.
Those who pine for perfect software are denying realities of the larger real-world.