Hi all,

I’m a tech enthusiast with a degree in CS looking to start my career. I have around 4 years of background in PHP/TS (Angular/React), but am looking to transition to Java and focus on backend problems.

I like the puzzle aspect of development, but am also a Linux enthusiast and I do a lot of self-hosting in my free time. I’ve grown up with CheatEngine, got into memory editing, built websites / APIs, and dabble a lot in self-hosting FOSS projects out of passion an interest.

I just like any innovation regarding technology and would like to use this interest of mine in order to develop my career. However, due to the broadness of my interests, I’m finding it difficult to justify why exactly I would opt for a Java software development career. The area seems challenging, and the pay is good, but I imagine that other specialisations fulfill those criteria too (such as sysadmin / security / data science).

I am considering Java software development due to my history of programming and familiarity with the process, but am trying to find reasons why I should not get into other disciplines.

I guess I’m having an instance of decision fatigue, and am just wondering what advice you guys have pertaining to choosing what to specialise in? I know this might be a very general question, but would appreciate any discussion or anecdotes!

I’m looking forward to discussion, many thanks in advance!

P.s. I think salary prospects are more important to me than I’d like to admit, since I’m not stable at the moment and would like to buy a house someday and support a family. So any perspective on best bang for buck buck for bang on that would also be appreciated!

  • apd@programming.dev
    link
    fedilink
    arrow-up
    2
    ·
    edit-2
    1 year ago

    My perspective is that language is not as useful a metric as people believe it is. A lot of companies interview in languages that are not their own.

    I don’t like Java myself mostly because the company’s that make heavy use of java tend to be slow moving giants that write classes like AbstractBeanFactoryFactory. I’m not a fan of the language much either. If had to pick a JVM language it would be Kotlin.

    For salary’s maybe look at the StackOverflow survey. I’m not saying to dedicate your life to Zig but maybe Java is statistically not the optimal choice. Do be aware that this graph is the average, and I’m sure highly paid Java engineers are not an uncommon sight, it’s just that the masses of crappy enterprise jobs drag them down.

    • anh@programming.devOP
      link
      fedilink
      arrow-up
      2
      ·
      1 year ago

      Thanks for taking the time to reply! Do you mean that programming languages as a metric for salary are not accurate? From what angle would you suggest I enter the job-market from? What would you do if you were to start over again?

  • JackbyDev@programming.dev
    link
    fedilink
    arrow-up
    1
    ·
    1 year ago

    I’m a Java backend developer. A lot of times it feels like I solve the same problems over and over but it’s work, not a hobby. The pay is good so I don’t mind. At my current job I’ve been put on many different teams. I’ve helped with DevOps stuff and Python stuff. I’ve sort of become the one that bounces around it feels like. If you get bored you can always ask to be out on a different team. It helps you get a breader perspective of things.

    For context I have 9 years of experience doing backed Java stuff.

    • anh@programming.devOP
      link
      fedilink
      arrow-up
      1
      ·
      1 year ago

      Thanks for taking the time to reply! I feel what you’re saying about it being work and not a hobby. I guess I’m wondering to see a nice equilibrium can be found, but I’m afraid work can’t always be fun.

      Could you describe in general terms what problems you commonly encounter? Do you still find it challenging/engaging?

      • JackbyDev@programming.dev
        link
        fedilink
        arrow-up
        1
        ·
        1 year ago

        Sure, it feels like most things I do can be simplified down to taking a request from one place and transforming it into a request to send to another place. That’s sort of just what a lot of the backend is though, forwarding requests around. I’m not sure frontend would be any different, you’re still just shaking the data to fit into a UI.

        • anh@programming.devOP
          link
          fedilink
          arrow-up
          1
          ·
          1 year ago

          You’ve just exactly paraphrased my gut feeling about (enterprise) software development. I think you’re spot on with both your definitions of back-end and front-end.

          I guess I’ll start widening my search radius to include embedded systems and other fields (I’m getting excited for rust+wasm, but finding a job in that seems very unrealistic). Thanks for your input! Really helps bringing order in my own mind.