+1 learn different paradigms. Besides reading language tutorials, read some PLT (prog lang theory on Lambda the ultimate, and these survey type things. (And you'l frequently see ruby, python, erlang folks say "We have to drop down in C to get plausible performance" or "this algo was already thoroughly tested in C or java". You kinda have to know C and java to get s##t done.
http://mvanier.livejournal.com/998.html
http://matt.might.net/articles/best-programming-languages/
http://www.info.ucl.ac.be/~pvr/VanRoyChapter.pdf
http://www.info.ucl.ac.be/~pvr/paradigmsDIAGRAMeng101.pdf
http://www.slideshare.net/brweber2/functional-concepts-for-o...
-----------------
Oh, SICP and books like PL pragmatics
http://www.amazon.com/Programming-Language-Pragmatics-Michae...
----------------
and i love "Traps/pitfalls" from 1989!)
http://www.amazon.com/C-Traps-Pitfalls-Andrew-Koenig/dp/0201...