I heard someone mention the other day that they have forgotten more programming languages than most developers have learned and it made me remember all the suggestions to learn a new language every year. I have probably even made this suggestion before. As I thought about it I realized that it isn’t important for it to be a language that your learn, it is just important that you learn something new. Experiment with a new platform, study data theory, join the enemy’s camp and understand their point of view.
I have learned a number of programming languages over the years: Basic, C, C++, Visual Basic, Perl, C#, Sed, Awk, COBOL, JCL. The list goes on, but I have also experience a number of platforms: mainframe, DOS, AS400, HPUX, Linux, Windows, mobile, tablet, web. The important thing is to discover a new way of viewing and solving problems. Learn how to relate to the viewpoints of the team and stakeholders around you.
Don’t restrict yourself to technical discovery either. Learn about math, science, art or sports. Each of these can glean possible insights that can help you to turn a problem on it’s head and find a new way of attacking it. If I understand how accounting works and the regulations around accounting I can better advise my team when there are stumbling blocks. Spend some time with game books or even video games. Not only is it a great way to keep your mind flexible, but it is also a good excuse to have some fun with your kids.
In the end the point is to never stop learning. You will be better at your job and probably happier doing it. Enjoy!