I am a senior java developer in the cloud/distributed arch/ microservice area.

I’ve touched on golang in the past, but not learnt it in any formal/extensive way.

I see it cropping up in many java/microservice positions, and I’m curious if this is at some point going to overtake java in my area.

The current benchmarks seem to suggest that if autoscaling is key to your services, golang is the way to, well, go.

I looked at the job market and it doesn’t yet seem to have taken over, but I’m curious how this is likely to play out over the next decade and if quakus for example is likely to become more competitive against golang. Interestingly, golang specific roles on average pay less than java ones in my area.

Let me know your thoughts or if you have any good articles / content on the subject.

  • Spooky Mulder@twun.io
    link
    fedilink
    arrow-up
    2
    ·
    4 days ago

    RE autoscaling: effective distributed systems design isn’t really language-dependent. Java apps can scale just as well as ones written in Go. That said, I can see there being a case for Java apps not making it as easy to build that way. There’s definitely a lot of mainframe/monolith-oriented patterns in both the standard library and in enterprise Java culture.

    As for the job market and career investment, I’d say this:

    • Keep investing more deeply in what you’re good at. That’s your foundation and what sets you apart.
    • Avoid chasing the “next big thing” based on speculation and trends alone.
    • The next step in your career hinges more on your ability to think and design at higher levels than it does on lateral moves to another programming language.
    • Explore languages and technology that you think are interesting, relevant, or can provide value or elevate what you’re already doing. The main benefit of doing this is to engage your brain differently and encourage change, improvement, and growth. This will indirectly improve your work and help your career.

    I’ve written a lot of Java in my career and studied it in college, and I’ve written one app professionally and several hobby projects and utilities in Go. There’s a lot to like about it, regardless of its marketability on a resume.

    • karlhungus@lemmy.ca
      link
      fedilink
      arrow-up
      1
      ·
      3 days ago

      I had to containerize an older java app. It sucked, java would take all the memory you gave it regardless, so it was hard to determine memory requirements/limits. It had pretty slow start although this wasn’t an issue for us, logging formatting was a pain. All this was overcome (not by upgrading), it was just a pain.

      I suspect this isn’t true of modern java though - I’d suspect with the hype kubernetes went through a few years ago that it’s just fine now a days.

      • Orygin@sh.itjust.works
        link
        fedilink
        arrow-up
        1
        ·
        3 days ago

        Yeah I wouldn’t say a java service taking multiple seconds to boot up being scalable the same way that any other compiled language will be.
        There are also the huge “legacy” frameworks that slow down java, the auto magic and more non features that make maintaining any real world java application a pain.