Step by step
- 1
Extract the keywords from the job description
Read the posting and list every hard requirement: language version (Java 17/21), frameworks (Spring, Spring Boot, Hibernate/JPA), architecture (microservices, REST, event-driven), build tools (Maven, Gradle), testing (JUnit, Mockito), and cloud (AWS, Kubernetes). These are your target keywords.
- 2
Mirror the exact wording
ATS keyword matching is literal. If the posting says "Spring Boot" don't just write "Spring"; if it says "CI/CD" include both the acronym and the tool. Use the same casing and phrasing the recruiter will search for.
- 3
Put the stack in two places
List the core technologies in a Skills section for fast keyword capture, then prove each one inside an experience bullet. A skill that never appears in a bullet reads as filler.
- 4
Quantify every bullet
Rewrite responsibilities as outcomes with numbers: throughput (requests/second), latency (ms), scale (users, transactions), reliability (uptime), or cost. "Built REST APIs" becomes "Built Spring Boot REST APIs serving 1,200 req/s at 99.98% uptime."
- 5
Reorder to lead with Java-relevant work
Within each role, put the most Java- and backend-relevant bullets first. If an older role is more relevant than a recent one, add a short 'Selected projects' block so the match is visible in the first third of the page.
- 6
Match the target title
If the posting is 'Java Developer' and your current title is 'Software Engineer,' add the target title in your summary line (e.g., 'Software Engineer / Java Developer') so both the recruiter and the ATS see the match.
- 7
Run an ATS check before you apply
Paste the finished resume into a free ATS checker to confirm the parser reads your contact info, headings, and dates, and that your key Java terms are present. Fix anything that got dropped.
Checklist
- Java version named (e.g., Java 17/21) if the posting specifies one
- Spring / Spring Boot present in both Skills and a bullet
- Hibernate/JPA, REST, and microservices included where true
- Build + test tools listed (Maven/Gradle, JUnit)
- Cloud/DevOps terms mirrored (AWS, Docker, Kubernetes, CI/CD)
- Every bullet starts with a verb and ends with a number
- Target title reflected in the summary line
- Single-column layout, standard headings, .pdf or .docx as requested
- Contact info in the body (not only the header)
Before → after (one bullet)
Before
Responsible for backend development and bug fixes on the payments team.
After
Engineered Spring Boot microservices for the payments team, cutting checkout errors 22% and handling 1,200 req/s at 99.98% uptime.
Tips
- Keep a master resume with everything, then copy and trim it per application — never tailor from scratch.
- Don't claim a framework you can't discuss; you'll be asked to explain it in the interview.
- Name concrete systems (Kafka, PostgreSQL, Redis) rather than 'various technologies.'
- One page for under ~8 years of experience; two only if genuinely warranted.
- Save the file as Firstname-Lastname-Resume.pdf so it's easy to find in an ATS.