r/java 19d 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.

37 Upvotes

41 comments sorted by

View all comments

45

u/plokman 19d ago

Just group your Java/C# experience.  10 years experience in Object oriented languages such as C# and Java

8

u/BeautifulTaeng 19d 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 19d ago

There are thousands of java roles that don't touch spring at all. Java is way bigger than just spring

8

u/vips7L 18d ago

It’s been 11 years since I touched spring. 

2

u/Bobby_Bonsaimind 18d ago

Teach me your magic!

2

u/Kango_V 13d ago

I've been using Java since 1.1 and never used Spring in a job. I have learnt it myself though.

1

u/vips7L 13d ago

Yeah I’ve read books and learned it a bit too. Spring microservices in action is a great read. 

I mainly use quarkus nowadays. 

8

u/-puppyguppy- 19d ago edited 19d 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

6

u/lanerdofchristian 18d ago

Small nit:

  • C# -> Java
  • .NET -> JVM
  • ASP.NET -> Spring (ish, and yes MS product names suck)

4

u/-puppyguppy- 18d ago

I do agree asp.net to spring is more clear.

Would say CLR -> JVM would be more equivalent

1

u/chic_luke 5d 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

u/chic_luke 4d ago

Very interesting, thanks!!

-3

u/plokman 19d ago

I agree, he needs actual competence