Resume Keywords: How to Find and Use the Right Ones
What resume keywords are, how to pull them from a job description, where to place them, and example keywords for backend, frontend, data and DevOps roles.
You upload your resume (CV) to a careers portal, and software reads it before a person does. The applicant tracking system (ATS) parses the file into fields, stores it, and lets recruiters search, sort and filter the pile using terms from the job description. Some systems score each applicant against the posting and sort the list. Others store the files and leave the filtering to a recruiter typing “Kubernetes” into a search box. Few of them send a rejection on their own. A resume with weak keyword coverage lands low in the sort or outside the search results, and the recruiter moves on without opening it.
Keywords move you up that list. The posting lists the words that count, and your job is to map your real experience onto that vocabulary without padding it. If you want the mechanics of how these systems parse and rank, read how resume matching algorithms work. This post sticks to finding the words, placing them, and checking you covered them.
What are keywords in a resume?
Resume keywords, sometimes called ATS keywords, are the terms a recruiter or a screening system looks for when deciding who to call. For software roles they fall into five groups.
Hard skills and tools. Languages, frameworks, databases and platforms: Python, Go, React, PostgreSQL, Kafka, AWS. These carry the most weight because the match is close to literal. A recruiter searching for “TypeScript” will skip a resume that only says “JavaScript”.
Job titles. “Software Engineer”, “Software Developer”, “Backend Engineer” and “SDE II” describe similar work, and a search for one misses the others. Use the title from the posting wherever it fits your history.
Certifications. “AWS Certified Solutions Architect”, “CKA”, “Google Professional Data Engineer”. They are specific and easy to search for.
Domain terms. The vocabulary of the business: “payments”, “PCI DSS”, “HIPAA”, “ad tech”, “KYC”, “real-time bidding”. These show you have shipped in that business, which a stack list alone can’t.
Soft skills. “Cross-functional collaboration”, “mentoring”, “stakeholder management”. Include the ones the posting names, but expect them to count for little on their own, since most applicants claim them.
How to pull keywords from a job description
1. Read the posting once, without marking anything
Get the shape of the role: the team, the seniority, and whether the work is greenfield or a legacy migration. Those two postings want different bullets from the same history.
2. Split required from preferred
Most postings label these sections, or separate them with “must have” and “nice to have”. Required terms go into your resume wherever you can back them up. Preferred terms separate you from the candidates who only covered the basics, so add the ones you have.
3. Mark the nouns
Work through “Requirements”, “Qualifications” and “Responsibilities” line by line and mark languages, frameworks, tools, platforms, methods and domain terms. Verbs like “design” and “own” matter less than the nouns beside them: “design distributed systems” gives you “distributed systems”.
4. Note the repeats
A term that appears three times is one the hiring manager cares about. That term belongs in your summary, in at least one experience bullet, and in your skills list.
5. Match their phrasing
The posting says “observability”; your resume says “monitoring”. The posting says “RESTful APIs”; your resume says “web services”. A keyword search treats those as different things. Use the posting’s word wherever it describes what you did.
6. Or hand steps 2 to 5 to your LLM
Paste the posting into Claude or ChatGPT with a prompt like this:
List the required skills, preferred skills, tools and domain terms in this job description. Keep the exact wording from the posting. Mark any term that appears more than once.
Then compare the list against your resume. Resume Matcher packages this step. It is a free, open-source (Apache 2.0) AI harness you download and run on your own machine. You connect the model you already use, whether Claude, ChatGPT, Gemini, DeepSeek or a local model through Ollama, and that model extracts the required skills, preferred skills and keywords from the posting before it drafts edits to your resume. It is used by over 200,000 job seekers, and Stanford researchers used it as the resume scorer in an ICML 2025 paper.
Where to place keywords in your resume
Most recruiters skim top-down: summary first, then your most recent role, then the skills list. Put your strongest matches where they look first.
Summary. Two or three sentences at the top that carry your top four or five keywords in plain prose. “Backend engineer with six years building payment APIs in Go and PostgreSQL on AWS, with on-call ownership of production services” names a role, a domain, three technologies and a practice in one sentence.
Experience bullets. Most keywords belong here, attached to something you did. “Responsible for backend services” gives a search nothing to find. “Migrated three Django services to FastAPI and cut p95 latency on the checkout endpoint” names two frameworks, a practice and an outcome. Open with the verb, then name the tool and the result.
Skills section. A plain list, grouped: Languages, Frameworks, Infrastructure, Data. List the tools you can be interviewed on. If the posting names both a tool and its ecosystem, list both: “Git” and “GitHub”, “Kubernetes” and “EKS”.
Job titles. If your official title was “Member of Technical Staff” or something a startup invented, add the standard title in parentheses: “Member of Technical Staff (Backend Engineer)”. Keep the real title so a background check matches.
Education and certifications. Write the full name and the abbreviation: “Certified Kubernetes Administrator (CKA)”. Recruiters search for either form.
Common resume keyword mistakes
Stuffing. Pasting the posting’s full requirements list into your skills section, including tools you have not used. Recruiters read the skills list against your experience bullets, and a skill with no bullet behind it invites an interview question you will fumble. List what you could discuss for ten minutes.
Keywords the parser can’t read. Text inside images, text boxes, multi-column tables and page headers often comes out scrambled or missing when a parser converts your file. Keep skills and titles in the main body as plain text, and export a PDF with a real text layer rather than a scan.
One resume for all postings. The posting is a cheat sheet. Sending the same resume to each one throws it away. Keep a master resume (CV) with everything you have done, and cut a tailored copy for each application.
Acronyms without the full term. Recruiters search for both “CI/CD” and “continuous integration”. Write the full term once, then use the acronym.
White text. Hiding a block of keywords in white font or 1pt text is an old trick. A recruiter sees it the moment they select the text or the parser strips the formatting, and some systems flag it. You risk a quiet rejection for terms that still have no experience behind them.
Keyword examples for software engineering roles
These are example lists, grouped by role. The best keywords for a resume are the ones in the posting in front of you, so treat these as a starting pool: pick the ones you have used and leave the rest. Software developer, software engineer and SDE postings draw from the same pool, so the same tables serve all three titles.
Backend
| Skills and tools | Practices | Impact verbs |
|---|---|---|
| Java, Go, Python, Node.js, Spring Boot, Django, FastAPI, PostgreSQL, MySQL, Redis, Kafka, RabbitMQ, gRPC, REST, GraphQL, Docker, AWS | API design, microservices, distributed systems, caching, database indexing, event-driven architecture, OAuth 2.0, rate limiting, integration testing | Built, designed, migrated, scaled, reduced latency, cut costs, consolidated, hardened, documented |
Frontend
| Skills and tools | Practices | Impact verbs |
|---|---|---|
| React, TypeScript, Next.js, Vue, Angular, Tailwind CSS, Redux, Vite, Webpack, Jest, Playwright, Cypress, Storybook, Figma | Component architecture, state management, accessibility (WCAG), responsive design, Core Web Vitals, server-side rendering, design systems, cross-browser testing | Rebuilt, redesigned, launched, standardized, refactored, improved load time, reduced bundle size, mentored |
Full-stack
| Skills and tools | Practices | Impact verbs |
|---|---|---|
| TypeScript, Node.js, React, Next.js, Python, PostgreSQL, Prisma, MongoDB, Redis, REST, GraphQL, Docker, Vercel, AWS, Supabase | End-to-end feature ownership, schema design, third-party API integration, authentication, CI/CD, code review, agile delivery, product analytics | Delivered, owned, integrated, prototyped, automated, replaced, maintained, debugged, cut time to ship |
Data and ML
| Skills and tools | Practices | Impact verbs |
|---|---|---|
| Python, SQL, pandas, PyTorch, TensorFlow, scikit-learn, Spark, Airflow, dbt, Snowflake, BigQuery, Hugging Face, MLflow, LangChain, vector databases | Feature engineering, model evaluation, A/B testing, ETL/ELT pipelines, experiment tracking, fine-tuning, RAG, data quality, MLOps | Trained, evaluated, deployed, modeled, cleaned, benchmarked, improved accuracy, productionized, analyzed |
DevOps and SRE
| Skills and tools | Practices | Impact verbs |
|---|---|---|
| Kubernetes, Terraform, AWS, GCP, Azure, Docker, Helm, Argo CD, GitHub Actions, Jenkins, Prometheus, Grafana, Datadog, Linux, Bash, Ansible | Infrastructure as code, CI/CD pipelines, observability, incident response, SLOs and error budgets, autoscaling, cost optimization, disaster recovery, security hardening | Provisioned, automated, migrated, containerized, monitored, decommissioned, reduced MTTR, cut cloud spend, improved uptime |
Use the practices column for your bullets and summary, the tools column for your skills section, and the verbs to open each bullet. A verb with a tool and a result beside it (“Migrated the ingestion pipeline from cron jobs to Airflow and cut the nightly run time in half”) is one line that carries three keywords.
How to check your keyword coverage
By hand
Open the posting and your tailored resume side by side. For each required term, search your resume for it (Ctrl+F or Cmd+F) and mark it present or missing. For each missing term, decide whether it is true of you. Add a bullet for the true ones and leave the rest alone. Then repeat for the preferred list. A typical posting takes under ten minutes.
You can also paste both documents into your LLM and ask which terms from the posting are absent from the resume. Check its answer against the document, since models miss terms and sometimes report a term as missing when it is there.
With Resume Matcher
After you tailor a resume, open the JD Match tab in the builder. It shows the posting beside your resume, with the percentage of the posting’s meaningful words (code removes common words like “team” and “experience” first) that also appear in your resume, and it highlights those words in the text. The number is plain keyword overlap calculated by code, with no AI involved, and it predicts nothing about how any employer’s ATS will rank you. Its ATS Check tab tests something else: whether software can read the text of your exported PDF. There is no hosted version to upload your file to. Read the percentage as a quick check on vocabulary, and the highlights as a map of which of the posting’s words you already use.
The tailoring step that runs before this has guardrails. Code locks your employers, titles, dates and degrees, reverts any new number the model introduces, and flags any skill the model adds from the posting as a high-risk change in the preview, before you save. The full list is in the features docs.
A realistic target
A full match is rare and unnecessary. Aim for zero missing terms for skills you have, and zero added terms for skills you don’t. If the posting wants five years of Kubernetes and you have none, the word on your resume buys you an interview question you can’t answer. If you ran Kubernetes for three years and left it off, adding it is the whole job.
Keep the master, tailor the copy
Keywords connect your experience to the posting’s vocabulary. The method works for any field; the tables above cover software, and the steps are the same for finance or healthcare. For the full workflow from master resume to tailored PDF, read how to match your resume to a job description.
If this post helped, star Resume Matcher on GitHub. Saurabh Rai builds it; follow him on GitHub, X and LinkedIn.
[This article was drafted, edited and formatted with the help of AI. Product facts were checked against the Resume Matcher source code, and outside sources are linked where they are used.]
Enjoyed this post? Star Resume Matcher on GitHub and follow along