resumes

How to Write an ATS Resume That Gets Past the Filter

ATS doesn't auto-reject resumes — it parses them and passes them to recruiters with metadata. Here's how ATS parsing actually works, what formatting breaks it, and how to optimize your resume for both the system and the human reviewer.

Hire.monster Team··7 min read
Person reviewing a resume document at a desk

Most resume advice focuses on design - clean layouts, readable fonts, good whitespace. ATS screening doesn't care about any of that. It parses text, matches it against required criteria, and scores or ranks your application before a human ever looks. Here's how ATS systems actually work, what they score on, and what changes the outcome.

What ATS actually does (and doesn't do)

Definition: ATS (Applicant Tracking System) - software used by employers to receive, parse, organize, and filter job applications. Common platforms used by tech companies include Greenhouse, Lever, Ashby, and Workday. Each has different parsing rules and scoring logic.

ATS doesn't "reject" your resume the way pop-science articles describe. It doesn't scan for keywords and auto-delete applications that don't match. What it actually does:

  1. Parses your resume into structured fields: contact info, work experience, education, skills
  2. Passes it to a recruiter queue with metadata attached - which skills were detected, which weren't
  3. May run a filter or scoring rule set by the recruiter, which can rank or hide applications that don't meet threshold criteria

Whether your application gets seen depends on whether the recruiter set strict knockout filters, how many applications they're managing, and what the threshold criteria are. In high-volume pipelines, filters matter more. In low-volume specialist searches, a recruiter is often reading everything.

The practical implication: ATS optimization isn't about gaming an algorithm. It's about ensuring your resume is parsed correctly and that the terminology your experience uses matches the terminology the JD uses.

Where most resumes fail ATS parsing

Parsing breaks on: tables, text boxes, headers/footers, graphics, multi-column layouts, and unusual fonts. ATS parsers extract text linearly - if your resume is formatted as a two-column layout with a sidebar for skills, the parser may read the columns out of order, mixing job titles with skill names.

Safe formats: Single-column layout, standard section headings (Work Experience, Education, Skills), plain fonts (Arial, Calibri, Helvetica, Georgia), no text boxes or graphics, .docx or plain PDF (not scanned/image PDF).

Headers and footers are often skipped. Your contact information in a page footer may not get parsed. Put name, email, LinkedIn, and phone in the body of the document, not in a Word header.

"Skills" listed only in a sidebar or graphic won't be indexed. A visual skills bar chart looks clean to a human but is invisible to most ATS parsers. Skills must appear as plain text.

Recruiter perspective

According to SHRM's Talent Acquisition research, ATS platforms have become the default infrastructure for talent acquisition at companies of all sizes - with over 90% of Fortune 500 companies using one, and the majority of SMBs adopting them. Recruiter filtering rules, not algorithmic rejection, determine which applications get human review.

SHRM's Talent Acquisition research

The keyword matching problem and how to fix it

ATS keyword matching is terminology-specific. "Managed infrastructure" is different from "DevOps" is different from "infrastructure engineering." The same job function described in different vocabulary may not match the recruiter's keyword filter.

The fix: Mirror the job description's language for your most relevant experience. Not fabricating - using the same terms for skills and responsibilities you actually have. If the JD says "API design" and your resume says "REST endpoint development," a recruiter's filter for "API design" may miss you even though the work is identical.

Step-by-step process:

  1. Copy the job description into a text editor
  2. Identify the 5–7 primary required skills and technologies - not the "nice to have" list, the must-have core
  3. Check your resume for each term. If you have that experience but use different vocabulary, update the terminology
  4. Add the primary required skills to your Skills section as plain text if they aren't already there
  5. Keep each tailored version of your resume as a separate file - one per job, not a permanently modified master

This is per-job work. A resume tailored to "payment processing infrastructure" performs differently against a fintech JD than the same experience described as "distributed backend systems." Hire.monster's AI tailoring automates this per-job diff: see how to tailor your resume for each job application for the full approach.

The skills section: what to include and what to skip

Include: Programming languages, frameworks, platforms, tools, and methodologies that appear in the JDs you're targeting. These are the terms parsers and filters look for. List them as plain text, comma-separated or one per line - not as a graphic or bar chart.

Skip: Soft skills in the skills section ("strong communicator," "team player," "detail-oriented"). These are not keyword-searched by ATS and take up space that parsers weight against hard skills. Demonstrate soft skills in the experience bullets instead.

Ordering: Put the most relevant skills for your current search at the top of the section. Some ATS implementations weight skill order; recruiters scan from the top.

Bullet writing for ATS and humans

ATS parsers index your bullet text for skills and terminology. Humans read it to evaluate credibility. Both audiences are served by the same pattern:

[Action verb] + [what you built/owned] + [at what scale] + [measurable result]

"Designed and deployed a Kubernetes cluster on AWS EKS supporting 200+ microservices, reducing deployment failures by 40%."

What this does:

  • "Kubernetes" and "AWS EKS" are indexed by the ATS
  • "200+ microservices" establishes scale
  • "40% reduction in deployment failures" gives the human reviewer a reason to call

Avoid: "Responsible for infrastructure" (no action, no scale, no outcome). Avoid: "Worked on various projects using Python and Go" (vague, low-information).

Education, certifications, and what ATS scores on

Education fields are parsed separately. Most ATS systems index degree level and institution. If the JD requires a Bachelor's degree and you have one, make sure it's listed explicitly ("Bachelor of Science in Computer Science, [University], 2018") - not abbreviated or in a footer.

Certifications: List them in a dedicated "Certifications" section with full names. "AWS Certified Solutions Architect – Associate" is more likely to match an "AWS certification" filter than "AWS SAA-C03."

Testing your resume before you apply

The practical test: paste your resume text into a plain text file (or Google Doc). If the reading order is coherent - work experience reads top to bottom, skills are intact, contact info is present - the document will parse correctly. If the text jumps around or the columns are scrambled, the ATS will see the same thing.

For individual applications, Hire.monster's match evidence shows which required skills from the JD appear in your profile and which don't - effectively replicating the recruiter's keyword filter before you apply.

How ATS fits into the broader application workflow

Passing the ATS filter gets your application to a human. It doesn't get you the interview. The human review evaluates relevance, experience level, career trajectory, and the quality of the cover letter. See how to write a cover letter that doesn't read as AI-generated for the next step after the resume.

Key takeaways

ATS parses text, not design - format for machines first

The most common resume mistake is optimizing for human visual appeal at the expense of machine readability. Single-column layout, standard section names, plain text skills lists, and no headers/footers is the correct base format. Add design refinements that don't interfere with text parsing.

Keyword matching is terminology-specific - mirror the JD's language

Your resume may document the exact experience a role requires, but if it uses different vocabulary than the JD, keyword filters may not surface it. Per-job tailoring - swapping your terminology for the JD's terminology on your most relevant experience - is the highest-ROI resume change most candidates haven't made.

Bullets serve two audiences: the ATS and the hiring manager

Write bullets with the primary required technology or skill in the first sentence, plus scale and outcome. This serves both the ATS (which indexes the term) and the human reviewer (who evaluates the claim). One format covers both.

Frequently asked questions

What file format is best for ATS?

.docx or a text-based PDF. A PDF created from a Word document is usually safe. A scanned PDF (image of a paper document) is not parseable - never submit a scanned document. When in doubt, .docx is the safest format for ATS parsing.

How many keywords should I include?

Match the 5–7 primary required skills from the JD's "requirements" section. Don't stuff the resume with every technology mentioned in the posting. ATS parsers and human reviewers both recognize keyword stuffing - it signals low-quality applications, not strong matches.

Does GPA matter for ATS?

GPA matters primarily for early-career roles at companies that explicitly filter on it. For mid-to-senior tech roles, GPA is rarely a filter criterion. Include it for 2–3 years post-graduation if strong (3.5+); omit it after that.

Should I have multiple versions of my resume?

Yes - one master resume and one tailored version per application. Keep the master as your source of truth. Create tailored versions by adjusting terminology, reordering the skills section, and refocusing the summary to match the specific JD. Hire.monster automates this diff.

Does adding white text with keywords work?

No. Modern ATS platforms flag documents with hidden text - it's a known manipulation and some systems penalize it. Do not add invisible keywords. Legitimate tailoring means updating the visible text.

Bottom line

  • Single-column layout, standard section names, plain text skills list, body-only contact info
  • Mirror the JD's primary required skills vocabulary in your experience bullets and skills section
  • Write bullets as action + technology/skill + scale + measurable outcome
  • Create a tailored version per application - don't send the same resume to every job
  • Test by pasting into plain text - if it reads coherently, it will parse correctly

Find jobs where you can see your match before applying: hire.monster/jobs.

Keep reading