I used to work in HFT. From about 1999 (right out of high school) until 2008.

In response to the OP, zedshaw and a couple of others (who make good points), I'd say:

* obviously if you're good at your job in HFT after a while you don't have to work 100 hour weeks. People wait for you. There are levels of support. You still get woken up once in a while, but not if the firm is well structured and the support training / delegation is good.

* people are right in that the closer you are to the money, the more financial upside (and downside) you usually have.

* there are some very mediocre programmers, like in any sector -- however, they tend to not last as long because the trading side is very demanding (in terms of quality) and that filters down pretty quickly.

* do the people who really know what they're doing in the trading and HFT space have an OCD level of awareness of all levels of their code? sometimes. and it's easy to then conclude that this must not be found in other fields/areas. i can't speak for the rest of the world, but there are exceptions everywhere i've been.

in fact, i wouldn't even say it's the norm that in HFT people are more capable of deep diving into assembly or whatever. however, basically there are a handful of people in HFT who have been fortunate enough to grow up in that industry and have made mistakes without being fired -- and those people are very bright and careful about their code, and the large purchasing price for quality/reliability and quickness delivered does affect things on a macro scale probably. there's also basically a lot of hard-core russian programmers (from the many different technical universities in russia) who are quite rigorous with their code and trust the idea of finance more than the idea of startups or silicon valley even -- but this is probably a generalization (just my experience perhaps).

most software rewriting is trivial once you know what you have to do. and most software projects don't 'know what they have to do' until half way through. i used to work with a guy who made a point of rewriting ALL trading-related code every two years. another guy didn't trust OSS because he thought it was mostly hobbyist. they're both sort of wrong -- but it's a different culture/mindset. and these guys weren't idiots. respectively, they were some of the lead developers / architects for some of the largest algorithmic shops in chicago.

but my point is that programming for HFT or real-time trading requires that you really know what you're doing down to each line of code, so that you can react when things do break (and they will break). if you can't react quickly, you will eventually not find yourself on interesting projects and you might even get fired.

so ironically you have to slow down and really get to know how to do programming very carefully, and then scale that up so that you can react really quickly later (with something like binary search). this is a useful thing to practice in some ways. other people probably learn variants of it in other fields.

* the recession hit large parts of the financial sector pretty hard. i went back and visited chicago somewhat recently (now work in SV). i can't speak to everyone, but if i were an undergraduate or someone trying to figure out career trajectories for the first time, i would feel much more secure in even the startup space than in financial services at this point. because you know most of that is going to be replaced (with automated, distributed technology) in our lifetime.