An article was posted on the PhysicsForums recently about the lack of technically trained employees in the US. It was a good article that asked the important questions about H1-B visas, the overall job market, and hiring practices.
...John Tracy, vice president of engineering for Boeing Co.'s Integrated Defense Systems, "who says he needs to hire 1,000 engineers a month, mainly to replace retiring engineers, many of whom were originally inspired by the space race in the 1960s. But he has been able to hire only 2,500 a year in each of the past two years."
I've been of the opinion for years that there is no shortage of engineers and scientists in the US, and claims to the contrary are motivated by a combination of ignorance and a desire to hire cheaper talent than the going rate. There is good evidence in science at least that there is an oversupply of trained people leading to a lack of opportunity.
For engineers, I like option II in the linked article. Current engineering hiring practices are overly specific in the required skills and experience, leading to unwarranted difficulty in filling positions. Skills and experience do matter, but my own experience has been that you can train most engineers pretty quickly in a related field.
In my current job, I have worked with engineers from disciplines including mechanical, chemical, and industrial all filling the same role, and also with people with experience from aerospace to semiconductors to food processing, and everyone works out about the same. Contrarywise, another functional group that I interact with has insisted on hiring only people with previous experience in the same industry of 5 years or more, and has 6 unfilled postings that are more than 2 years old. The cause of this disparity is pretty clear.