All engineers in all fields needed to be taught (but most were not) that the half-life of their education was  maybe  10 years, often five.
A lot of the problem is the flip side of that. Managers need to realize that experience is actually worth a lot and having the right keywords on your resume is not worth as much as people think.
A good computer programmer can pickup a new language in a month by reading a book and experimenting. There will be a learning curve while they pickup the subtle points of the language, but an inexperienced programmer right out of school is going to take even longer to really get up to speed.
Companies would rather spend months on an open ended quest to find the perfect candidate then train one themselves. The primary reasons for this is that Human Resources judge people by keywords because it's a lot easier then trying to measure real skill, training is a budget cost while lost opportunity isn't and managers tend to feel they can beat any problem by throwing more bodies at it.
And that is all before actually getting into the issues of companies abusing H1-Bs to drive down salary.
Jay