I maintain that this is a problem of investment by the company. You don't need (as
@daviator said) the top 1% of IT people to get functional systems. Plus, there are lots of good people looking for work as big tech has laid off a bunch (if you believe that FAANG has the only good IT people). Not only that, not all competent people want to work for FAANG. Common "stupid" things that affect mid tier IT quality (not saying MVC has any specific issue here, but clearly they are having issues) are the following:
- Pay / benefits / job satisfaction too low. If you're paying below market in whatever markets you're in, or even if you're paying market average, you will have trouble getting people if you are considered a bad place to work for the intangibles. You could solve this by raising salary offers and benefits packages, but you also could consider changing culture to be more appealing, including better work/life balance, fully remote work, etc etc.
- They've decided to take the fully remote work and just outsource everything. This usually is a problem because whenever you're not in direct control of the unit the employees aren't yours. They don't really care how well you rate their individual output, they care only insofar as their companies management applies bonuses or layoffs in terms of contracts coming and going. This is how you get crap service by SLA. This is literally IMO hiring a whole unit of people who already "quietly quit" or are applying Union "work to rule". In other situations this would be considered bad. On top of that, you're paying significantly less to employees for the same spend on your end - the outsourcing company will eat a huge percentage of the pay. So you're also stepping down the quality latter in most cases.
- Not investing in the systems - then you take sub par or even median competence employees - but you ignore them, you refuse to buy needed upgrades etc. Just like deferring on maintenance of a resort eventually leads to a big bill and a lot of construction all at once or a compete failure of the resort, so does deferring IT upgrades. You can have the best team of mechanics in the world, but if they are only given a 1970s yugo with 300,000 on the clock to keep running, it probably will spend more and more time in the shop vs functioning. Especially if you won't even buy new components but insist they "repair" anything that breaks.
- Bad strategic goals - if you keep changing directions, overhauling the system, moving cloud providers every year on contract renewal, etc etc etc - you're spending what tech time you do have running in place.
- Bad strategic operations - you don't listen to what experts you have hired and so end up not developing HA clusters or rolling releases, or reconciliation strategies that work live. You don't manage build pipelines or CI/CD workflows etc. I think some part of this explains all the TS companies 12-24 hour weekly/monthly outages - they have no system to "do it live" so they're still doing an app deploy or whatever like it's 2000 and taking the whole thing down, reloading the data in the new app, and bringing it back up. Some of this could be interacting with an ancient batch system using COBOL or really anything that only generates a status once a day via a long report or something. But even that has ways around it - there's stories online about how various companies figured it out. And of course, updating that system to handle more real time updates is also possible.
It all comes back to ways of not investing in their operations. However, I think it's also the case that there's no competition doing it better, so I see why they don't see an ROI on fixing it. Until someone pulls an uber on them, they're not going to change IMHO.