Once upon a time we, as software developers, could rest assured that we had a set technology and could solve problems. We called ourselves “Java Developers” or “C++ Geeks” and we were proud to do so. A certain mystique and culture surrounded each of these languages and sometimes people from different camps didn’t get on or looked at each other with disdain
Those days my friend… are gone.
If you hope to remain relevant in today’s labour market you can no longer rest on your laurels and only know one core technology, you need to build a core set of skills around that “safe place” you have and then branch out.
In the last few years, an industry which already moved at breakneck speed has picked up the pace again. Certain skills once considered niche have risen to the forefront with the rise of the DevOps and cloud culture. Everyone needs to be prepared to meet this challenge head-on or face irrelevance.
A good example of building a core set of skills might be the following. If you are a developer whose core skill is Java then a good idea might be to branch out into Scala, a functional programming language that runs on the JVM which is definitely up and coming, there are already a wealth of jobs demanding these skills and you might be surprised at the level up your career could take. Likewise, a person who is primarily focused on C# but wants to get to Scala could pick up F# to learn about functional programming, and after the core concept is understood transition over to Java (which isn’t that different from C#) and then Scala, low and behold you now have: Net, Java, F# and Scala this makes you much more employable.
All of this will need to be done either in time your employer allocates for self-learning OR you are going to need to learn it yourself. There are various online resources e.g. This course here on pluralsight, sure you are going to need a subscription, but it’s not expensive and in the end its investment in your career. I say again we can no longer be the “Java guy” or a “C# guy” in fact it was always a bit of a misnomer anyway, instead say you are a Developer who specialises in Java technologies, this is very different from someone who just writes Java code and knows all the libraries, and ditto for any other type of technologist.