Edit: during my career, I had numerous projects needing cleanups after developers only interested in shipping the next feature and rotating frequently. If the long term maintenance isn't your problem, the incentive to slap it together is strong.
Edit: during my career, I had numerous projects needing cleanups after developers only interested in shipping the next feature and rotating frequently. If the long term maintenance isn't your problem, the incentive to slap it together is strong.
I believe to change this, we need to invent a completely new way of how software is built.
I recently met a guy who came up with an idea. He created a whole new methodology of coding stuff. It took him 4 years of hard working. He made a platform which allows making software out of separated entities which live by their own lives. Those entities (components) are developed by individuals. Therefore, projects built using a set of living components needs less maintenance work because a project is built of components which are maintained by someone else.
The only way to keep this evolution of the components going on is to benefit the makers of the components. The users of the components will pay a fee for the makers of components. Thus we get a win-win. A maker of a component can create an amazing, let's say, billing module and continue working on this single piece of code for years while being paid by 1,000 users of the component. While the users of the component just pay a small fee, hit the 'plug' button and do not care about the maintenance anymore.
This sounds like a magic, but it already works. The guy who made it already got his 100+ customers.
this also smells like distributed programming where you have loose services on a computer communicating. nothing new either.
these approaches have other issues, like performance penalties and additional complexity and their own sets of problems.
My plan was to brining in freelancers just to get the thing built - because I couldn't get it done.
I've since brought on two technical co-founders with a stake in the project to avoid what you're describing.
I was only able to bring them in because I had a product launched.