Now I know you are an H-1B. Incase you didn't know the government IS RESPONSIBLE FOR THIS. Our schools are fine. Our Engineers are superior. WE JUST DON'T WANT TO GET PAID $20,000 a year like in India and China and we don't want to work 14 hours a day 7 days a week.
I wish, look at an average software development team, I'm willing to bet that any given team of say 10 programmers are at most 50% operational at any given time. The reason is because most American Hi-tech workers did not receive formal training, many learned on the job. While its good for maintenance and small software projects, large scale development require a bit more talent. In collge, I've noticed that a lot of comp sci majors were very incomptetant and were only looking to get rich(this was during the boom). So in effect, a large fraction of American hi-tech workers are in fact very unskilled in their profession, add that to the need for high pay, and we have a problem on our hands.