this post was submitted on 11 Apr 2024
24 points (96.2% liked)

Ask Experienced Devs

1232 readers
1 users here now

Icon base by Delapouite under CC BY 3.0 with modifications to add a gradient

founded 1 year ago
MODERATORS
 

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?

top 9 comments
sorted by: hot top controversial new old
[–] bjoern_tantau@swg-empire.de 30 points 7 months ago

I'd keep working while hunting for a new job. It's always nice to know you have a safe job to fall back on while negotiating with someone for a new position. It means that you can be picky and demand a higher salary than you usually would.

[–] aaaa@lemmy.world 26 points 7 months ago* (last edited 7 months ago) (1 children)

Generally speaking, I think pigeonholing yourself into one language or technology is a bad move. The technology is changing all the time, and Java isn't always going to be in demand. In my last 12 years at my company, I have gone from PHP, to C#, to C++, to Java, to Go. At some point it's not about the language, because languages are easy to pick up.

This sounds like a great chance to learn new things and grow in your career as a developer, rather than just staying in one specialization.

But if you really don't like the work they have for you, then that's reason enough to move on. Looking for a new job is always better when you don't immediately need it, so it can only help you to start now.

[–] porgamrer@programming.dev 6 points 7 months ago* (last edited 7 months ago) (1 children)

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.)

[–] aaaa@lemmy.world 7 points 7 months ago (1 children)

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.

[–] porgamrer@programming.dev 2 points 7 months ago

I agree, I only commented because I think java is the most likely exception to the rule

[–] DarkNightoftheSoul@mander.xyz 11 points 7 months ago

I think the usual thing is to go somewhere else if you're dissatisfied there.

[–] lavaryx@lemmy.ml 9 points 7 months ago

You’re a Java developer. Go do Java development where that’s needed. You can use this AI prototyping phase as a feather in your proverbial cap. Considering the landscape today, that might not be a bad thing.

Of course, on the other hand this job gives you an income and something new to learn. If it’s uninteresting or unsatisfying then you have to make the decision on if it’s worth it to stay on.

As others have said - go look and see what’s out there. You might find a better fit.

[–] Kit@lemmy.blahaj.zone 4 points 7 months ago

Get a good recruiter and talk to them. They'll help you figure out the best path for your skill set.

[–] Kissaki@programming.dev 2 points 6 months ago

I don't think I can adequately give a decisive answer to that. I'm not in your shoes and lack full context.

I don't think any potential future employer will see you working on language modes a downside. You worked with Java before, productively, with experience. So you know your Java. You then worked on LLM, which shows flexibility and is additional, possibly useful experience.

  • You could give it a try, and a timeframe, to see where it goes.
  • Consider that it may be a fad that may disappear again, and your company may go back to Java. If it's CEO driven like that, where it can make huge changes in how it's set up, it can happen again.
  • Consider whether you can talk to team leads or HR, considering your perspective within the company, your goals and interests, and what the company can provide in that regard, and what it won't.
  • Salary. Coworkers. Work environment. Work satisfaction. Technological interest. It's all things to consider. Unless it's really significant, it won't be one thing overpowering all the others.
  • You can look for alternatives while continuing to work. Either to sight what your alternatives are, or actively to switch away if and when you find something more fitting with acceptable consequences.

In the end, a switch may require a decisive decision, even if you're not sure. But staying and seeing where it goes is not bad either. Looking for alternatives is safe, and at the same time may spark interest elsewhere.