It's not bogus. Many if not most of the big high tech companies have open positions they can't find people for. If anyone is curious where the mistake is in this article's reasoning, it's in the assumption that people are more or less interchangeable, and that all you have to do is train them to be Xes, and you can have as many Xes as you want. Whereas the reason there are open positions for programmers at high tech…
This: "Someone asking why we need to hire programmers from other countries might just as well ask why Real Madrid has to hire so many non-Spanish players. Can't they just train more Spanish players to play at the level they need?" Very well said.
In the U.S., the reason why is "salary caps" in professional sports leagues.