I’m in the course of pursuing a change in my career towards software engineering/architecture. So far I’ve been brought mostly to C#/.NET and Java, though Java attracts me more, even considering that it might be a “dying” language. Still, Scala and Clojure are there, so I thought that they might give a pump at least to JVMs. In your opinion, should I invest in pursuing certifications/jobs in this field, or sticking to C#/.NET is a better path?
Java is dying in the same way that Linux is winning the desktop war, it’s always going to happen “next year” but never “this year”. I spent a lot of years as a sysadmin and while I would have been quite happy to piss on the grave of Java, we always seemed to be installing some version of the JRE (though, usually not the latest version) on systems. There is just a lot of software which is built with it. This was especially true when dealing with US FedGov systems. Developers for the USG loved Java and we had both the JRE and JDK (because why not require the Development Kit for a user install?) sprinkled about our environment like pigeon droppings.
That said, don’t get too caught up focusing on one language. A lot of the underlying data structures and theory will transfer between languages. What you are learning now may not be what you end up working with in the future. Try to understand the logic, systems and why you are doing what you are doing, rather than getting too caught up on the specific implementation.
Thanks. For the record, the Brazilian government, where I work also loved Java.