Skills section: what to include and what to leave out
30 min · Beginner
Need help? Ask a tutor on WhatsApp (opens in a new tab)An interviewer picks a skill from your resume and asks "Tell me more about this one." Every extra skill is a possible question, so the skills section decides which questions you will face.
Grouping skills: languages, libraries, databases, tools
A skills section is a grouped list of the technologies and subjects you can use, with similar skills on one labelled line so a reader finds "Python" or "MySQL" at a glance.
Here is a messy skills list as many freshers write it, and the grouped version a reviewer can scan in seconds.
Example 1 · A messy list grouped
Skills: python, html, ms word, c, teamwork, mysql, git, excel, sql,hard working, pytest, vs code, leadership, oops, dbms, communicationSKILLS Languages: Python, SQL, C (basic) Libraries and testing: pytest Databases and tools: MySQL, Git, GitHub, VS Code Core subjects: OOP, DBMS, Data Structures and Algorithms
What this code does
- Soft skills (teamwork, leadership, hard working) and office tools (MS Word, Excel) are removed: they are better shown through projects and activities than listed.
- Names are corrected (Python, OOP) and grouped, with the strongest first. "(basic)" marks honest levels.
Four or five groups fit a software fresher: languages, libraries and testing, databases, tools and platforms, and core subjects. Inside each group, put your strongest skill first and write the official names: Python, SQL, MySQL, Git, GitHub, not "pyhton", "my sql" or "github.com" when you mean GitHub.
A typical block:
- Languages: Python, SQL, C (basic).
- Libraries and testing: pytest, json, csv.
- Databases: MySQL. Tools: Git, GitHub, VS Code, pip, venv.
- Core subjects: DSA, OOP, DBMS, Operating Systems, Computer Networks.
List only skills you can be questioned on
The three-question rule tests a skill before you list it: can you say what it is, show where you used it, and answer one tricky question about it? If not, remove it or mark the level honestly.
The rule applied to two skills from a Python fresher's list: pytest passes, Kubernetes fails.
Example 2 · The three-question rule applied
Skill: pytest1. What is it? "A Python tool that runs functions named test_ and reports which ones fail."2. Where did I use it? "45 tests for the Online Store API, run before every commit."3. One tricky question? "Fixture: it builds the data a test needs, such as a sample cart, and is passed in by name."Skill: Kubernetes1. What is it? "Something for running containers at scale."2. Where did I use it? (nowhere)3. One tricky question? (cannot answer)pytest: keep Kubernetes: remove until used in a small project
What this code does
- pytest passes all three questions, so it stays. Kubernetes fails two, so listing it would invite questions you cannot answer.
- Run this check for every skill before each interview season; skills you have not touched in a year may need a refresh.
Every skill you list is a promise. If an interviewer asks "What is a fixture in pytest?" because you wrote pytest, you should be able to answer. Run the rule for each skill before every interview season; skills you have not touched in a year may need a refresh.
Revise anything that fails by using it in a small project first: Managing packages with pip and requirements.txt (opens in a new tab), Quick checks with assert (opens in a new tab).
No skill bars or percentage ratings
A skill bar is a bar, star rating or percentage such as "Python 90%" that rates your level. It has no defined scale, so it proves nothing, and screening software usually cannot read it.
Skill bars give numbers with no meaning. Here are four bars and the evidence-based version that replaces them.
Example 3 · Skill bars replaced with evidence
Python ██████████░ 90%Python ███████░░░░ 70%MySQL ████████░░░ 80%Python █████░░░░░░ 50%Languages: Python (3 projects, 300+ DSA problems), SQL, C (basic) Libraries: pytest (45 tests for the Online Store API) Databases: MySQL (schema design, indexes, transactions)
What this code does
- The bars give made-up numbers with no meaning; the rewrite gives facts the reader can check against the projects section.
- Short brackets are optional. Many good resumes list skills plainly and let projects prove the level.
"90% of what?" is the first reaction, followed by "what is the missing 10%?". If you want to show level, use words tied to evidence: "Python (used in 3 projects)", or separate lines for proficient and familiar skills. Most freshers need no level labels at all; the projects show the level.
Certifications and coursework: when they help
Relevant coursework means degree or online subjects that match the role, such as DSA, DBMS and OOP in Python. It helps freshers from non-CS branches show the foundation a job needs.
This program keeps only certificates that were assessed and relevant to a Python role.
Example 4 · Keeping only relevant certifications
certs = [ ("Programming, Data Structures and Algorithms using Python", "NPTEL", True, True), ("Database Management System course", "University online course", True, True), ("1-hour webinar: Intro to AI", "College club", False, False), ("Photoshop basics", "Online course", True, False), ("Participation: national hackathon", "Organiser", False, True),]
print("CERTIFICATIONS")for name, issuer, assessed, relevant in certs: if assessed and relevant: print(f"- {name}, {issuer}")dropped = sum(1 for c in certs if not (c[2] and c[3]))print(f"({dropped} left out; the hackathon belongs under Achievements)")CERTIFICATIONS - Programming, Data Structures and Algorithms using Python, NPTEL - Database Management System course, University online course (3 left out; the hackathon belongs under Achievements)
What this code does
- Only certificates that were assessed (an exam or graded project) and relevant to a Python role stay in this section. The
andkeeps an item only when both facts are true. - A hackathon is real evidence but not a certification, so it moves to Achievements with its result. A webinar and an unrelated course are dropped.
Certifications help when they are relevant to the job, show real assessed learning and are known to employers: for example a cloud fundamentals certificate for a cloud support role, or an Oracle Python certification. Certificates for attending a one-hour webinar add little; keep the two or three strongest. Coursework helps when a job lists specific subjects; CS students usually cover this through the core subjects line.
What to keep and drop:
- Keep: assessed certificates relevant to the role, with the issuing body and year.
- Drop: participation certificates, short webinars, unrelated topics.
- Non-CS branch: add "Relevant coursework: Data Structures, DBMS, OOP in Python (online, with projects)".
Matching skills to a job description
Tailoring means reordering and wording your true skills so the ones a job description asks for are easy to find, using its spelling. It never means adding skills you lack.
This program compares a job description (JD) with your skills: what matches, what is a gap and what is extra.
Example 5 · Matching skills to a job description
jd = ["Python", "SQL", "REST APIs", "MySQL", "Git", "Microservices", "AWS"]mine = {"Python", "SQL", "REST APIs", "MySQL", "Git", "VS Code", "pytest"}
matched = [skill for skill in jd if skill in mine]gaps = sorted(set(jd) - mine)extra = sorted(mine - set(jd))
print("Matched (put first):", ", ".join(matched))print("Gaps (learn, do not add yet):", ", ".join(gaps))print("Extra (keep, lower in list):", ", ".join(extra))print(f"Match: {len(matched)} of {len(jd)} JD skills ({100 * len(matched) / len(jd):.0f}%)")Matched (put first): Python, SQL, REST APIs, MySQL, Git Gaps (learn, do not add yet): AWS, Microservices Extra (keep, lower in list): VS Code, pytest Match: 5 of 7 JD skills (71%)
What this code does
- A set difference (
set(jd) - mine) gives the gaps andmine - set(jd)gives the extras. Matched skills go first in your list, in the JD's spelling. - Gaps are a learning plan, not resume additions. A real JD should be read in full; this exact-word match is a simplified first pass.
A job description (JD) lists the skills a role needs. Match the JD's spelling: if it says "Python" and "REST APIs", make sure those exact words appear where they are true for you. Never add a skill only because the JD lists it. Instead, note the gap, learn it, and add it after you have used it in a small project.
Next step
Check your understanding
12 quick questions