You might be wondering, "Hey, what should I learn to become a backend developer in 2025?" or "I've got frontend skills – what's next to level up my game?"
Here's the short version: If you're targeting local backend jobs, go for either PHP or Java.
But hold up! Before you close this tab and go download Java JDK for the 47th time (like me), let me share my chaotic journey of job hunting, stack switching, and failing spectacularly at consistency. This is all based on my real job hunting experience and my recent 3-month attempt to find something better earlier this year.
Disclaimer: Do your own research. Don't just take my word for it – I'm the guy who's relearned Java more times than I care to admit.
My Java Origin Story: A Love-Hate Relationship
Java has been my go-to since campus. The problem? I've never actually learned it properly. I've been stuck in this weird Groundhog Day situation, relearning the same beginner concepts for 4+ years. It's like being trapped in tutorial hell, but make it enterprise-level.
I've "learned" Java multiple times since campus but never went deep. I was basically that person who keeps watching "Java Basics" tutorials on YouTube and pretending I'm making progress. I've failed at learning Java properly more than 6 times over 4 years. That's almost twice a year! 😂
My relationship with Java is definitely a romantic one where we keep breaking up and getting back together, but this time, it might actually work out.
The Great Stack Debate: JavaScript vs Java
In my first blog, someone dropped this suggestion: "Bro, why not try the JavaScript-only stack?"
Suddenly I'm having an existential crisis. Should I stick with Java (my current stack, aka my comfort zone) or dive into this shiny React + Node.js + Express world?
The JavaScript Stack: The Cool Kid on the Block
This stack is pretty straightforward:
- React.js for frontend
- Node.js + Express for backend (JavaScript everywhere, because why make life complicated?)
The Good News: According to my very scientific research (aka asking AI while procrastinating), JavaScript tends to have way more remote opportunities than other backend languages. And here's the kicker – Africans actually get a fair shot at these remote gigs!
I literally asked ChatGPT, Claude, and Grok (because why trust one AI when you can confuse yourself with three):
Prompt 1: "Which backend frameworks has the most number of resources in YouTube (projects based learning tutorials & no specific language)"
Prompt 2: "Which backend frameworks has the most number remote opportunities (global and Africa favoured roles, i.e roles that an African is having alike equal chance)"
AI's Response: Node.js is killing it in the remote game, with tons of global listings where Africans actually have equal chances. Plus, YouTube is flooded with JavaScript tutorials – some actually good, most featuring someone with a questionable microphone setup explaining async/await for the millionth time.
Java: The Enterprise Champion
Plot Twist: Last year, when I was job hunting with my Django-React stack and getting ghosted by every company (seriously, my inbox was lonelier than a server room at midnight), I decided to add Spring Boot to my CV.
Result? My response rate went from "cricket sounds" to actual human beings replying to my applications. Was it the Java skill or did I just get better at writing cover letters? I'll never know, but I'm crediting Java because it makes me feel better about my life choices 😉.
The Hard Truth: There's No "Right" Choice
Here's what I've learned from this whole mess: Pick one and get stupidly good at it.
Both stacks need serious time investment. Both will make you question your career choices at 2 AM when your code isn't working. Both require you to actually sit down and learn instead of just watching tutorials while eating cereal.
My Personal Choice: Sticking with Java
Here's my logic, and yes, I know it sounds like I'm overthinking this:
Plan A - Remote Success: Master Java + Spring Boot → Land remote job → Live the digital nomad dream
Plan B - Local Backup: If remote doesn't work out → Java skills get me into fintech companies → Fintech typically pays more than regular service businesses → Still winning
I call this "failing forward" because even if Plan A doesn't work, Plan B puts me in a better position than where I am now (trapped in Laravel land).
My Java Journey: Week 3 Progress Report
"Soooo here we are again, been lost for like forever..."
Remember when I said I'd start my 6-month Java challenge on June 27th? Well, plot twist – I actually did start! And for the first time in years, I made real progress in just 2 weeks.
Fun Fact: I didn't technically start on the 27th because I decided Sunday was my rest day, and Sunday was 3 days before the 27th. Math is hard when you're trying to justify procrastination. 🤷♂️
The Breakthrough
This time feels different. I'm 3 weeks in and I've actually moved past my usual stopping point! I've tackled Collections Framework (fancy way of saying I finally understand ArrayLists vs LinkedLists), and I'm ready to dive into the scary stuff – concurrency, multithreading, Stream API, and design patterns.
These aren't just buzzwords to sprinkle on my CV anymore. These are the concepts that'll make me stand out from the "I know Java because I can print 'Hello World'" crowd.
The Real Talk Section
If you take one thing from this beautiful mess of a blog post, let it be this: The odds are always against you, and you're going to fail. Multiple times.
But here's the secret sauce – you just need to get back up and give yourself another chance. When (not if) you fail again, you'll learn faster, get back to where you dropped off quicker, and be ready for the next move.
I'm living proof that you can fail spectacularly and still keep going.
The Bottom Line
Get your feet up, dust off that IDE you abandoned 3 months ago, and get back to whatever you were learning. Whether it's JavaScript, Java, Python, or even PHP (brave soul), what matters is showing up consistently.
The tech world doesn't need more people who know a little bit of everything. It needs people who know something really, really well. Pick your poison, commit to it, and when you inevitably want to quit (probably next Tuesday), remember this blog post and keep going.
Now stop reading blog posts about learning to code and actually go code something. Your future self will thank you. Or curse you. Probably both.
P.S. And if you see me re-learning Java again next year… please, mind your business. 😂
Soye O
Haha, this was both funny and painfully relatable. Totally agree sticking with one stack and actually building stuff beats hopping between tutorials any day.
Alnur Alnur
This hit home 😂. The “Java breakup” cycle is just so real. Solid advice on picking one stack and going all in that’s the real unlock. Rooting for you Jarvis.
Jarvis
Facts dawg, picking one and getting foolishly good is the real cheat code 💯. But yeah, I’ve been thinking too, it’s smarter to choose based on your market.
No point mastering a stack with zero demand. That’s why I’m learning Java over javascript only stack, more doors open where I’m aiming.
Annah Mwanza
A good content...inspiring one
Jarvis
Appreciate that ghurl! Glad it inspired you. More real ones coming 🔥
Jude Oluwadunsi
What you've posted is the hard truth and the real talk, the earliest we start reading post like this as programmers the better
Jarvis
Facts bro! The earlier we face the raw truth, the faster we grow; no sugarcoating, just real talk that actually helps.
Prince Obiero
First off — bro your blog post hit hard. Felt like you were literally describing what I’ve been going through — especially the part about being stuck in tutorial hell and breaking up with Java like it’s a toxic relationship 😅.
I’m a second-year Data Science student still trying to figure out what’s going on half the time. I haven’t built much yet, and I’m still bouncing between Python (for data stuff) and wondering whether to explore JavaScript stacks like MERN for more practical/full-stack projects.
So here’s my question:
What’s in it for beginners like me who are still early in their journey, trying to find direction and confidence?
Like — how would you recommend we approach choosing a stack or breaking out of this “learning but not really building” loop?
Appreciate your honesty in this post. It gave me a sense that I’m not alone in this.
Jarvis
Lol thanks Prince. It’s been rough, but I’m trying my best to keep things moving and growing.
Man, you just reminded me of my campus life, pure chaos 😂. Half the time I had no idea what was going on. The only goal was submitting assignments before 11:59 PM, risking it all every single time.
Honestly, you’re already way ahead. I didn’t build anything meaningful until my 3rd year attachment period. And even then, it hit me that I was about to leave campus with zero practical skills. That fear lit a fire under me.
As for your question, it’s a solid one.
Now, since I’m a full-stack dev, of course I’ll tell you to go the dev route 😂. But let’s be real, if you ask a Data Science (DS) enthusiast, they’ll tell you the exact opposite. So here’s my take:
Choose based on what you enjoy more. If DS excites you, go all in. If you’ve tried a bit of web dev and it felt fun, explore that more deeply. What matters most is picking one path and sticking to it, especially when it gets hard, ooh boy! Trust me, it will get hard.
When it comes to picking a stack, don’t overthink it. There’s no “perfect” stack for every job. Just choose one and get ridiculously good at it.
If you ever want to go web dev, man to man. Choose, php or java for backend and react for frontend, this is all based on my job hunting experience in Kenya, Africa.
As for learning vs building, I feel you. It’s tricky. From my experience, building small projects as you learn concepts is real good, but trying to build everything too early, slows everything down in the ever changing market.
Focus first on gathering the right tools in your toolbox, then build the right projects at the right time. That’ll save you a ton of frustration and most impotantly time.
If you can find someone to guide you, you’ll skip a lot of unnecessary trial and error.
Let me know how it goes, I’m rooting for you!
Jackson Njihia
Great post! I appreciate your honesty and humor—it makes the learning journey feel more relatable. Your point about avoiding tutorial hell is especially valuable. That said, I’d add that while building projects is crucial, supplementing with a structured Java book (like Effective Java) can really deepen understanding alongside hands-on coding.
Jarvis
Thanks Jackson, It means a lot to go thorugh it and provide your feedback.
I will try and get a book on java to help suppliment my knowledge depth
Herman Ochieng
Great content bro.
Jarvis
Thanks chief, I'm greatful you found value in it
morgan maina
Great read..keep doing your thing
Jarvis
Ooh man!!! Thanks. Imma give it my all
Oladapo Akanji
Rooting for you bro
Jarvis
Thanks bro, I appreciate it bro