A while back I had an intern (we call them co-ops in Canada) ask me if he thought he should learn Java (his first programming language) more deeply first, or to start learning something new. I was a little stumped at what to tell him. On the one hand I believe that learning different kinds of languages helps immensely (functional, object oriented, system, compiled, interpreted, etc.). However I also believe that there is no excuse for not knowing deeply the technology you use every day. In his program he was primarily working with Java, and was mainly concerned with something that would help him immediately - in his studies and to help him get a job.
I think I blathered something about learning a new language every year and learning Java better, then I loaned him my copy of "The Pragmatic Programmer".
What would you have said?