While many on /., including me, do engineering because we are geeky and love the challenge, that's not the case for average people. For average people, programming or tinkering with computers are boring and stressful jobs. They might choose to do it because the field has brighter employment future. That's why Americans don't want to take up the jobs. Even in China, the newer generation would avoid engineering and opt for finance or entertainment, because as the newer generations grow up a richer economy and so no longer under stress for survival.
Once you have a lot of people entering the fields, there will also be sufficient number of good practitioners produced.
So if the employment prospects of other fields are dimmer, Americans will rush back into engineering. They already started the shift, witnessing all the talks about computer science classes for kiddies.