Seems like we could use more engineers though.
Seems like we could use more engineers though.
However, at the undergraduate level, I'd say that science and engineering degrees are the best choice, provided you're inclined to do this kind of thing (I don't think there's any point in grinding through a major if you hate it). I really liked Marc Andressen's career advice on this subject, where he strongly recommends technical degrees. His point is that these degrees enable you to enter the workforce in a high-impact way from the start. I've found the notion that you'll be pigeonholed as a "techie" to be wildly overblown - instead, my ability to program out of school (and understanding of industrial engineering) allowed me to get deeply into really important business processes and meet all kinds of higher-ups because I had something valuable to offer them. Rather than being putting me in a box, it was immensely career expanding.
Andressen also talks about becoming a double/triple "threat" - combining valuable skills in different areas. Ie, being an investment banker with a deep understanding of molecular biology or a physician with a deep understanding of information technology systems. You're really unusual if you do this.
So all in all, I can't recommend STEM degrees at the undergrad level more highly - but I become more skeptical of the value of these degrees as you move into MS or especially PhD level. BTW, I'm not knocking the value of a PhD in CS, especially if you meet a lot of great people in your program. I just think that STEM degrees are the clear winners at the undergrad level, whereas professional degrees (or maybe no more degrees, there's plenty to learn outside of universities) might be a better choice at the grad level.
Academic scientists have low wages, but high non-wage compensation (after they win the tenure tournament).
Scientists tend to have much higher pay (and lower non-wage comp) when they enter the private sector.