Almost every mid-size and large employer runs applications through an applicant tracking system — Workday, Greenhouse, Lever, Taleo, iCIMS and a handful of others. Around that fact has grown a small industry of bad advice, most of it built on a myth: that the ATS reads your resume, scores it, and bins it if the score is too low.
That is mostly not what happens. Understanding what does happen is the difference between fixing the right things and cargo-culting.
What an ATS actually does
An ATS is a database with a workflow attached. Its jobs, in order of importance:
- Parse your resume into structured fields — name, email, employers, titles, dates, education, skills.
- Store the application and track it through stages.
- Search and filter so a recruiter can narrow 800 applications to a shortlist.
Point 3 is where candidates are lost, and note the actor: a recruiter runs the filter. The common flow is a keyword search ("Kubernetes AND Terraform"), a knockout question filter (work authorisation, years of experience, location), or a sort by a match score the recruiter may or may not trust.
So the real failure mode is not "the robot rejected me." It is one of:
- The parser mangled your resume, so the fields the recruiter searches are empty or wrong.
- You didn't use the words the recruiter searched for.
- You answered a knockout question in a way that excluded you.
- A human read it and passed.
Only the first three are fixable by editing your resume. The good news is that the first one — parsing failure — is common, entirely mechanical, and invisible to you unless you go looking.
The nine fixes, in order of impact
1. One column. No exceptions.
This is the single biggest cause of parsing damage. Two-column layouts, the kind where skills run down a sidebar, are read by many parsers in the order the text appears in the underlying file rather than the order your eye follows. The result is interleaved nonsense: your job title glued to a skill, your dates attached to the wrong employer.
Designers love the two-column resume. Parsers do not. Use a single column.
2. Real text, not images
If your resume is a designed graphic exported to PDF, or you have your name in a logo, none of that text exists as far as the parser is concerned. Test it: open your PDF, select all, copy, paste into a plain text editor. Anything that doesn't appear does not exist.
The same applies to skill ratings drawn as filled circles, icons standing in for "email" and "phone", and text inside images.
3. Standard section headings
Use the boring words: Experience, Education, Skills, Projects, Certifications. Parsers look for them. "Where I've Made an Impact" is a nice touch that costs you a correctly parsed employment history.
4. Consistent, unambiguous dates
Use MM/YYYY – MM/YYYY or Month YYYY – Month YYYY, the same way every time, and use "Present" for current roles. Seasons ("Fall 2023"), single years, and mixed formats within one document all produce gaps or nulls in the parsed record — and "years of experience" filters run off those parsed dates.
5. Match the job's vocabulary — literally
If the posting says "CI/CD" and your resume says "build pipelines", a keyword search for CI/CD does not find you. If it says "React Native" and you wrote "mobile development", same problem. Recruiters search for the terms in their own posting.
This is not permission to keyword-stuff. It's an instruction to describe the same work using the employer's words, and to include both forms of anything that has two names: Kubernetes (K8s), Search Engine Optimization (SEO), Amazon Web Services (AWS).
The white-text-keyword trick, incidentally, is worth naming so you can avoid it: it is trivially detected when the recruiter views the parsed text, and it gets applications blacklisted.
6. Put skills in context, not only in a list
A skills section is useful for the search index. But a recruiter scanning results wants to see the skill attached to work. "Terraform" in a list is weak evidence. "Migrated 60+ services to Terraform modules, cutting environment provisioning from 3 days to 2 hours" is strong evidence and contains the keyword anyway.
7. PDF, unless told otherwise
Modern parsers handle PDF fine, and PDF protects your layout. The exception is when the application explicitly asks for .doc/.docx — some older Taleo configurations still parse Word more reliably. Do what the form asks. Never send .pages, .odt, or a link to a Google Doc.
8. Nothing important in headers, footers, or text boxes
Content in a document header or footer is frequently dropped entirely. Candidates put their contact details there constantly. Put your name, email, phone and city in the body of the document, at the top.
9. Answer knockout questions carefully
Work authorisation, willingness to relocate, salary expectation, years of experience. These are hard filters applied before anyone reads anything. Read them twice. "Do you now or will you in the future require sponsorship?" is a question people misread under time pressure, and there is no recovering from a wrong answer.
What doesn't matter as much as you think
The "ATS score" from free scanning tools. Most of these compare your resume against the job description and return a percentage. It's a useful proxy for keyword coverage, but no ATS shows recruiters that number. Treat it as a checklist, not a grade.
Length. The one-page rule is a US convention for early-career candidates. Two pages is normal past about five years of experience, and standard in most of Europe. No parser cares.
Fancy fonts and colour. Neutral, but pointless. Use something legible at 10–11pt.
Cramming in every keyword. Recruiters read the shortlist. A resume that reads like a keyword list gets rejected by the human, which is a slower path to the same rejection.
How to actually test your resume
Do this before your next application:
- The copy-paste test. Select all in your PDF, paste into a plain text editor. Read it as a stranger would. Is the employment history in the right order? Are titles attached to the right employers? Are your contact details present?
- The 6-second test. Show it to someone for six seconds, then take it away and ask what job you want and what you're good at. That's roughly the attention a first-pass screen gets.
- The vocabulary diff. Put the job posting and your resume side by side. Highlight every skill, tool and qualification in the posting. Count how many appear verbatim in your resume.
Steps 1 and 3 are what Terview's ATS check automates — it parses your resume the way an applicant tracking system does, shows you the structured output, and diffs the posting's vocabulary against yours so you can see exactly which terms are missing. If the parsed output looks wrong there, it looks wrong to the employer too.
The uncomfortable part
A perfectly formatted resume does not compensate for a weak match. If the posting wants seven years of Java and you have two, formatting is not your problem.
What formatting does is make sure you are judged on the match rather than on a parsing accident. That is a low bar, and a surprising number of qualified candidates fail to clear it.
Related: Build an ATS-friendly resume · Run a free ATS check · Cover letters that get read
