Hire · Backend

Hire Java Developers

Senior Java engineers who join your team to work on Spring Boot services, enterprise integrations and long-lived JVM systems. Every candidate has diagnosed a lazy-loading problem in JPA and read a garbage collection log in a paid exercise before you speak to them.

Paid Spring Boot and JVM exercise

Senior and lead levels only

Fits your build, release and review process

On your team

What a Java developer owns on your team.

01Owns

Spring Boot services

Builds REST controllers, service layers and configuration with Spring Boot, using profiles and externalised properties rather than code branches for each environment.

02Owns

Persistence with JPA

Maps entities with Hibernate, controls fetch strategies, writes JPQL or native queries where they help and manages schema changes with Flyway or Liquibase.

03Owns

JVM health in production

Sizes heaps, chooses and tunes the garbage collector, and reads thread dumps and GC logs when latency spikes.

04Owns

Enterprise integration

Connects to message brokers, SOAP and REST partners, identity providers and legacy databases, with transactions and retries that survive partial failure.

05Owns

Builds and dependencies

Keeps Maven or Gradle builds reproducible, manages dependency versions with a BOM and patches vulnerable libraries promptly.

Beyond Spring annotations

Plenty of Java developers can assemble a Spring Boot service from annotations. Far fewer can explain what those annotations do at runtime: when a transaction actually starts, why a self-invoked method skips its proxy, or how a lazy collection triggers dozens of selects during JSON serialisation. Those are the questions that separate maintainers from assemblers.

Ask candidates about a production incident they traced to Hibernate or transaction boundaries. Specific stories about fetch strategies and open-session-in-view are a strong sign.

Vetting

Skills we test before a Java developer joins.

01Tested

Spring internals

Understands dependency injection, bean scopes, auto-configuration and why @Transactional on a private method does nothing.

02Tested

Hibernate behaviour

Recognises N+1 selects from lazy associations, uses fetch joins or entity graphs and knows what open-session-in-view hides.

03Tested

Concurrency on the JVM

ExecutorService, CompletableFuture and virtual threads, plus the thread-safety rules for shared Spring beans.

04Tested

Garbage collection

Can compare G1 and ZGC for a workload, read GC logs and tell a memory leak from an undersized heap.

05Tested

Modern Java

Records, sealed types, pattern matching and the Streams API, used where they make code clearer.

06Tested

Testing

JUnit 5, Mockito where it helps, Spring Boot test slices and Testcontainers for real database and broker tests.

Work sample

How the Java developer work sample runs.

  1. 01Step 1

    Repair a slow endpoint

    The candidate gets a Spring Boot endpoint that triggers N+1 selects through lazy collections and fixes it without changing the JSON returned.

  2. 02Step 2

    Read a memory problem

    From a GC log and a heap histogram, they decide whether the service leaks or simply needs a different heap size, and explain the evidence.

  3. 03Step 3

    Add an integration safely

    They add a call to a flaky partner API with timeouts, retries and a Testcontainers-backed test. We pay for the time spent.

  4. 04Step 4

    Brief a stakeholder

    On a short call they describe a trade-off from their solution to someone who does not write Java.

Testing the JVM side, not only the code

Java services fail in ways that do not show in a code review: memory pressure, long pauses and thread pool exhaustion. That is why the exercise includes reading a GC log and a heap histogram, alongside fixing a slow endpoint and adding a resilient integration tested against real containers.

Levels

Java Developers: what changes at each level.

01Level 1

Senior

Delivers features in existing Spring Boot services and reviews peers’ persistence and transaction code.

02Level 2

Lead

Owns module boundaries, shared libraries, build conventions and the testing approach across Java services.

03Level 3

Enterprise architect

Plans Java version and framework upgrades across many services, integration patterns between systems and the move away from legacy application servers.

Picking the right Java level

A senior engineer is the right fit when your services, modules and build are already well organised. If shared libraries have sprawled and every team builds differently, a lead will consolidate them. Choose an enterprise architect when the work spans many systems, such as a JDK upgrade across dozens of services or retiring an application server.

Onboarding into an enterprise codebase

Large Java estates take time to learn, so map the territory early. In week one, have the engineer build every module locally and ship one small fix. Over the following weeks, give them a service to own and ask for a short dependency report showing outdated or vulnerable libraries. It is useful on its own and shows how they read an unfamiliar system.

FAQ

Questions to resolve before the build.

01Do your Java developers work with Spring Boot specifically?

Spring Boot is the default in our vetting because most teams use it. Candidates with strong Jakarta EE, Quarkus or Micronaut experience can be matched if that is what you run.

02Can they help with an upgrade to a newer Java version?

Yes. Leads and architects regularly plan moves between long-term support releases, which usually involve dependency upgrades, removed APIs, and Spring Boot major version changes alongside the JDK.

03Will a Java developer handle JVM tuning in production?

Senior engineers can read GC logs, thread dumps and heap histograms and adjust settings. For large estates, pair them with DevOps so container limits and JVM flags are set together.

Primary sources

References behind this page

Dated official documentation, standards, and research that support the factual claims on this page.

  1. 01
    Spring Boot reference documentation

    Official reference for Spring Boot configuration, features and testing.

  2. 02
    Oracle: HotSpot Virtual Machine Garbage Collection Tuning Guide

    Official guidance on choosing and tuning JVM garbage collectors.

How to read this page

Scope, cost and timeline figures are planning guidance until confirmed in a written proposal. Diagrams and screens are illustrations, not client deliverables, and source-code rights and handover follow the signed agreement. See the delivery process and the full disclaimer.

Next decision

Turn the brief into an accepted product scope.

Define outcomes, constraints, evidence, rights and handover before delivery begins.

Commercial rights, repositories, environments, documentation, acceptance and handover remain contract-defined.