Writing a Resume That Passes ATS Without Sounding Like a Robot
Applicant tracking systems reject most resumes before a human ever reads them. Here's how to get through the filter and still sound like a person.

Most resumes are rejected by software, not people. Applicant tracking systems (ATS) parse your resume into structured fields, score it against the job description, and quietly drop anything that doesn't clear the bar. The good news: writing for the filter and writing for a human are not at odds.
Match the language of the job description
ATS scoring leans heavily on keyword overlap. If the posting asks for "incident response" and your resume says "on-call firefighting," the system sees a miss. Mirror the exact terms the role uses — then back each one with evidence.
- Pull the 8–10 most repeated skills from the posting.
- Map each to a concrete bullet you can defend in an interview.
- Drop the ones you genuinely can't support. Padding gets caught later.
Keep the structure boring
Parsers choke on multi-column layouts, text inside images, and clever section names. Use standard headings — Experience, Education, Skills — and a single-column layout. Save the visual flair for the portfolio.
Lead with outcomes, not duties
A bullet that starts with a verb and ends with a number reads well to both the machine and the hiring manager:
Cut median build time from 11 minutes to 90 seconds by parallelizing the test suite, unblocking ~40 daily deploys.
That sentence carries keywords and signal. That's the whole game.
Open any role and use Score → Impact to spot bullets that read as duties instead of outcomes — then rewrite them with a number.

