agreed i dont work in java, but if he wants to learn these are all probably good starting places.
also C# is fine if you want a C# job. I probably should have said that. My view is it will not be around for the longest time. MS just released typescript (ms varient of nodejs), and most mission critical stuff is done in other languages.
Two examples why I don't write more C#:
Orginally the startmenu/taskbar was going to be written in C#, they scrapped it and went back to C++ b/c performance was so bad. (And I'm assuming plagued with memory leaks).
If you try to play the C# Hearts thats included on Windows7, on a 2ghz machine with onboard video (no d3d acceleration) - its so slow it's completely unplayable. Apparently even the MS-engineers could not make a simple card game work on a non hardware accelerated system.