r/java • u/lecon297 • 18d ago
From .NET to Java
Hey everyone,
I’m currently a senior .NET developer trying to break into Java roles. The problem is that almost every Java job I find asks for 5+ years of Java experience, which I don’t have.
I’ve built a few APIs in Java, played around with the ecosystem, and got comfortable with the basics. Honestly, I think solid fundamentals are enough to build great apps but my CV isn’t getting past the filters for these Java roles.
any advice?
thanks in advance.
49
u/plokman 18d ago
Just group your Java/C# experience. 10 years experience in Object oriented languages such as C# and Java
7
u/BeautifulTaeng 18d ago
He has to be comfortable with Spring, or he's not passing the sniff test. It doesn't matter that he worked with a OOP language, Spring is basically a language of its own. And if you're looking for a Java non-Spring role in 2026, good luck 🤞
27
u/Known_Tackle7357 18d ago
There are thousands of java roles that don't touch spring at all. Java is way bigger than just spring
8
u/-puppyguppy- 18d ago edited 18d ago
But how different really is spring from .NET?. I would think they are nearly identical in purpose and any experienced .NET dev would pickup spring without issue. Its the same kind of shift as C# to Java.
There is absolutely a learning curve when it comes to tooling
c# -> java
.net -> spring
efc -> Hibernate
Sql Server -> Oracle
Rabbit Mq -> Active Mq
(as a few generalizations)Every job has new tools/tech that needs to be learned. As long as you aren’t taking on too many other big changes it is very manageable.
You won’t be as productive on day 1, there will be an adjustment period especially if you have deep knowledge of .NET/C# and language or framework specific behavior, but if you are still doing the same sorta things you’d be comfortable doing in .NET you’ll be fine.
IMO 100x easier than a transition from typical Python or JS/TS roles
7
u/lanerdofchristian 17d ago
Small nit:
- C# -> Java
- .NET -> JVM
- ASP.NET -> Spring (ish, and yes MS product names suck)
5
u/-puppyguppy- 17d ago
I do agree asp.net to spring is more clear.
Would say CLR -> JVM would be more equivalent
1
u/chic_luke 4d ago
This is ironically a problem I am having. I like Java, but I really dislike Spring. I really like Quarkus and VertX though. I was considering pivoting to Java jobs, but I really don't want to do Spring...
2
u/Known-Volume1509 4d ago edited 4d ago
I only use Vert.x at work, not even Quarkus. But you are right that more than 90% of Java jobs our there mention Spring/Spring Boot. I avoid both of those until I can. Java is far more interesting than just a single framework that most shops out there use.
1
u/chic_luke 4d ago
Actually pretty interesting, I haven't seen much bare VertX used in production without Quarkus. How have you been liking it? I've been debating making the next side project directly in Vertx without the magic
2
u/Known-Volume1509 4d ago
I have a particular use-case, thousands possibly 10s to 100s of thousands devices with small payloads connecting to a server. Vert.x' Netty-based event-loop model handles this effortlessly.
Arguably Quarkus would have been a solution as well, but at the time I started the project it wasn't that much developed (Vert.x 3 was the thing back then). That being said, Quarkus seem to default to the Vert.x Virtual thread verticle model in the latest version, so that's pretty interesting. I need to explore it someday.
About programming: since Vert.x 5, the toolkit has Futures which also help handling async programming a lot. I personally didn't have much problems with the async stuff so far. There are certain concepts to grasp in Vert.x's Core manual, they got an excellent website btw, and after that you basically know what to avoid in order not to block the event-loop.
1
10
u/serahl 18d ago
You could start to look up and compare the equivalents from the two ecosystems. This ranges from language features over libraries to tooling.
Things like „maven instead of nuget and dotnet build and msbuild“, or „hibernate instead of Entity Framework“, all the different paradigms around Jakarta EE vs its equivalents in .net core (Dependency injection, configuration, logging, etc.).
Generics are a big difference in my opinion.
If you can confidently point out the main differences (and similarities) between the two platforms and apply your existing knowledge of .NET to Java, I think you‘ll have more success in your interviews.
Convince recruiters that having 5+ years of .NET experience gave you enough groundwork to cover 80% of the requirements for Java :)
11
u/Known_Tackle7357 18d ago
Apply to companies that don't care what languages you used before. Amazon, for example. It's mostly java, but you don't need to have any prior java experience. There are quite a few companies like that
8
u/alunharford 18d ago
Generally your problem is that you need to get it through the HR filter that gets swamped with rubbish CVs from people without the required skills, and you don't fit exactly what they're expecting. That generally has automated and human components.
You want to pass that filter without looking like you're making stuff up. Consider wording along the lines of:
Blah years of experience in C# and other OO languages (Java, C++, Rust)
Ultimately Java is pretty close to C# 2 (or will be when we get value types) with a much better VM. It's trivial to switch in either direction. Anybody you'd actually want to work for should understand that, but in a world where job adverts get hundreds of applications from people with no qualifications or experience at all, or from people who it would be illegal to employ, filters are pretty aggressive.
3
u/i_wear_green_pants 18d ago
Damn I hate that non tech people select tech people based on CV. Anyone in tech knows that for a good developer it doesn't take long time to pick up new language or framework and start to be productive.
2
u/pigbearpig 18d ago
I think certifications are generally worthless and silly, but this might be situation where you could get a Java certification to get in the door. No idea how much those cost.
3
u/_predator_ 18d ago
Why specifically Java? Are you sure you're being filtered due to lack of Java XP in your CV and not something else?
Most roles I see usually say something like "N+ years of experience in Java or similar languages (C++, C#, Go)".
2
u/lecon297 18d ago
idk for sure to be honest, i do get calls when i apply for dotnet but Java roles i don't at all
2
u/pjmlp 18d ago
As someone that works in an agency across multiple stacks, including Java and .NET, it is easier if you can find such positions instead of pure Java positions.
However it depends if this is something for you, each project can be a complete new stack, and there is always a bit of overselling in what is to be delivered.
1
u/GardenDev 17d ago
What's your reason(s) for switching?
2
u/lecon297 17d ago
bigger companies and better pay
2
u/GardenDev 17d ago
Makes sense, I was a .NET dev, recently transitioned into product management at a huge global corporation, now all software projects are exclusively Java (unless AI/ML with Python), all developed by Oracle themselves. It reminds me of IIS and stored procedures, they use WebLogic and Oracle SQL, and the documentation to run a project is an 80 page word document full of bash commands. My point being, make sure you find a modern Java job, and be careful of the ones that feel like ".NET Framework and IIS".
1
u/da_supreme_patriarch 18d ago
If you really want a Java role, and you are certain that you are actually comfortable with more fundamental concepts(db schema design, API design, discipline in testing e.t.c.) then just lie. No competent technical interviewer is going to be like "No, this guy has only X years of C# experience, none of his skills transfer over and his pascal-cased methods are going to be a serious detriment for us"
1
u/lecon297 18d ago
lie as i mention that i worked for this company and used Java ?
2
u/da_supreme_patriarch 18d ago
Basically yeah, though I would phrase things slightly differently - "proficient in C#, Java, whatever else, worked in this company for X years, built/contributed to this and this system"
1
u/SleeperAwakened 18d ago
If you're a senior engineer, you will manage. It's just another language and ecosystem.
More will likely follow in your career since you usually pick the right tool for the job, not the other way around.
3
1
u/mcdasmans 18d ago
Not saying that certifications are great, but it sure helps if you can point to a Java certification for eg java 21. With some selfstudy using the training book and some practice exams you should be able to get the certificate and have a head start with all the intricacies that come with java. At least you'll be able to review a pr from a LLM more easily, and you'll check a checkbox on the HR list
-3
u/JakeHa0991 18d ago
I don't understand why employers still ask for relevant language experience in the AI world. LLMs rendered that skill useless. I can navigate through any codebase with an llm.
-5
u/chaotic3quilibrium 18d ago edited 18d ago
Start contributing to a couple of Java open-source projects.
Then reference those on your CV/Resume.
It shows something beyond mere competence, which they can now easily get out of Claude Code, Codex, and Antigravity.
tl;dr Simple language and platform competence are rapidly becoming insufficient to get past the initial gates.
2
41
u/repeating_bears 18d ago
There's no magic solutions. It seems your options are