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!
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?
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.
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.