The age discrimination issue needs to be emphasized as well. 22-year-old engineers are relatively cheap. 50-year-old engineers are relatively expensive. Any American who goes into engineering ought to know that they will be competing against H1B’s and that after working for a few decades, they will suddenly become much less attractive as employees. In a downturn like this, to be laid off at 50 is a very, very bad thing for an engineer.
I noticed this when I went into engineering in the early 1970s. The older engineers were nearly non-existent. They disappeared gradually with each lay-off. If you're a young engineer, save your money. There's a very very high probability that you're going to need it before retirement age.