Somewhere along the way, "resume keywords" became a euphemism for hiding words in white text or listing every technology ever mentioned in a job posting. Neither works. Both can get your resume rejected.

What actually works: use the job posting to understand the vocabulary of the role, then write your resume using that vocabulary wherever it accurately describes what you have done.

How the ATS actually reads keywords

An ATS does not count keywords. It extracts text into structured fields. A technology mentioned in the Skills section is stored as a skill. A technology mentioned in a bullet is not, unless the parser is sophisticated enough to detect it in free text.

This means:

  • Skills section matters more for keyword extraction than prose. If you know Python, put "Python" in the Skills section, not only inside a bullet.
  • Job titles matter. "Senior Software Engineer" is extracted into a job title field. "Technical Code Craftsman" is not.
  • Company names matter. Use the official name, not a shorthand.
  • Dates matter. Use consistent formats so they are extracted cleanly.

What not to do

Do not hide keywords in white text or tiny fonts. Some ATS parsers detect this. All human readers who find it will reject the resume.

Do not list skills you do not have. If the interview comes, you will be tested. If it does not, you have created a mismatch that will follow you through the hiring process.

Do not use keyword density as a metric. A resume is not an SEO page. A term that appears three times is not three times more likely to be picked up than one that appears once in the right place.

What to do instead

Read the job posting carefully. Notice the words the employer uses to describe the role. Then ask, for each word or phrase:

  • Do I have direct evidence of this?
  • Does my resume already describe this, perhaps with different vocabulary?
  • Can I use the employer's vocabulary without distorting what I actually did?

If yes to all three, update the wording. If no to any, do not include the term — you will be caught in the interview.

A worked example

Suppose the job posting says: "We're looking for a backend engineer to help us scale our payments platform. You'll work with Python, PostgreSQL, and distributed systems, and you should be comfortable with observability tooling."

Bad response: add "Python, PostgreSQL, distributed systems, observability" to every bullet, plus a skills list that includes every tool mentioned.

Good response:

  • Skills section: Python, PostgreSQL, distributed systems, observability (if you actually use them).
  • Experience bullets: Reframe existing bullets that already describe this work using the employer's vocabulary. "Built a payments service in Python backed by PostgreSQL, serving 4M+ transactions per day."
  • Observability: If you have used Datadog, Prometheus, or Honeycomb, name them. If you have not, do not pretend.

The result reads as a resume written by the same person who would write the job posting — because it uses the same language. That is the goal.

Job titles and the "keyword" problem

If your actual job title was unusual — "Customer Success Ninja" instead of "Customer Success Manager" — use the standard title on the resume and the actual title in parentheses or in a bullet.

"Customer Success Manager (internal title: Customer Success Ninja)" parses cleanly and still communicates the real role.

Keywords are a side effect of writing clearly. If you describe your work in the vocabulary of the field you work in, the right keywords appear naturally. If they do not appear, you are probably writing about your work in the wrong vocabulary.

Write a resume that reads in the right vocabulary

The editor shows a live preview so you can see it the way the reader will.

Open the editor