Test your resume against a job description like a recruiter
In this article (5 sections)
Related programme: the Data Analytics with Generative AI course (3–4 months; ₹90,000 (inclusive of GST) · EMI from ₹4,000/month).
To test a resume against a job description, extract every skill and responsibility term from the posting, write down the spellings a recruiter would plausibly search for, and check whether each one appears in your resume with evidence next to it. The gaps fall into three groups: skills you have but did not name, skills you named in a different form, and skills you do not have.
How a recruiter search actually looks
On most job portals and in most applicant tracking systems, a recruiter types a few terms, often combined with AND, OR and NOT, and adds filters for location, experience and notice period. A typical search for an analyst role might be:
("data analyst" OR "MIS analyst") AND SQL AND ("power bi" OR powerbi) AND excelTwo consequences follow. First, a missing term can remove you from the results entirely, not just rank you lower. Second, the recruiter chooses the terms, usually from the job description in front of them, so the posting is your best guide to the vocabulary.
The manual method in four passes
Pass 1, extract. Print or copy the job description. Highlight every tool, technique and task noun: SQL, Advanced Excel, Power BI, DAX, MIS reports, root cause analysis, stakeholders, A/B testing.
Pass 2, list variants. For each term, write the forms someone might search. "Power BI" and "PowerBI". "A/B testing" and "experiments". "MIS" and "management information system".
Pass 3, find. Search your resume for each variant (Ctrl+F in the PDF is fine). Mark each term yes or no.
Pass 4, classify each no.
| Situation | What to do |
|---|---|
| You did it, but described it differently | Add the posting's term to the existing bullet |
| You used a different spelling | Switch to the posting's spelling |
| You have the skill but never mentioned it | Add a bullet with evidence |
| You do not have the skill | Leave it out; decide whether to learn it |
A script that does passes 3 and 4 for you
If you apply to many roles, the manual check gets tedious. This short Python script uses only the standard library. The job description and resume are synthetic examples; paste your own text into the two strings.
import re
# Synthetic job description and resume text. Replace with your own.
jd = """We are hiring a Data Analyst. Must have strong SQL and Advanced Excel.
Experience with Power BI dashboards and DAX is required. Knowledge of Python
(pandas) is a plus. You will build MIS reports, perform root cause analysis and
present insights to stakeholders. Familiarity with A/B testing preferred."""
resume = """Data Analyst trainee. Wrote SQL queries with joins and window functions.
Built a PowerBI dashboard for returns. Used Excel pivot tables and XLOOKUP.
Cleaned data in Python using pandas. Presented findings to the store team."""
# Each skill maps to the spellings a recruiter might search or you might write.
skills = {
"SQL": ["sql"],
"Advanced Excel": ["advanced excel", "excel"],
"Power BI": ["power bi", "powerbi"],
"DAX": ["dax"],
"Python": ["python"],
"pandas": ["pandas"],
"MIS reports": ["mis"],
"Root cause analysis": ["root cause"],
"Stakeholders": ["stakeholder"],
"A/B testing": ["a/b test", "ab test", "experiment"],
}
def found(text, variants):
text = text.lower()
hits = []
for v in variants:
if re.search(r"(?<![a-z])" + re.escape(v) + r"(?:s|ing|ed)?(?![a-z])", text):
hits.append(v)
return hits
print(f"{'Skill':<22}{'In JD':<8}{'In resume':<12}Resume spelling")
for skill, variants in skills.items():
in_jd = bool(found(jd, variants))
hits = found(resume, variants)
if not in_jd:
continue
print(f"{skill:<22}{'yes':<8}{('yes' if hits else 'NO'):<12}{', '.join(hits)}")Output:
Skill In JD In resume Resume spelling
SQL yes yes sql
Advanced Excel yes yes excel
Power BI yes yes powerbi
DAX yes NO
Python yes yes python
pandas yes yes pandas
MIS reports yes NO
Root cause analysis yes NO
Stakeholders yes NO
A/B testing yes NO The regular expression matches whole words and allows simple endings like "s" or "ing", so "stakeholder" also catches "stakeholders".
Reading the result honestly
The script is only a checklist. Here is how the fictional candidate should act on each gap:
- Advanced Excel: matched only "excel". Her XLOOKUP and pivot work qualifies, so she changes the skills line to "Advanced Excel (pivot tables, XLOOKUP, Power Query)".
- Power BI: matched, but through "PowerBI". She changes to the posting's spelling.
- DAX: she wrote two measures in her dashboard project but never said so. She adds "wrote DAX measures for net revenue and return rate".
- Stakeholders: she did present to a store team. She rewrites that bullet: "Presented findings to store stakeholders".
- MIS reports and root cause analysis: she has done neither in a real sense. She leaves them out and prepares to say so honestly if asked.
- A/B testing: "preferred", not required, and she has not done it. She leaves it out.
Final coverage: eight of ten, with every match backed by a real bullet. That is a better position than ten of ten with two claims she cannot defend.
Limits of keyword matching
- A resume stuffed with terms and no evidence may pass the search and fail the human read, which usually takes well under a minute.
- Filters you cannot see (location, notice period, experience range) can exclude you even at 100% keyword match. Keep portal profile fields accurate, as described in our Naukri profile guide.
- Different tools handle spelling, stemming and phrases differently. The script approximates this; it does not replicate any specific system.
For a quicker first pass, the free skill check compares your resume with a target role and lists matched and missing skills. Then use the line-by-line method in tailoring a resume to a job description to rewrite the bullets. If DAX and Power BI are the recurring gaps, the Data Analyst programme builds both through project work.
Frequently asked questions
Should I copy the job description's words into my resume?
Use the same terms for skills you genuinely have, because recruiters search with those words. Do not paste phrases for skills you lack; a keyword match gets you a call, and the call is where an unsupported claim fails.
Does "PowerBI" match "Power BI" in a recruiter search?
It depends on the search tool, and you cannot see how a given tool handles it. The safe choice is to use the spelling the job description uses, and where two spellings are both common, include the standard one.
Pankit Kumar has 10 years in Data Science & AI, building and shipping production systems in regulated pharma and clinical environments. He is a freelance trainer at Boston Institute of Analytics, AnalytixLabs and Scaler, and has taught this material to thousands of working professionals.
This article is part of our Data Analytics with Generative AI programme — 3–4 months. The full analyst stack — Excel, SQL, Power BI and Python pipelines — then a generative-AI layer you can prove is right.
Explore Data Analytics with Generative AI