We'll see if the collapse of the financial industry encourages more young Americans into engineering.
That said, I actually went to law school (Columbia) for one semester before dropping out and enrolling in a PhD program in engineering (at Berkeley). The law school is, of course, about 95% American, whereas in the Engineering school, I became very accustomed to being the only person in the room who spoke English as a first language.
I think it's great that Engineering is a profession where you are likely to work alongside people from all over the world. But I think it's bad that it's become(ing?) a profession where you're unusual if you're a native Californian in graduate programs with names like "The University of California".
I'll say this - in spite of all the hand-wringing, I don't see even the slightest commitment from Berkeley to bringing in more Americans. And as long as they can wave the magic wand and get more students from overseas, neither they or the employers who want to keep this pipeline will ever bother finding ways to get more Americans into the field.
As for law: yeah, they may be unhappy, but I earned 75K/year my first year out of Berkeley at Sun Micro. Kids from the law school were starting at $125-150K/yr.
I actually disagree that the Americans you mentioned can't learn math. I didn't take my first calculus class until I was 24 years old, and I got A's all the way through. The incentives just aren't there relative to other fields. And as long as we import hundreds of thousands of H1B workers ever decade, it won't be.
Now, we're getting a good sense of what happens when you destroy a homegrown profession and replace it with foreign nationals.
"Kids from the law school were starting at $125-150K/yr."
That's only for people coming out of top law schools and going into top corporate law firms. The engineering analogue would be a Stanford or MIT grad who works for Google for 3 years and then joins a well-funded startup. Considering that it's not unusual for people with 3 years experience at Google to pull in $130-140k including bonus, and someone else on-thread was saying that he knows lots of firms that'll gladly pay $150K+ for top engineering talent, and I don't think $125-150K is unreasonable for a top engineer.
The majority of law students - the ones that don't go to a big-name law school - often end up setting up a private practice or working for a boutique firm for much, much lower salaries. Small-town divorce attorneys often make only about $50K/year, according to some of the alums on that thread, and it sounded like lawyers at "boutique", non-big-name law firms pulled in about $80-90K.
Are UCLA, Boston College and University of Minnesota top law schools?
Because I have family and friends who went to those schools and they made $120K starting salaries. I also have a cousin who went to probably the worst law school in the country and she made 80K straight out of school.