Look, I've applied to probably 200+ tech companies in the last 3 years. Got rejected by software more often than humans. Here's what I learned about the specific ways these systems fuck up perfectly good resumes.
Workday Will Ruin Your Day
Workday is the worst offender. Their PDF parser is absolute dogshit. I had a clean, well-formatted resume that looked great. Uploaded it to Workday for a senior engineer role at a Fortune 500.
The system extracted my name as "SOFTWARE" (it was in a header), my phone number as "ENGINEER" (same line as my title), and completely missed my work experience section because I used a slightly non-standard font. This isn't just me - Workday's parsing problems are legendary.
Had to manually re-enter everything in their terrible form interface. Took 45 minutes. Still got auto-rejected, probably because their keyword matching couldn't connect "React developer" with "Frontend Engineer."
Greenhouse: Better But Still Broken
Greenhouse is what most startups use. It's less shitty than Workday but has its own fun quirks:
Header parsing fails: Put your contact info in the document header? Greenhouse can't see it. I learned this after getting "missing contact information" rejections when my email was clearly visible at the top.
Date format matters: Use "Jan 2023" instead of "January 2023" and their parser thinks you worked there for negative time. Same job, different date format, different outcome.
Skills extraction is keyword literal: Listed "Node.js" but the job posting said "NodeJS"? No match. Listed "React.js" but they wanted "ReactJS"? No match. It's fucking ridiculous.
iCIMS: The Enterprise Nightmare
Big corporations love iCIMS. It's somehow worse than Workday:
Got rejected from a Python role where I had 5 years of Python experience. The job description said "Python developer." My resume said "Python engineer." System couldn't match them. This keyword matching problem is everywhere.
iCIMS also can't handle:
- Contact info in tables (very common resume format)
- Multiple locations for remote work
- Contract vs full-time work properly
- Any PDF that isn't perfectly structured
BambooHR: Small Company, Big Problems
Even smaller ATS systems are broken. BambooHR rejected me from a startup because:
My job title was "Senior Software Engineer, Platform Team" and it parsed the company name as "Platform Team." So the system thought I worked at a company called "Platform Team" doing "Senior Software Engineer."
The actual company name was right below it. Didn't matter.
What Actually Gets Through
After all this pain, here's what I've learned works:
Use the most boring format possible:
- "Work Experience" not "Professional Experience"
- "Skills" not "Technical Competencies"
- "Education" not "Academic Background"
Separate everything clearly:
SOFTWARE ENGINEER
Company Name, Inc.
March 2022 - Present
Not:
Software Engineer | Company Name | March 2022 - Present
List skills exactly as posted:
Job says "JavaScript"? Use "JavaScript" not "JS" or "ECMAScript"
They want "PostgreSQL"? Don't write "Postgres"
React version matters: "React 18" if they specify it
The Real Technical Gotchas
Framework versions matter way more than you think:
- "React" might not match "React 18"
- "Angular" definitely won't match "AngularJS"
- "Node" won't match "Node.js"
GitHub has entire projects dedicated to fixing ATS parsing problems because this shit is so broken.
Database naming is weirdly specific:
- PostgreSQL ≠ Postgres ≠ PostGIS
- MySQL ≠ MariaDB (even though they're compatible)
- MongoDB ≠ Mongo
Cloud platform specifics:
- "AWS" often doesn't match specific services like "EC2" or "S3"
- "Google Cloud" ≠ "GCP" ≠ "Google Cloud Platform"
- "Azure" sometimes needs "Microsoft Azure"
Why Arc's Templates Actually Help
Arc's templates work because they're built by people who've debugged this shit:
Proper field separation: Job title, company, and dates on separate lines where parsers expect them
Standard section headers: Boring but functional - what the systems were trained to recognize
Technology naming consistency: Uses the official names that actually match job postings
PDF structure: Formats that survive Workday's terrible parsing without manual cleanup
I tested Arc's format against my old resume on the same job applications. Got through initial screening 3x more often. Still had to deal with shitty interview processes, but at least humans saw my actual qualifications.
Other developers have found similar results when they stopped fighting the system and started formatting for it.
The system is broken, but if you format for the broken system, you can at least get to the interview stage where your actual skills matter.
But let me be more specific about exactly how each vendor breaks your shit, because they all have their own special ways of fucking up resumes.