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?
My biggest concern over .NET is exactly how closed Microsoft-land can be. For what I’ve seen so far, with the notable exception of perhaps Unity, pretty much everything else gravitates around MS and there’s no way of leaving it.
Since unity is c# I think maybe you phrased that opposite of what you meant?
Anyway, I work in an enterprise environment. We use both Java and .Net, and it largely depends on which group you’re in. Neither Java nor .Net is going away anytime soon.
You really don’t get to stick with just one thing in a developer career. Learn a little of everything, especially multiple paradigms, and specialize in a few related to the business you work for.
A key skill is adaptability, learning as you go. If you make yourself too specialized, you’ll set yourself up for being laid off when your skills become obsolete. I have interviewed a few older IT people in that situation, only a few years from retirement.