Step 1 — Start from the job description, not your old resume
Open the job description and pull out three things before you touch your resume:
- The exact title (write it down — you'll use it in your summary).
- The 6-10 must-have skills (look at "requirements" and "qualifications" sections).
- The 3 outcomes the role exists to produce (look at "responsibilities" and "about the role").
If you can't find these in 5 minutes, the JD itself is weak — apply anyway but expect a noisier process. Save what you find — we'll mirror this vocabulary in every section.
Step 2 — Use a single-column, parser-safe layout
Apply this with the tool
Stop reading. Start tailoring.
Seek Interview grounds every output in the exact job description you paste — never generic templates. Free preview, no signup.
In 2026, the safest layout is still:
- Plain serif or sans-serif body font (Calibri, Arial, Source Sans).
- 10-11pt body, 14-16pt section headers.
- 0.5-1 inch margins.
- Section headers in bold, not in a separate column.
- No headers, no footers, no text boxes, no tables for layout (tables for actual tabular data like certifications are fine).
Step 3 — Write a 3-line summary that mirrors the JD
Skip the "results-driven professional with passion for excellence" template. Use this skeleton:
[Years of experience] [Exact role title from JD] with deep experience in [top 2 must-have skills]. Built [most relevant outcome] at [most relevant past employer or context]. Currently focused on [the outcome this role exists to produce].
— Seek Interview — Resume Builder
Example — Senior Backend Engineer JD
Before
Backend developer with 6 years of experience building scalable systems and a passion for clean code.
After
Senior Backend Engineer with 6 years building distributed payment systems in Go and Java. Cut p95 latency 41% on a 12k-RPS settlement pipeline at Stripe-Connect-style integration. Currently focused on event-driven microservices on Kubernetes.
Step 4 — Build a Skills section the normalizer can read
Two passes:
- Group by category — Backend, Frontend, Data, Cloud, DevOps. This is for the human screen.
- Inside each group, list canonical names (Kubernetes, not k8s; JavaScript, not JS). Include 2-3 variants only if both appear in the JD.
Step 5 — Rewrite every experience bullet
Use the verb + object + scope + outcome formula on every bullet:
- Verb (Built, Migrated, Owned, Reduced, Launched).
- Object (a billing pipeline, the onboarding flow, the on-call rotation).
- Scope (3 engineers, 12 services, $4M ARR).
- Outcome (cut close time from 9 days to 3, increased D7 retention 18%).
Example — vague vs sharp bullet
Before
Worked on the payments team and helped improve performance and reliability.
After
Re-architected the payments idempotency layer (140 RPS p99 → 12ms), eliminated 91% of double-charge incidents, and shipped a backfill that recovered $310k in stuck refunds.
Step 6 — Add a Projects or Selected Work section if relevant
For early-career, career-switcher, or open-source-heavy candidates, 2-3 projects with the same verb + outcome framing add a parser-friendly skills surface.
Step 7 — Run it through an ATS resume checker
Before submitting, score your resume against the job description with an ATS resume checker. Look at three numbers:
- Fit score — directional, not absolute.
- Matched skills — confirms the parser found what you intended.
- Missing skills — the things you have but haven't surfaced in the right context.
Worked example — rewriting a junior engineer resume
Real worked examples teach more than generic advice. Here's a before/after for a junior backend engineer applying to a Senior Backend Engineer role they're a slight stretch for. The JD calls for: Go, Kubernetes, distributed systems, on-call experience, 4+ years.
Bullet rewrite — junior dev applying senior
Before
Wrote backend code in Go for the payments service. Worked on Kubernetes deployments. Participated in on-call rotation.
After
Owned 3 of 12 Go microservices in the payments core (settlement, refunds, idempotency), shipped the v2 refund retry loop that cut stuck transactions 73%, and rotated primary on-call across 18 nights in 2024 with zero customer-facing incidents on my shifts.
Notice three things in the after version: specific service names ground the claim in real work; the number (73% reduction, 18 nights, zero incidents) gives the ranker something to score; the rotation framing addresses the JD's on-call requirement directly. This single rewrite typically lifts that bullet's contribution to the fit score by 3-5 points.
Common mistakes that quietly tank ATS scores
- Putting contact info in the header section of Word — Word headers are often stripped by parsers. Move contact to the first line of the body.
- Using "References available upon request" — wastes a line on something universally assumed. Remove.
- Writing a 6-line summary — your summary should be 3-4 lines maximum. Anything longer dilutes the keyword density at the top of the document.
- Listing every certification you've ever earned — pick the 3-5 most relevant. The rest goes on LinkedIn.
- Repeating the same bullet structure 30 times — "Worked on X, Y, Z" 30 times reads as mechanical. Vary verbs and structure across roles.
How to write for both the ATS and the human
The mistake we see most is candidates over-indexing on one audience. Either they write robotically for the ATS and lose the recruiter on first glance, or they write beautifully for the human and fail the parsing stage. The best resumes do both — clean structured data the parser can read AND specific, vivid claims the recruiter wants to dig into.
A simple test: read your resume in plain text (paste into Notepad). If the structure is still legible without the formatting, the ATS sees you clearly. Then open the original PDF and let a friend look at it for 10 seconds. Ask them what they remember. If they can't recall a specific number or accomplishment, your top bullets aren't sharp enough.
Frequently asked questions
- How many keywords should I include?
- Roughly 70-80% of the must-have skills from the JD, used in context inside bullets (not just stuffed into a Skills list). Quality of placement beats density.
- What if my title doesn't match the JD title?
- Keep your real title for credibility, then add the JD title in parentheses if the work matches. Example: "Software Engineer III (Senior Backend Engineer scope) — Stripe".
- Should I customize the resume for every job?
- Yes — at minimum customize the summary, the skills order, and 3-5 top bullets. Tools like the Seek Interview resume builder let you do this in under 5 minutes per job.
- Do ATS systems read images of text?
- No. Anything inside an image, chart, or icon is invisible to the parser. Keep all keywords as live text.
Apply this with the tool
Stop reading. Start tailoring.
Seek Interview grounds every output in the exact job description you paste — never generic templates. Free preview, no signup.
Continue reading in this cluster
Guide
The Complete ATS Resume Guide for 2026
Guide
The 12 Most Common Resume Mistakes in 2026
Guide
Resume Keywords Guide — How to Choose, Place, and Validate Them
Explore other clusters
Interview Preparation
The STAR Method Interview Guide — Structure, Examples, and Pitfalls
Interview Preparation
The 25 Most Common Interview Questions and How to Answer Them
Interview Preparation
How to Answer Behavioral Interview Questions
Interview Preparation
Mock Interview Practice Guide — How to Actually Get Better
Career Strategy
How to Get Hired Faster in 2026 — The Tactical Playbook
Career Strategy
Job Application Strategy Guide — Targeting, Tailoring, and Tracking
Hub & tools