Learn multiple programming languages. It will truly expand your way of thinking about solving different problems.
Conversely, don’t spread yourself too thin. Try a lot of languages out then narrow it down to a few you find interesting and useful, then focus on learning those few.
I'd expand on this by saying that one should learn to program, not to simply code. This sounds silly at first glance, but what I mean is that if you learn how programming languages work, and truly grok what is going on under all that syntax, you'll find it's much easier to transition to other languages as you already understand the conventions at play (unless you are switching to a completely different paradigm e.g. OOP to functional).
This is one of the things that is dangerous about these code bootcamps you see. They are taught enough to write cogent programs for a given language, but the underlying bits and pieces of what make software tick is left out. There simply isn't enough time to truly learn the craft in a 6-8 week course.
Conversely, don’t spread yourself too thin. Try a lot of languages out then narrow it down to a few you find interesting and useful, then focus on learning those few.