To give an example of how H1B visas don't always bring in the best and brightest, I once worked alongside a H1B coworker who cost more than they contributed. I recall the worker arguing with me about memory allocation, specifically that a situation where I used malloc to allocate a buffer was a bad thing and it should never be used. When I asked her if she understood how in the existing implementation of the "new" operator that it called malloc behind the scenes, she just stared at me. Most everything has it's place, even lowly things like GoTo's which people malign from habit. Use the right tool for the right job and drop the dogma. Sometimes good enough beats perfection and sometimes elegance loses out to getting the job done. To compound the problem, in that scenario, my argumentative co-worker was attempting to cast doubt upon my work. It worked to some extent as I had to go through a heavy code review but in the end, my choices were deemed as proper. But the H1B worker exhibited misbehavior in my opinion. Trying to throw a co-worker under the bus to better your own position is not good for a cooperative work environment and it ultimately costs a company money as time is wasted resolving bickering or false claims.
Ah, but the scenario with the H1B worker was filled with numerous problems. It wasn't much later that the worker checked in a large number of changes. Later that evening while I worked alone at the business until 2:30 AM in the morning. My manager called in because he thought one of the execs was there. He was surprised when I answered the phone asked me why I was still there. When I explained to him the broken mess I was cleaning up in the code the H1B worker checked in without testing was going to stop our release the following day if I didn't fix it, he told me to go home. The H1B best and brightest soon vanished from the workplace and not a moment too soon.
Adding insult to injury, the H1B worker would frequently declare how they cared nothing about the US. They bragged about sending their income home (to another country) and that once they secured citizenship so that their future children could gain access to the US, they would leave. Wow, that's really a valuable addition to the US. There is more, but I won't talk about that as it goes into topics that are best not discussed. Let's just say the H1B worker wasn't playing by the rules the rest of us play by.
My beef is not about H1B applicants but about business practices here in the US. Without a doubt, I have worked with some H1B coworkers who were quite enjoyable to be around. Essentially, I am happy to allow citizenship to people who are talented and intend to contribute to our society. The experience I outlined was related to one person who had a very bad attitude. Most likely the worker had bad experiences in the past and was overcompensating. But my point is that H1B visas should be for people who intend to stay here, not for people who are simply taking advantage of the educational system or jobs. Getting into school is hard enough as it is. And facing job or school enrollment competition from people outside the country who have not paid taxes or shouldered the burdens faced by a natural-born citizen seems questionable if the screening process lets sub-par performers through who care nothing for our country.
When we surround ourselves with motivated peers, we strive harder too. Businesses must think beyond simple profit motivations. We are in this for the long haul and true corporate social responsibility is important if we want to better our society. If we simply try to leverage (or abuse) cheap labor, everyone loses. Everyone has a stake in this so we must choose wisely.
Update 7/12/2013: another interesting article can be found in Computer World that talks about the trends for electrical engineers. Worth the read. While this isn't exactly directly linked to an H1B issue, I think it still has an impact because of how picky the employers can be now. The last sentence hit home quite hard because I totally understand what the person is talking about. Prior to obtaining my existing contract (which only happened because someone already working there recommended me), I had an interview with a company that employs EE and CS people. They were notorious for being picky. In fact, the moment I walked in the door, the first thing out of the interviewer's mouth was that I was a bad fit because his team moved fast (and I was older). The only reason he interviewed me was because he saw some DirectX related references on my resume and hoped I had DirectAudio experience. When I indicated I didn't, he reiterated I was a poor fit and "had" hoped I would somehow impress him. For all practical purposes, the moment I said I didn't have DirectAudio, that interview was dead. Anything I tried talking with the fella about went nowhere. I even recall him telling me how no one needed to understand Windows message pump processing anymore because it was not helpful in any manner. When you encounter people who place no value on understanding the foundations beneath a system, there's no point in arguing. They'll keep looking for their perfect employee because they have hundreds of applicants to choose from.
Update 4/26/2013: an interesting article from the Washingoton Post has been published that talks about the questionable nature to the claim there are insufficient STEM workers in the US to fill jobs. A quote from the EPI study mentioned in the article makes a strong argument:
"Basic dynamics of supply and demand would dictate that if there were a domestic labor shortage, wages should have risen. Instead, researchers found, they’ve been flat, with many Americans holding STEM degrees unable to enter the field and a sharply higher share of foreign workers taking jobs in the information technology industry."Update 9/28/2013: Seems IBM has settled with the DOJ in regards to violating anti-discrimination provisions with their unfair hiring practices that favored H1B applicants for software developer jobs. Having applied numerous times, even for entry level software development positions and never once hearing back from IBM, I can't conclusively say anything one way or another, but it does seem odd that a developer with over 30 years of experience never even received a phone interview. Guess I should have wrote the word H1B in my resume somewhere. But as for the settlement, I have to laugh. IBM will pay roughly 44 thousand dollars in a fine. Really? Really? Talk about chump change for a huge corporation. They likely paid 10 times that for lawyer fees. I wonder if there will be any lay-offs upcoming that add up to the tune of 44 thousand dollars?
Looking at the big picture, I suspect there is more to this than simply job shortages. The need to compete globally clearly has an impact but we also need to take long term strategy into consideration. Just something to think about.