Also, a lot of the "new" stuff that they want to work on is really old stuff, just with a new name and a new coat of paint. Having been in the business for several decades now I see of lot of this, and I am by turns both amused and appalled by it.
Also, a lot of the "new" stuff that they want to work on is really old stuff, just with a new name and a new coat of paint. Having been in the business for several decades now I see of lot of this, and I am by turns both amused and appalled by it.
A former employer of mine had switched from using custom code to packaged code, which introduced plenty of problems of its own but overall things were generally going about as well as could be expected. Then they decided that they just had to have the latest and greatest version of that code from the vendor, which promised all kinds of flashy bells and whistles. They unwisely jumped into this with both feet (they were an early adopter), only to find that when those bells and whistles were added a lot of the old code had been rewritten, too, which introduced (or maybe re-introduced) a large number of very serious bugs. By the time those bugs were corrected (if they ever really were), the company (which was by now my former employer) was in such bad shape that they were basically forced to close their doors. They had pretty much lost control over their inventory and financials, for example, and had committed themselves to fulfilling contracts which were based on cost figures that were woefully incorrect.
A typical project is done by a handful of contractors or fresh graduates, that are all gone after a year or so. The next team will attempt to throw it away and start over more often than not. Point being, there is plenty of work in churning out software.
Consider startups. Each successive group of new joiners will be adding a lot of new code and regularly throw anything that's already there. The churn is massive.
Have you worked with or for contracting company like Accenture? They assign developers to work on a project for a defined period of time, then disappear. It's not systematic that the software will reach a well working state, be handed over to the client and be actually used.
Another case. Things done with independent contractors. They are regularly hired to do nothing, well, maybe pretend to work and show a demo once in a while. If they produce something, it's not uncommon that the company didn't bother to hold the source code or build scripts.
Don't get me wrong. I fully agree with you. There is definitely more work available in maintenance than in new projects. However I also think there is enough work for a developer to make a career in either.
At my last gig as an independent contractor I did a lot of work on a project that mostly revolved around one of their largest customers. But then the employee who I was working with the most on this took early retirement due to medical reasons, which caused a change of direction somewhat because the employee who took over that job wanted to do things a bit differently. Then their big customer went out of business, which had a rather dramatic effect on the overall project. But as far as I know the code and such that I worked on is still in active use, it's just not nearly as critical to the business now as it used to be.
Before that I worked at a local mega-corporation, and there was one project there which I worked with on and off for ten years. But then one day, due to an act of legislative fiat, its reason for being just up and disappeared, so almost overnight all of the software and hardware that was used to make it work just went away.
But that same place suffered a bit from what you describe, in that it wasn't too unusual for them to spend money on software that didn't actually work, so it was ultimately abandoned. In fact, I had a running joke with them: "Gee folks, if I'd known that you were willing to settle for software that didn't actually work and that you were going to just throw out anyway, I would have only charged you half of what you paid those other folks to develop it!"