What are the career prospects of doing a theoretical computer science PhD.? I am a 27 year old (ex-)physics graduate student and I am quitting this graduate program to enter a new PhD. program in theoretical CS. As for mathematics background - I have always been interested in geometry and have done graduate level courses in Riemannian/algebraic geometry and I have research experience of using harmonic analysis. 

In my few months of experience of studying theoretical CS I have become increasingly drawn towards subjects like graph theory, spectral graph theory, unique games, complexity and especially quantum complexity theory.  

Is there anything I need to be cautious of while taking this plunge?

How good are the career prospects in this subject?
If you truly have no country preference and are willing to go anywhere in the world, then there is a lot of potential opportunity.  In particular, I know there is a large amount of expansion in computer science in general (and thus likely theoretical as well) in the emerging universities of East and Southeast Asia, India, and the middle East.  Depending on your personal background and preferences, of course, you may find some cultural barriers to overcome.

I would also recommend considering the possibilities outside of traditional academia.  Theoretical computer science topics like you mention turn out to have a lot of applicability both in standard industry and in the in-between world of research institutes, national laboratories, startups, and non-traditional corporate environments that are not what people typically think of as "industry."

And then there's always just giving up academia altogether and making money, if your personal ethics would be OK with entering the financial world and playing hedge fund games...