And I wouldn't look at it as work. More like nerd-traveling: you get to see a lot of neat and unusual things, and when you're done, you appreciate home a lot better and have a better perspective on things. Having said that, I'd be sure you solve a few non-trivial problems. Traveling is no fun if you just take pictures and don't get out and participate.
In general, if you haven't tried a new way of making solutions in the last five years or more, you're sucking wind in this biz. That's advice just about _keeping up_, getting ahead is an even tougher game.
I think C++, for me, is the hardest to re-tune to. There's just so much stuff going on. And it's one of those languages where the code constructs themselves can lead to a lot of crazy complexity. Was that a multiple inheritance and a virtual base class, or just an interface? Do I have any friends? If not, do my parents have any friends? Are my operators overloaded? Is this a volatile method? If so, better stand back!
I'm not saying to code like this, but C++ stuff, even when written well, can just get gnarly as heck. You enter this entire zone and mindset when you're there, at least I do. Some other languages, like Java, are not that tough to come back to.