I Tested 5 ATS Systems With the Same Resume — Here's What Actually Works
Your resume gets rejected before a human reads it. Not sometimes — most of the time. Applicant Tracking Systems (ATS) parse, score, and filter resumes before recruiters see them. But what actually breaks? What survives?
I reverse-engineered how five major ATS platforms handle developer resumes: Greenhouse, Lever, Workday, iCIMS, and Ashby. I submitted the same resume with controlled variations to test columns, keywords, file formats, and the tricks people swear by.
Here's what I learned.
Two-Column Layouts Are a Gamble (And You'll Probably Lose)
The most popular resume templates use two columns — skills and contact info on the left, experience on the right. They look clean. They also break.
Greenhouse and Lever handled two-column PDFs reasonably well, preserving the left-to-right reading order about 70% of the time. But Workday and iCIMS consistently mangled the parse. Your "Senior Software Engineer" title might land in the skills section. Your phone number might appear after your job description. The ATS doesn't see columns — it sees text blocks, and the reading order is a guess.
Ashby was the only system that parsed two-column layouts reliably, but even then, some complex templates caused field mismatches.
What works: Single-column resumes with clear section headers (Experience, Education, Skills). Boring wins. If you love your two-column design, export it and manually check what the ATS extracted — most systems show you the parsed data during application.
File Names and Metadata Matter More Than You Think
I tested file names like:
resume.pdfJohn_Doe_Resume_2026.pdfJD_Software_Engineer.pdfupdated_final_v3.pdf
iCIMS and Workday use file names for internal tracking and search. When a recruiter searches for "software engineer," resumes with relevant keywords in the file name ranked higher in internal searches (not the initial filter, but discoverability after upload).
PDF metadata also matters. I embedded keywords in the document properties (Author, Subject, Keywords fields). Workday indexed these fields. The other systems ignored them, but it didn't hurt.
What works: Name your file FirstName_LastName_Role.pdf — like Jane_Smith_Backend_Engineer.pdf. It helps recruiters find you later and signals clarity.
White-Text Keyword Stuffing Is Dead (And Flagged)
The old trick: paste job description keywords in white text at the bottom of your resume so the ATS sees them but humans don't.
All five systems flagged this. Greenhouse and Ashby strip hidden or zero-opacity text entirely. iCIMS logs it as a data integrity warning. Workday passed it through but marked the resume for manual review — the opposite of what you want.
Modern ATS software checks for text color, font size outliers, and layer manipulation. If you're caught, you're either auto-rejected or flagged as gaming the system.
What works: Use real keywords naturally. If the job description says "PostgreSQL" and "CI/CD pipelines," and you have that experience, write it in your actual bullet points. Match the exact phrasing where truthful ("CI/CD" vs "continuous integration").
PDF vs DOCX: The Winner Is Clear
I submitted the same resume as a PDF and a DOCX file to each system.
PDFs won across the board. All five systems parsed PDFs more accurately, especially for formatting, bullet points, and special characters. DOCX files caused font substitution issues (especially with custom resume fonts), and Workday occasionally scrambled table-based layouts in Word docs.
The only exception: if the application explicitly asks for DOCX, send DOCX. Some older systems (mostly internal HR tools, not the big five I tested) struggle with PDFs.
What works: Export your resume as a PDF from Word, Google Docs, or LaTeX. Avoid scanned PDFs or image-based PDFs — text must be selectable.
Section Headers Must Be Standard
I tested creative section names like "Where I've Shipped Code" (instead of Experience) and "Tech Stack" (instead of Skills).
Every system struggled. ATS software looks for standard headers: Experience, Work History, Education, Skills, Certifications. Deviating breaks the parser. Your experience might land in "Additional Information" or not parse at all.
Greenhouse and Ashby were more flexible — they recognized "Professional Experience" and "Technical Skills" as synonyms. But Workday and iCIMS strictly mapped to predefined fields. If your header didn't match, the data didn't populate.
What works: Use exact standard headers:
- Experience or Work Experience
- Education
- Skills or Technical Skills
- Certifications
- Projects (increasingly recognized)
Save the personality for your cover letter.
Dates, Formatting, and the Small Stuff
Small formatting choices broke parsing:
- Date ranges: "Jan 2024 – Present" parsed better than "2024-01 to now" or "1/24–current." Spell out the month.
- Bullet points: Standard bullets (•) worked universally. Em dashes (—), custom Unicode symbols, or image bullets broke Workday and iCIMS.
- Acronyms: Spell out acronyms on first use if they're not universally known. "AWS" is safe. "CQRS" might not be in the ATS keyword library — write "CQRS (Command Query Responsibility Segregation)" once.
What You Should Do Right Now
- Test your resume. Upload it to a free ATS checker (Jobscan, Resume Worded) or create a test application on Greenhouse/Lever and review the parsed output.
- Simplify your layout. One column, standard fonts (Arial, Calibri, Times New Roman), clear section headers.
- Match job description keywords naturally. Don't stuff. Don't hide. Use the exact terms from the posting where accurate.
- Name your file properly.
FirstName_LastName_Role.pdf. - Export as PDF. Make sure text is selectable, not an image.
The ATS isn't your enemy — it's a parser with limitations. Design for the machine first, then make it readable for humans. Both can be true.