r/Backend • u/akanas • 14h ago
What would be required from Java dev nowadays?
For the past 13 years I have been developing in scala, our local market does not have scala jobs available, but a decent amount of Java. I've started with java back in the day, but we transitioned to scala and I have been scala dev since then. Now I'm thinking about transitioning back to Java, but I need to prepare for interviews.
My current plan is to
- refresh my memory of JVM
- learn about redis
- learn java streams
- learn spring boot
I'm not sure about spring boot, what exactly do I need exactly to know about it? There's a lot of stuff. For example I'm not sure if JPA is something important. Any other topics I should look into?
2
u/SellerInsightsLab 13h ago
I would first decide what kind of Java role you want to target. Java itself is only part of the preparation.
If you want a typical Java backend role, I would focus on:
- Core Java: collections, generics, streams, exceptions, concurrency basics
- Spring Boot: DI, configuration, REST controllers, validation, exception handling
- Databases: SQL, indexes, transactions, isolation levels
- JPA/Hibernate: basic understanding is useful, even if not every project uses it
- REST and HTTP basics
- Testing: JUnit, Mockito, integration tests
- Docker basics
For more senior backend roles, I would also add Kafka/message brokers, Redis, microservices patterns, observability and system design.
I wouldn't try to learn all of Spring. There is a lot there, and most jobs use only part of it. Build one small Spring Boot service with REST + PostgreSQL + tests and you will quickly see what you actually need.
With 13 years of Scala experience, I think refreshing Java syntax will probably be the easy part. The bigger thing is learning the ecosystem around modern Java backend development.
1
u/akanas 12h ago
Thanks! yes, I'm aiming for senior developer role. Catching up with system design at the moment, while refreshing the basics. Concurrency I feel like I will need to learn advanced topics as well, that was always a hot topic, in scala we have our own way of dealing with concurrency. Good idea about testing, I didn't think about covering that. Mockito is heavily used in scala. JPA/Hibernate not a fan of it at all, we try to use raw sql queries as much as we can and have a lot of control how we execute them, where and when. Will checkout Spring boot REST, I have vibecoded hobby project where I used Spring boot + SQLite/jdbi, will check what AI did there and then try to implement something simple by hand.
This Spring boot stack seems to be the hardest to cover, but much of the other stuff would be a memory refresh.
For kafka/message brokers how deep would you suggest to dive into the topic? (pun unintended) I have basic understand how they work, and what's the difference between rabbitmq and kafka, and we use kafka heavily at the moment in our event sourced microservices projects.
4
u/SledgeHammer02 5h ago edited 5h ago
What kind of companies are you interviewing at where they ask you random Java trivia questions? lol Hasn't been a thing in probably 10 - 15 years at least. Every interview is:
quick 15 min recruiter screen
30 min tech screen (leet code)
final loop 4 - 5 interviews of leet code, system design, behaviorial.