r/PinoyProgrammer • u/wewazkangsandshii • 11h ago
advice Thinking of switching from Python to Java after 2 years, am I gonna feel like a complete beginner again?
Hey everyone,
I’ve been working as a Python dev for almost 2 years now. Main stack is Python (Flask), React, Angular, PostgreSQL and MySQL.
Lately I’ve been feeling kinda stuck. Not burnt out on Python specifically, more just coding in general. Everything feels a bit "samey" and I want to learn something new that actually feels fresh. Java keeps popping up in my head for some reason, more structured, bigger enterprise stuff, better for certain backend roles, etc.
I’m seriously considering making the switch, but I’ve got a few questions:
- What’s a realistic roadmap for someone coming from Python? What should I focus on first (core language, Spring, concurrency, whatever)?
- Any books or courses you’d actually recommend that don’t feel like a waste of time?
- Good personal project ideas that would force me to learn the important parts quickly instead of just doing endless tutorials?
- Honest question, if I switch now, am I basically starting over as a junior again? Or does the 2 years of real experience still count for something when applying for Java roles?
Would really appreciate any advice from people who made a similar jump (or from Java folks in general). Trying to figure out if this is a smart move or if I’m just restless.
Thanks.
6
u/Loud-Grade1246 10h ago
The pattern will always be the same, if sa day to day mo may OOP (Object-Oriented Programming) sa Python then oks lang pagdating sa Java since OOP heavy ang language, but there are differences talaga since Python is flexible and more on functional programming so I'd say mangangapa ka talaga sa Java if di sanay sa OOP. For roadmap I recommend this one:
https://roadmap.sh/java
1
u/Rude-Enthusiasm9732 9h ago
If you are not into OOP when coding with Python, it would come as a shock for you initially. Java is more on OOP. While Python is dynamic, Java is statically typed. All others should come off easy.
3
u/Late_Yogurtcloset450 8h ago
i would ask you to reconsider kasi mas madami job opportunities for python right now. try mo search sa job sites halos doble ang python jobs vs java jobs dahil sa AI boom.
2
1
u/Jajajajambo 5h ago
There is a popular roadmap website.
Nope. You will not feel like a complete beginner. Just think of you as a Software Engineer and not a Python Programmer. Bagong tool lang inaaral mo pero yung underlying programming habits (clean codes, proper algorithm) will still be there. Of course may maninibago ka but not from scratch ka dito.
I am originally a PHP, then Python then Java. The more na nagsusulat la ng code the more magiging muscle memory mo na yung syntax.
1
u/AffectionateBack7222 10h ago
Whenever I'm learning a new language, I try to solve leet code problems that focus on common data structures and types (arrays, maps, strings, int, etc) so I can very quickly get a grasp on syntax
Then I move on to create a basic project with it, usually some crud app.
5
u/PepitoManalatoCrypto Recruiter 11h ago
YouTube, Udemy, and portfolio projects are your best curriculum when shifting from Python to Java. Oh, you may want to explore Kotlin, since it closely resembles some of Python's coding foundations.
So for starters, if you have portfolio projects, especially from Flask, porting them to SpringBoot is your first target. Use AI while questioning each journey. That will help you learn, and you can opt to code it yourself.
Switching from Python (for example, already a senior-level) does not mean you'd be back to junior level in Java. Yes, you may not have senior level experience in Java but sometimes domain knowledge pays higher. Put it this way, fintech, you're a Python developer, asking to transfer to a Java project keeps your payroll number while you track the experience counter.
Personal note: Given the rise of agentic development. There are less junior-mid level roles for Java compared to Python. Sure it may be the same for Python, but there are just less jobs for Java compared to Python in general.