You applied to 40 jobs. You got 2 replies. You're qualified — your experience is real, your skills match. So what happened?
Here's the uncomfortable truth: around 75% of resumes are filtered out by Applicant Tracking Systems (ATS) before a recruiter ever reads them. Not because the candidates weren't good. Because their resumes couldn't be read.
The good news: this is the most fixable part of your entire job search. This week I dug into how ATS parsing actually works, tested the common "resume tips" advice against it, and rebuilt my resume around the findings. This post is the short version — what breaks parsing, what actually helps, and the exact structure that got my resume through.
Wait — what exactly is an ATS doing to my resume?
An ATS (Workday, Greenhouse, Lever, Taleo, iCIMS...) isn't judging you. It's trying to convert your resume into structured data: name, contact, jobs, dates, skills, education. Parsing fails when the document assumes a human reader.
The four failure modes I found, in order of how often they kill otherwise good candidates:
- Layout parsing failures — tables, columns, text boxes, headers/footers. The parser reads left-to-right across both columns and merges "Marketing Manager" with "2019–2022" into gibberish.
- Missing keyword matches — the job description says "stakeholder management"; your resume says "dealing with stakeholders". Close enough for a human. Not for a match score.
- Graphic-only content — skills shown as bars or icons. A parser sees nothing. That "Photoshop ▓▓▓▓░ 80%" is invisible.
- Format traps — the .docx that renders differently on their machine, or the PDF exported from a design tool where every line is a positioned text box instead of a readable text flow.
The 7 fixes that actually move the needle
1. One column. Full stop. Every ATS parses single-column documents dramatically better. You don't lose anything — recruiters skim in an F-pattern anyway, which single-column layouts serve well.
2. Put contact info in the body, not the header. Many parsers skip headers and footers entirely. Your name and email living there = a "candidate with no contact info".
3. Use standard section titles. "Work Experience", not "Where I've Been". "Education", not "Learning Journey". Parsers look for known section names to structure your history. Creativity here costs you structure.
4. Match keywords from the job description — verbatim where honest. If the posting says "A/B testing" and you call it "split testing", list both. Mirror the posting's vocabulary for your actual skills. This isn't stuffing; it's translation.
5. Dates in a consistent, parseable format. "Jan 2020 – Mar 2022" or "01/2020 – 03/2022" — consistently. "2020 to early spring '22" is a human sentence, not data.
6. Skills as a plain list, not proficiency bars. A simple line of real skill names parses cleanly and gets matched. Icons and bars parse as nothing.
7. Test the actual export. Export your PDF, then open it and select the text. If you can't select text in reading order, the ATS can't read it either. This one test catches the worst failure mode in 10 seconds.
The structure that survives parsing (and still looks sharp)
NAME
City, Country · email · phone · linkedin
PROFESSIONAL SUMMARY
2–3 lines: role, years, domain, biggest quantified win.
WORK EXPERIENCE
Job Title — Company, City
Jan 2020 – Present
- 3–4 bullets, verb-first, numbers where possible.
(repeat, reverse chronological)
SKILLS
Plain list, grouped by theme, exact keywords included
EDUCATION
Degree, School, Year
Nothing exotic. That's the point — every element maps to a field the parser knows.
What I did about it (and what's in my toolkit)
Testing all of this against my own resume meant rebuilding it from scratch — several times, for different roles (marketing-heavy, analytics-heavy, PM-flavored). To keep myself honest and consistent, I worked from templates instead of redesigning from a blank page each time.
I ended up packing the ones that survived into a small template kit — Professional Resume Templates Pack — 8 ATS-ready formats plus a guide covering the parsing rules above, keyword strategy, and a bullet-writing formula. If you'd rather build your own from scratch, the structure in this post is genuinely everything you need; the kit just saves you the iteration time (and keeps you from drifting back into two-column habits).
The 10-second checklist
Before your next application:
- [ ] Single column, no tables, no text boxes
- [ ] Contact info in the document body
- [ ] Standard section names
- [ ] Keywords mirrored from the posting (honestly)
- [ ] Consistent dates
- [ ] Skills as plain text
- [ ] Text selectable in the exported PDF, in reading order
Fix these and you're not competing against the software anymore — only against the other humans. Which is a much fairer fight.
Landed an interview after an ATS fix? I'd genuinely like to hear what made the difference for you.
Top comments (0)