This article really angered me. I have a relative that went through the same thing (outsourcing to India - even had to train his predecessor) a few years ago and the quality went down so much that at one point they tried to put the American team back together.
A couple of years ago we hired a system engineer for a very specific task. He was an H1B visa employee from India. After a month on the job it was apparent he had no clue what he was doing and, in fact, I was training him when he was supposed to be the specialist in this particular area. So we let him go and brought on another engineer that was local that turned out to be an awesome and valuable member of the team. Looking back, the H1B guy sounded different on the phone interview than he did in person. Additionally, when he would get stuck on something he always called someone who would help him.
So fast forward a year, we had another opening for another engineer. All but two of the applicants had degrees from somewhere in India. After interviewing about 15 applicants, only one candidate was able to answer questions related to the field. It was obvious that they all padded their resumes as none of them could answer simple questions except for the one we ended up hiring. Some of their resumes look better than my entire team combined - and I have an awesome team - but these candidates didn't know jack. One of them said that she knew C so I asked her how to dereference a pointer. It doesn't get much easier than that, right? Was that question too hard for someone that would be making $80/hour?(the contract company is billing us $80/hour - she was probably making $50 or ?)
There's another guy we just brought on (Not in my group) that has a Masters Degree in Artificial Intelligence from an Indian University. So far I am not impressed. So I put it to you, what has your experience been with these H1B workers? It seems that the only thing they have going for them is they work for cheap. I hate to paint with such broad strokes but this has been my experience.