That is IMHO exactly what happens. Companies have learned that crappy code is usually sufficient to make the big bucks for a while. And if a company gets big enough, the revenue allows for tolerating crap.
Guess how many big companies among the worlds TOP 100 actually do not do offshore development and focus on the in-house quality code? In reality, these are more like 100 offshore guys, and 1 in-house guy to fix the worst crap.
Has it gotten less in the past two decades? No.
As much as I would wish for no offshore development, the reality is a different one.
Companies have learned that crappy code is usually sufficient to make the big bucks for a while.
This is so painfully true. But I think it's also a sign of an oversaturated market.
It's mostly a race to deliver a product faster than the competitor now. Quality is a 2nd class citizen, if not a 3rd class citizen even should we count development cost optimizations.
Quality tends to make ist return when companies grow old as suddenly there are sufficient competitors which also can get cheap code. Suddenly quality becomes important again.
IMHO all the skills for arriving at quality in development, deployment, etc. should be a part of engineering training worldwide.
And you can see that startups take over market share gradually by making quality products, being closer to the final user and improving gradually.
It's a cycle that moves the market and there's always a breach. I don't see this being stable soon.
... and every startup either dies or becomes the next IBM. It's an iterative cycle where companies repeat the same mistakes over and over because they think they would be able to sustain doing / being better while growing.
I wish it worked that way, it did not so far. See Google. Small "do googy startup". Now they are big. And no longer goody two shoe folks.
We're a place where coders share, stay up-to-date and grow their careers.
We strive for transparency and don't collect excess data.