Anyone can pass the interview.
Fewer can read the GC log.
Java earns its keep on the day the traffic triples. We hire and place engineers who have been on that bridge — Spring Boot, Kafka, Kubernetes, and the runtime underneath all three. Full-time in your team, on our payroll.
Forty-six minutes, one bounded cache
A real incident from a client engagement, with the names removed. We publish it because it is a better description of what a senior Java engineer does than any list of frameworks could be.
- Detected
- 16:02
- Resolved
- 16:48
- Root cause
- Unbounded cache
- Deploys involved
- None
What actually mattered: the three changes afterwards
A code-review rule and a static check. An unbounded Map used as a cache is now a build failure, not a discussion.
Exposed, dashboarded and alerted on — because the pause was visible in the logs for eleven days before anyone looked.
That is a monitoring defect. Client-side error rate now alerts alongside the server-side one.
What they do when nothing is on fire
Which is most of the time, and is the part that determines whether there is a fire next quarter.
Spring Boot services
REST and gRPC, with validation at the boundary, problem-detail error responses, and configuration that differs by environment rather than by branch.
Data access that scales
JPA where it fits and plain SQL where it does not, with the N+1 caught in a test rather than in production.
Messaging
Kafka and RabbitMQ, with idempotent consumers, a dead-letter strategy and a documented replay procedure.
JVM tuning that is evidence-based
Heap sizing, GC selection and thread pool limits set from a load test, not from a blog post.
Modernisation
Java 8 to 21, monolith to modules, and the migration of an EJB or Struts application that still runs your business.
Kubernetes reality
Resource requests that match the JVM's actual footprint, readiness probes that mean something, and graceful shutdown.
Buy the runtime knowledge, not the framework
Spring Boot can be learned in a month. Knowing why the p99 moved without a deploy takes years, and it is the only reason to pay a senior rate.
Mid-level
3–5 yrs$30–36/hrShips features in a Spring Boot service with review. Solid on the framework, still learning the runtime.
Senior
5–8 yrs$36–46/hrOwns a service and its SLOs. Reads a heap dump and a GC log without needing to be talked through it.
Lead / Architect
8+ yrs$46–64/hrSets service boundaries and the data model, runs the migration, and is trusted on the incident bridge.
Tell us what the service carries
Throughput, latency target, what happens when it is down. We will send engineers who have carried that weight before.
