How to vet a Java developer
Java experience varies enormously, from maintaining Java 8 monoliths to building cloud-native Spring Boot services on current releases. Check fluency in modern Java features such as records, streams, pattern matching and virtual threads, and depth in Spring Boot, Spring Data and Spring Security. Strong developers can explain how dependency injection, transactions and connection pools behave rather than treating the framework as magic.
Database skills are critical, since most Java performance problems start there. Ask how candidates diagnosed slow JPA queries, handled lazy loading, designed indexes and managed migrations with Flyway or Liquibase. For distributed systems, look for experience with messaging such as Kafka, idempotent processing and observability with metrics and traces.
Architecture judgment matters as much as coding. Ask when a candidate would split a system into services and when a modular monolith is wiser; our microservices vs monolith comparison covers the trade-offs. Developers who default to microservices for every project often create more problems than they solve.
- Fluent in modern Java and Spring Boot.
- Strong SQL and JPA performance skills.
- Experience with messaging and idempotent processing.
- Writes tests with JUnit and Testcontainers.
- Understands JVM tuning in containers.
- Has upgraded applications from older Java versions.
- Documents designs clearly for architects and auditors.


