It can be oversupply/outsourcing and also secular: You can have basically chronic oversupply due to a declining/maturing industry. Chronic oversupply because the number of engineers needed goes down every year and the pipeline isn't calibrated for that (academia has been dealing with this for a very long time now, look up the postdocalypse). Outsourcing, because as projects mature and new stuff doesn't come along to replace, running maintenance offshore gets easier.
Software isn't eating the world. Software ate the world. New use cases have basically not worked out (metaverse!) or are actively harmful.