I wonder if there's any concerted effort to fix that for academia, or if the "shortage" of math-literate programmers just isn't a problem worth fixing.
I think universities will never be able to compete for engineering talent until they can create attractive career paths for people who aren't professors.
It's also ethically difficult to advocate for higher salaries in the academia, if you are already living a comfortable middle-class life. The money would ultimately come from taxes and tuition fees. If you think that those should be increased, the money would be better spent on helping your colleagues who are earning poverty-level wages.
Engineering is a support role in the academia, because pure engineers don't teach or set research directions. Most labs and most departments are too small to employ more than a handful of engineers, if any. Only large research institutes have enough engineers working on similar topics to justify creating senior engineering roles.
There are people who have stepped off the gravy train because they don't like it, or they don't fit into the enterprise workplace for whatever reason. I might be one of those people. I work in industry, but in an early-stage R&D team.
Maybe the status quo is a reasonable solution: Find grad students who are willing to do the work in return for a chance to sharpen their programming skills. This process could be improved by providing scientists with training on how to write better code. The result will be a certain amount of attrition of scientists into software development jobs, but we have to get used to the idea that attrition into a more employable field is actually a good thing, and there will be plenty of scientists.
I've personally done this by finding normal work that is part time, so I can round it out doing work for scientists, artists, and musicians.
That's what I did for the first 10 years after graduating from university. Eventually I transitioned to a full time 'normal' job but that made me unhappy.