In my experience this only describes 10% of the programmer population. The rest don't really want either, they just like the benefits and the paycheck.
They also don't work at Twitter, Google, or Apple, not many do anyhow.
Actually, I don't think the distinction really exists. Some people like to crack hard algorithmic problems, some people like to crack hard systems problems, others like to crack hard markets, or hard product verticals. It's all part of the same thing - people like to accomplish things that are hard to do and interesting to try.