It works like this:
1. Company hires guy that is foreign. Some are coming from abroad (unfortunately some are coming from the "sweatshop" factories from india), while many, like myself, come young and were educated in the US, and are usually pretty good at what we do.
2. Foreign guy has max 6 years of staying in the country. He needs to get something done. He has already friends, maybe a gf/bf, maybe a house. He is fully integrated, and wants to get a GC, so he is not amymore a "second class human being". Company likes foreign guy, as he is very productive/good, whatever, so they file for GC>
3. In order for the Green Card process to go on, the company has to demonstrate that there are not americans that want the job. They will have to advertise in the news papers, and internally in the company for 60 days. If there are any suitable american employees, the process stops. The american guy doesn't get hired, (why would a company let go somebody that is already proved to be a good engineer?), but foreign guys application stops.
4. Most companies want to keep the foreign guy/girl. He/she is already proven, so they will try to make the position available as closely to mirror what the guy's experience is. There are clear limitations, as by law they can't request things that are unreasonable (like foreign languages, or experience/education that is not revelant for the work).
This is a clear example where the "Laws" are out of whack with the reality and needs of companies.
If there have been layoffs in the company for hte past 6months, it becomes even harder for the process to move forward.
Now, you can say, well there are plenty of US workers that just need a little retraining blah blah lbah.
Well, let me give you a clear example. I am a mobile engineer. Been working on the field for 6 years (since the first java phones came out). My official title is "Senior Software Engineer", but that doesn't really tell the story of the huge experience that I have accumulated this years, with trial and error.
Imagine a startup, advertises my job. A US person that has maybe few months of experience or no mobile experience at all,and his title is "Senior Software Engineer" doesn't necessary make him more qualified.
you can claim, well the company should take the time and "train him", as it is the patriotic duty to do it.
I say bullshit. An early stage startup might not even survive wihout the product for the whole year that this guy needs the training.
I'd rather have a startup hire somebody that can get product out, and be able to hire more people later, than hire somebody that doesn't know what they are doing, just because they happen to be American, and risk everybody's job.
Sorry, but that is very un-american.
If you want to just completely stop foreign talent, you are just Detroiting silicon valley. Technology companies will start looking exactly like govermernt/defense companies (where you have to be a us citizen to work, in most cases). Everything comes late, and over budget, and eventually, in a global economy, they will just die.
Please remember, a lot of smart people got burned after the dot-bomb. It's not like that sat around for a few years waiting for work to pick up on the internet. A lot of engineers went into defense, unlike the bay area, they pay in cold, hard cash. You rarely ever hear of a defense company going under.
Think about it, ALL startups in the silicon valley, COMBINED (even with Facebook's 15 billion evaluation), are not worth not even 10% of the 530 billion dollars a year that is the defense budget.
You're comparing the valuations of software startups with the entire operating budget of the military? You first need to discount salary, equipment, maintenance, etc, all costs not relating directly to software.
A more realistic comparison would be comparing the defense budget to the entire economic output of the bay area. Even then it's apples and oranges.
I know several smart people who could do my job working for defense companies.
But I make more money than most of them. Like most jobs, there is always a tradeoff between stability and money.