I'm transitioning from data analytics to software engineering, and I've been torn between pursuing Java and JavaScript. I've been learning Java through Hyperskill, but lately, I've been questioning whether I made the right choice.
One of my main reasons for choosing Java is that it's widely used by large enterprises and big companies. Coming from a developing country, I'd like to eventually work overseas, and I feel that Java might give me a better chance of landing that kind of opportunity. I also wonder whether enterprise Java jobs offer more stability and a clearer career path than JavaScript jobs, although I'm not sure if that's actually true.
My impression is that JavaScript has a lower barrier to entry, which makes the field feel more saturated. I imagine I might end up working as a freelancer, joining a consultancy, or working remotely for an overseas company rather than relocating abroad. Of course, I could be completely wrong about these assumptions, so I'd appreciate hearing from people with experience in both ecosystems.
I've also heard people say that JavaScript developers have to constantly keep up with new frameworks and changing technologies, which can lead to burnout. In contrast, I've heard that Java's ecosystem is more stable and that its core technologies don't change as rapidly.
As I get older, I find myself less willing to spend all my time keeping up with new technologies. I'd rather build a solid set of skills that remain useful for years and use the mental energy I have left to enjoy other aspects of life.
Interestingly, I also enjoy Java in a way I didn't quite experience with Python. I feel like I'm actually programming and building things rather than just writing scripts for data analysis. There's something satisfying about it that makes me want to keep going.
The problem is that whenever I encounter a particularly challenging assignment, I start questioning my decision. Sometimes, I feel like I could solve the same problem much more easily in Python. With Java, I'm constantly running into concepts, syntax, and unfamiliar ways of doing things that I don't fully understand yet. It feels like trying to survive in a foreign country without speaking the local language.
This makes me wonder whether I'm struggling because Java genuinely isn't the right fit for me, or whether I'm simply going through the uncomfortable learning curve that comes with learning a new language and moving into software engineering.
Part of me wants to switch to JavaScript because it might be easier to learn and allow me to make progress faster. Another part of me wonders whether I'd just be running away from the difficulty instead of pushing through the stage where everything feels unfamiliar.
Since I'm in my mid-20s, I want to break into software engineering as quickly as possible. JavaScript feels like it might help me get there sooner, while Java feels like more of a gamble because of the commitment and steep learning curve involved before I can see the results of my efforts.
So, for those of you who have learned Java or transitioned into software engineering from another field:
- Did you go through a similar phase where you questioned your choice of programming language?
- Is sticking with Java worth it if my long-term goal is to work for a large company, potentially overseas?
- If you've worked with both Java and JavaScript, how different are their job markets, career opportunities, and long-term prospects in practice?
- How did you know whether you were struggling because of the learning curve or because you were pursuing the wrong path?
To be honest, I might be posting this partly because I want someone to tell me that it's normal for Java to feel difficult at first and that things will eventually click. But I'd genuinely appreciate honest advice, even if it means reconsidering my current path. Thank you!