Your Resume Got Rejected by a Bot. Here's What It Actually Saw.

Published: (February 6, 2026 at 09:00 AM EST)
3 min read
Source: Dev.to

Source: Dev.to

The robot in the room

Most companies with more than 50 employees use an ATS — Applicant Tracking System. It’s software that reads your resume before a human does. By “reads,” I mean it parses your PDF into structured data and runs it through filters.

If you don’t pass the filters, your resume goes into a digital graveyard. No human involved. No rejection email. Just silence.

That’s not a conspiracy. That’s Tuesday at any HR department getting 400 applications per role.

What the bot actually sees

Your beautiful two‑column layout with custom fonts and a headshot? The bot sees garbled text and broken formatting.

Common pitfalls

  • Fancy templates – Canva resumes with icons, columns, and skills progress bars can’t be parsed. The ATS reads left‑to‑right, top‑to‑bottom, turning two columns into a jumbled mess. Your “90% proficient in JavaScript” progress bar becomes literally nothing.
  • PDF formatting – Some PDF exports embed text as images. The bot sees a blank page.
  • Missing keywords – The job post says “React, TypeScript, REST APIs.” Your resume says “Built modern web applications using cutting‑edge technologies.” The bot doesn’t know what “cutting‑edge” means; it looks for exact matches.
  • Creative job titles – “Code Wizard” or “Digital Craftsman” won’t match “Software Developer.” The bot matches strings, not personality.

The 6‑second rule is real

If you beat the bot, a human now has your resume. Studies consistently show recruiters spend 6–8 seconds on initial resume screening. In that time, they scan for:

  • Current role/title
  • Recognizable company names
  • Keywords that match the job
  • Education (maybe)

They aren’t reading bullet points or admiring your summary; they’re pattern‑matching, just like the bot—only faster and with more bias.

What actually works

Practical advice for juniors

  • Use a boring template – Single column, standard fonts, no graphics, icons, or progress bars. ATS‑friendly means ugly; accept it.
  • Mirror the job posting – If the posting says “React,” use “React.” Not “React.js” or “ReactJS.” Exact wording matters. This means tweaking your resume for each application.
  • Kill the summary – Replace the generic paragraph with 2–3 bullet points of concrete achievements, e.g., “Built X that does Y” or “Contributed to Z open‑source project.”
  • Quantify anything you can – “Reduced page load time from 4 s to 1.2 s” is far more impactful than “Improved page load time.” If you lack precise metrics, use reasonable estimates (“Used by ~50 classmates”).
  • Include your GitHub link – Only if your pinned repos have good READMEs. An empty GitHub is worse than none.

The cold truth about “Apply Online”

The apply button on most job sites is the lowest‑probability path to getting hired. You’re competing with hundreds of applicants, filtered by a bot, and reviewed in 6 seconds.

The highest‑probability path? A referral—someone inside the company forwarding your resume to the hiring manager with a personal note. This skips the bot entirely.

Don’t rely solely on online applications. Attend meetups, be active on developer communities, comment on posts, and reach out on LinkedIn with genuine questions about the company’s tech stack.

Test your own resume

Before you send another application:

  1. Copy‑paste your resume into a plain‑text editor. If it’s unreadable, the bot can’t read it either.
  2. Compare it against the job posting and count keyword matches.
  3. Ask someone to glance at it for 6 seconds and tell you what they remember.

If you fail any of these checks, you now know why your inbox is empty.

What’s the dumbest reason you’ve been rejected from a job? I once got rejected for “not enough experience with Agile” because I wrote “Scrum” instead.

Back to Blog

Related posts

Read more »

A Framework for System Design Interviews

System Design Interviews – A Practical 4‑Step Template System‑design interviews feel vague at a high level. You may be asked to design a large‑scale system—one...