Imagine, your are a Java developer with multiple years of experience in the job. You really like working with the language.
Your employer kind of canceled most of the Java projects of the company over time and is now really focused on AI...... And AI means here: LLMs, GPT, ... Not like basic Machine learning... It's all about language models. Most of this stuff and the tools are written in Python and your employers wants you to kind of throw away your pretty good Java skills completely and start over in Python.
The new tasks would be kind of "easy"... You have to prototype "LLM bots". And that's your perspective for like at least 1.5 years. No, not real software development.. Prototyping... And that means, quick and dirty is what they want... It's also very easy to impress your employer with GPT doing things. Easy money, isn't it?
I'm in this exact situation right now and worried.. What, if I quit in 2 years and the new potential employer for a Java job asks "What have you done recently?"
I kind of liked working there and like the colleges and the salary is fine and switching the job and maybe moving away is a huge thing for me... It could get better... But maybe also worse........?
What would you do in my situation? Accepting it? Starting a rebellion? Looking for a new job somewhere else?
I doubt Java demand is going anywhere. Like with COBOL, I think the devs will eventually start retiring faster than the servers.
The fact that java isn't in vogue is only increasing long-term job security. Hordes of new devs are being trained up in javascript and python, but most of the world's financial, communication and administrative infrastructure has already been written in java. Nobody will bother rewriting most of it, because it works fine and it's not a frontier anymore. It will just require constant slow-burn maintenance for the next 50 years.
(I promise I'm not just trying to reassure myself; I haven't written java professionally for over a decade.)
COBOL is a good example, you can't just learn the language and expect the high paying job offers to pour in. If you can land a job, it can be good, but generally it's not the language you need to be proficient in, and more the entire legacy system.
But really the point isn't that Java will die, but more that programmers need to be adaptable. Sometimes you just won't find the jobs in your niche and you need to show you can do something else. Sometimes your methodology grows out of fashion and companies want to try something new. Sometimes, competition is just plain stiff and you need to demonstrate that you're good for whatever the next project will be.
For most of my job interviews, they were far less interested in my proficiency in a given language, and more interested in my understanding of the design concepts, or the technology we were trying to make use of.
But hey, if someone does manage a whole career in one language, it's a sweet spot to be in. I'm not knocking it, I just don't expect that to be typical.
I agree, I only commented because I think java is the most likely exception to the rule