But to me the even more amazing thing is how good an educator he is. Most mathematicians I have encountered were of the "proof is left as an exercise" type, where if you didn't see how things done would't or couldn't help you in learning how to proceed. Tao is a big outlier in this regard. His How to Solve Mathematical Problems (http://www.amazon.com/Solving-Mathematical-Problems-Personal...) is more focused than Polya's famous book but is a much better help in learning how mathematicians think. You can get the first chapter for free (http://www.math.ucla.edu/~tao/preprints/problem.ps), an excellent way to finish off a Friday.
Polya's How to Solve It is mostly simpler types of math, it is intended for teacher training after all, but the general methods he demonstrates can often help with much harder and more complicated problems.
Wickelgren's How to Solve Mathematical Problems (originally titled, How to Solve Problems, the new title is more accurate) has both basic and more advanced tactics for problem solving.
The best way I have found to use these types of books, after reading them through quickly for an overview, is to stop and browse in one of them when you get badly stumped on a problem. Then go back to the problem; if you still can't make headway, stop and browse a bit more.
ADDED: Mathematics involves three distinct types of learning and work: learning the mathematical theory, which I generally find fairly easy. Learning and applying problem solving methods to apply theory to actual problems, which is much harder. And doing the calculations to solve the problems once you have worked out how to apply mathematics to the problem, which I find really, really hard, fortunately this is the easiest aspect to automate (calculators and Mathematica, for example).