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?

  • Aa!@lemmy.world
    cake
    link
    fedilink
    arrow-up
    26
    ·
    edit-2
    3 months ago

    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
      link
      fedilink
      arrow-up
      6
      ·
      edit-2
      3 months ago

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

      • Aa!@lemmy.world
        cake
        link
        fedilink
        arrow-up
        7
        ·
        3 months ago

        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.