Hard skills are the specific, teachable, measurable abilities and tools you can prove you have: Python, Spanish, financial modeling, welding, Adobe Illustrator, a forklift certification. Soft skills are how you work with people. The rule for your resume is simple. List the hard skills the posting actually asks for and that you can genuinely back up, put them in a skills section, and then prove the important ones inside your experience bullets. Listing a hard skill you can't defend in an interview is the fastest way to torch your credibility, so don't do it.
I read job descriptions all day for this product, and the hard-skills section is where I see the most wasted effort. People either dump every tool they've ever opened, or they list things so vague ("Microsoft Office," "communication") that the line carries no information. This post is the version I'd give a friend: what counts as a hard skill, how to choose which ones to list, where they go, and a concrete list of examples by field you can actually pull from.
A hard skill is teachable and checkable. You can take a course in it, get certified in it, or be asked to demonstrate it on the spot. Python, SQL, GAAP, French, CNC machining, Figma, IV insertion. Someone could sit you down and verify it in twenty minutes.
A soft skill is a trait, the way you operate. Communication, leadership, adaptability, conflict resolution. Real and valuable, but you can't certify them and a recruiter can't verify them from a bullet that just asserts them. That's why soft skills belong proven inside your bullets, not listed as a row of adjectives.
The quick test: if you can put a number, a tool name, a certification, or a language next to it, it's a hard skill. If you can only describe it ("good at," "strong," "skilled in"), it's a soft skill and it needs a story, not a list entry.
Don't list every hard skill you have. List the ones this posting cares about and you can defend. That's it.
The mechanism is the same one I wrote about in how to tailor your resume. Read the job description, pull out the named tools and abilities, and mirror the ones that are genuinely true for you. If the posting says "React," write React, not "JavaScript frameworks." If it says "Tableau," don't write "data visualization tools." An ATS matches strings, and a recruiter is scanning for the exact words they wrote. Your hard-skills section is the easiest place in the whole resume to win that match, because it's just a list. There's no prose to hide behind.
Three filters before a skill makes the cut:
That second filter is the one people skip, and it's the dangerous one. More on that below.
Hard skills live in two places on a strong resume, and they need to agree with each other.
A dedicated skills section. Usually near the top or just under your summary. This is the scannable list, the ATS bait, the fifteen-second read. Group it so it's not a wall of commas. For a technical role that might look like:
Languages: Python, JavaScript, SQL Frameworks: React, Node.js, Django Tools: Docker, AWS, Git, Postgres
Grouping does two things: it's easier for a human to scan, and it signals you understand the difference between a language and a tool, which is its own small credibility point.
Proven inside your experience bullets. This is the part most people miss. A skill listed in your skills section is a claim. The same skill shown in a bullet, attached to an outcome, is evidence. "Python" in a list is fine. "Built a Python pipeline that cut nightly report time from 3 hours to 20 minutes" is the thing that gets you the callback. List the skill up top, then prove the two or three that matter most down in your experience. The ones you don't prove are still useful for the keyword match, but the important ones should appear in both places.
Here's a working list grouped by field. Treat it like a dictionary, not a menu. Pull the ones that match the role you're applying to and the work you've actually done.
Tech / engineering: Python, Java, JavaScript, TypeScript, SQL, React, Node.js, AWS, Azure, Docker, Kubernetes, Git, CI/CD, REST APIs, GraphQL, Terraform, Linux.
Data / analytics: SQL, Python (pandas, NumPy), R, Excel (pivot tables, Power Query), Tableau, Power BI, Looker, dbt, statistical modeling, A/B testing, ETL pipelines, data warehousing (Snowflake, BigQuery).
Marketing: Google Analytics (GA4), Google Ads, Meta Ads Manager, SEO, SEM, HubSpot, Salesforce, Mailchimp, Klaviyo, copywriting, conversion rate optimization, marketing automation, Looker Studio.
Finance / accounting: Financial modeling, GAAP, IFRS, QuickBooks, SAP, Excel (advanced), forecasting, variance analysis, FP&A, accounts payable/receivable, tax preparation, Bloomberg Terminal, valuation (DCF).
Healthcare: Epic, Cerner, EHR/EMR systems, ICD-10 coding, CPT coding, phlebotomy, IV insertion, BLS/ACLS certification, medication administration, HIPAA compliance, patient assessment, vital signs monitoring.
Skilled trades: Welding (MIG, TIG, stick), CNC machining, blueprint reading, HVAC certification, electrical wiring, plumbing, forklift operation (certified), OSHA 10/30, hydraulics, PLC programming, equipment maintenance.
Design: Figma, Adobe Photoshop, Illustrator, InDesign, After Effects, Sketch, prototyping, wireframing, design systems, typography, UI/UX, motion design, HTML/CSS.
Notice that the strong entries name a specific tool, standard, or certification. "Welding" is okay. "Welding (MIG, TIG, stick)" is better, because it answers the next question before it's asked. For more role-specific phrasing, the resume examples by role library shows how these land in real bullets, and the resume keywords list covers the vocabulary side in depth.
This is the one thing in the post I'd underline twice. Every hard skill on your resume is a promise that you can talk about it under questioning.
If you write "Python" because the posting wants it, but you've run exactly one tutorial, here's what happens. You pass the ATS filter. You get the screen. Then a technical interviewer says "tell me about something you built with Python," and you have nothing real to say. You don't just lose that role. You lose trust with a recruiter who might have had three other jobs for you next quarter. They remember the name.
The same goes for "fluent Spanish" when you're conversational at best, or "financial modeling" when you've only ever filled in someone else's template. The cost of getting caught is always higher than the cost of leaving it off. There is no hard skill so impressive that it's worth being caught not having it.
So the honest version of the rule: list the hard skills you can demonstrate, in the words the posting uses, and prove the important ones in your bullets. If you want a quick read on whether your skills line up with a specific posting, run both through the free ATS checker. It'll show you matched versus missing skills side by side. Just remember the goal isn't to match every skill. It's to match the ones you can stand behind when someone asks you to.
Hard skills are specific, teachable, measurable abilities and tools you can prove you have, like Python, financial modeling, welding, or a forklift certification. They differ from soft skills, which are traits like communication or leadership that you can't certify. On a resume they belong in a dedicated skills section and, for the important ones, proven inside your experience bullets with a real outcome attached.
There's no fixed number, but list the hard skills the posting actually asks for and that you can genuinely back up, rather than every tool you've ever touched. A focused list of 8 to 15 relevant, specific skills beats a wall of 40 vague ones, because filler dilutes the skills that matter for the role. The right count is however many are both true for you and relevant to the job in front of you.
Be careful here. Only list a skill if you can defend it in an interview when someone asks you to walk through a project where you used it. If you're genuinely still learning something, leave it off or label it honestly (for example, "familiar with"), because passing the ATS filter on a skill you can't discuss gets caught in the first technical screen and costs you the recruiter's trust for future roles too.
Paste a job description and a resume at /try. No signup, tailored resume in under a minute.