You don't beat the ATS by gaming it. You beat it by giving it exactly what it expects: a parseable document, the JD's keywords landed naturally, an experience block that proves the years, and an education line that clears the floor.
One, match the JD's keyword set. Required skills first, preferred skills second. Land each one in a bullet that proves you've used it, not in a Skills block padded with words you don't actually own.
Two, ensure parseability. PDF with selectable text, single column, embedded fonts, no images. Test by copy-pasting from your PDF into a plain-text editor; if the order or content is mangled, the parser will struggle too.
Three, clear the experience floor. If the JD says 5+ years of Python and you've got 6, make sure the years are obviously countable (dates on each role, total years implicit). If you're under the floor, lead with adjacent experience that bridges.
Four, name the systems. ATS engines treat company names and technology names as proper nouns and weight them heavily. 'Stripe' is a stronger token than 'a major fintech'. 'Kubernetes' is a stronger token than 'container orchestration'.
White text keyword stuffing (hide keywords in white on white). Every modern ATS strips colour from the parse, so the keywords get read, but every modern ATS also flags suspiciously high keyword density. The trick gets you flagged, not boosted.
Tables of contents at the top. Some 2018-era SEO advice was to put a 'Skills Matrix' table at the top for parsers. Modern parsers handle tables badly and modern recruiters scan past them. Single column, in-bullet keyword integration beats every table.
Generic AI-drafted CVs. AI-drafted from scratch reads like AI-drafted from scratch: vague verbs, unquantified outcomes, identical structures. Use AI to rewrite specific bullets, not to author the whole document.
No. Every modern ATS strips colour and font styling from the parse. Hidden keywords get read, but density triggers anti-stuffing flags. The trick gets you down-ranked, not boosted.
All the required skills, most of the preferred skills, landed in bullets that prove you've used them. Don't pad with words you can't defend in the interview.
The entire resume. Parsers extract everything: header, summary, experience, skills, education, projects. Some sections are weighted more (experience and skills typically more than projects), but everything is parsed.
Yes. The keyword filter step is the easiest to game with a tailored CV. Adjust your summary and your Skills block to mirror each JD's required and preferred skills. The Experience section stays mostly constant.
Run an ATS resume checker that simulates the parse and the JD match. Better still, copy-paste your PDF text into a plain-text editor; if the order or content is mangled, the parser will struggle too.
Free. Run the score, fix the gaps, submit with confidence.
Check my CV →