Looking at the demographics vs. jobs at my company alone, you can immediately see the problem. In the computer engineering, electrical engineering, and computer science side of things at my company, almost all of the employess are from Asia (Indian, Chinese, Pakistani, etc.). Why is this? because no one in this country wants to man up and learn this stuff in college because it's "too hard" or they had such poor math and science programs at their high schools that they were never inspired with the possibility to express themselves with numbers.
I started college in 1987 majoring in Computer Science at an engineering school and saw it then. Tons of foreign students and professors, to the point where it's rare to encounter other Americans, and that's been my experience in nearly 20 years in the field. I feel like I've traveled the world without leaving the state with the amount of people I've worked with from around the world. Every so often I pause to look around at how many people around me are Americans and not here on visas and it does get shocking -- I'd say 30%. Many tech jobs just assume their candidates will be here on a visa. Sometimes the cultural touchstones you'd just naturally expect people to have aren't there, because they aren't from here. Nothing xenophobic about it, but it often feels like I'm the one working overseas when a cultural reference falls dead on the floor. I've worked for big companies like IBM and LSI and CNet, but mostly at small startups in the Princeton area.
Part of the problem is the decay of our education system, which is unmaskable.
Our so-called smart students usually chase the easy money and the predestined paths to riches, i.e. lawyers and to a lesser degree doctors and MBAs. My problem with lawyers is they are parasites on society, they don't produce anything, they are a drain on the people who are (and remember I'm speaking more from the intellectual property & patent perspective than criminal law). A society that doesn't PRODUCE anything will not stay healthy.
The worst part is, in the US, this trend will get worse. As our industries in this country keep moving further away from manufacturing and production and moving closer and closer to service. The demand for information technology will continue to grow and grow and the current generation of students will not be ready.
Actually it's no safe haven there either. We reached the point in the early 2000s where these jobs too are bleeding to India and China. The only choice is to move up the food chain and become product managers, etc. I feel bad for anybody entering this industry as a fresh graduate, as compared to when I entered the workforce.
For a while, the assumption here was that we may lose the manufacturing but we'll continue to do everything else here in the states and that's the more lucrative part. Only now you have to realize that assumption is flawed; we can send those jobs overseas too, as we've already seen with call centers and engineering jobs. Is it so hard to imagine in the coming decade(s) that this won't happen with everything? Why do you need an American lawyer when you can get one in India who knows American law and works for 1/5th the price? Or a doctor who remotely diagnoses you in China for 1/4 of what you pay a doctor here? Folks, this stuff is coming.
Right now we're at the point where the guys who poured in here on student and work visas during the 80s and 90s have gone home and started their own companies, and they pull cheap talent out of their home universities. Increasingly, people are coming here for their educations and then going straight home to work, not even bothering to work in the US before returning. That's brain drain. Worse, the US makes it VERY, VERY HARD to retain these people even when they want to stay. It takes years to get your green card and you have to be sponsored by your company and the process can take upwards of 5 years, and it's non-transferable. Most startups won't last 5 years. We have millions of unskilled people illegally streaming across the borders but we make it impossible for highly skilled people like engineers to stay here.
I know what I cost a company to employ, and someone can hire several young PhDs in China or an army of Indian engineers for my salary. Granted, over time their salaries will increase and make them more expensive, but it will take decades.
Since the late 1990s part of being a software developer is working with teams of cheap developers overseas as your subordinates -- in India, in China, in Russia. Get used to midnight conference calls and language barriers.
If you work for a big company, the chances are 100% they have opened offices in Bangalore or Shen Zen in the past 10 or 20 years.
A good example of where we are now is to look at Apple's model -- designed in California, made in China. This is the final fortified position, that the people here in the US still do the design and painting with a large brush our "partners" overseas aren't able yet to take the next step of design and creation, at least not very well. When they figure that out, and when they start to innovate, it's over. That's all we have left. And don't think for a second that your "partners" overseas aren't trying to rob you blind and steal your technology, at least until you have an established long-term relationship with them. I saw knockoff products with my company's code months after they did a production run for us. It's an intellectual property free-for-all over there, and they're just grabbing everything they can get.