The point I took away from this article is not that there is not a shortage of capable works. Instead, it's a shortage of capable workers willing to work at the salaries and rates being offered.
The full answer is that there is a shortage of capable workers willing to work at the salaries and rates necessary to keep the jobs in this country. The US had a huge head start in the IT field because most of this technology was invented here, but the benefit of that is slowly dwindling. It is similar to the manufacturing benefits we had when automation pioneers like Ford invented their processes in the US. But we are in a global marketplace so eventually all fields need to justify their compensation on a global scale.
If your position does not require a large amount of soft skills (which often don't transfer well between cultures), then you are unlikely to be shielded from global competition. And unlike Wall Street guys, corporate executives, sales, etc, most STEM jobs do not require too many soft skills. Technical skills transfer to other cultures very well so it is quite easy to transfer these. There are still plenty communication costs involved in off-shoring tech jobs, which is why STEM workers still make many times higher salaries in the US than in developing countries, but global pressure still suppresses wages.
The only way to really insulate more technical fields is through state sanctioned monopolistic practices such as unions. This works very well for the medical industry, because without their strict licensing practices we could be flooded with foreign doctors just like we are with H1Bs. It may not be a bad idea to at least create a licensing body for industries such as software development, but that could still limit technological progress.
The unfortunate truth is that in the case of STEM fields, what is best for these employees is not what is best for the country overall. Encouraging more people to go into slightly lower paying STEM jobs instead of banking, financing, law, etc. will help our country compete globally, even though it hurts the individual employees choosing lower compensating fields. The cheaper that we can build our IT infrastructure the better our economy can compete globally.
Luckily STEM workers are still very well paid. While I may be making over $200k per year if I had went into finance, I am perfectly happy with my low six digit salary in the midwest.