Every resume guide tells you to tailor for each job. Fine. But you cannot tailor something that does not exist yet, and most people are tailoring a base resume that was broken to begin with. Wrong layout, responsibilities instead of results, a summary that could belong to anyone.
So start earlier. Build one solid base resume that parses cleanly, reads fast, and makes your value obvious. Then tailoring becomes ten minutes of swapping keywords, not an hour of rewriting. This is how to build that base, in the order I would build it.
First, picture the two readers
Your resume gets read twice. A parser reads it first, turning your layout into plain text and ranking it against the posting. Then a recruiter spends about 7.4 seconds on it, according to The Ladders' eye-tracking study. Around 98.8% of Fortune 500 firms run a parser (Jobscan, 2025), so you cannot skip the machine.
Build for both. Clean structure for the parser, obvious impact for the human in the top third of page one.
Skills sit high because both the parser and a hurried recruiter want your stack fast.
Step 1: Pick a format that survives parsing
Layout first, before a single word. Get this wrong and nothing else matters because half your content gets scrambled on the way in.
| Setting | Use | Avoid |
|---|---|---|
| Columns | Single column | Two-column, sidebars |
| Headings | Experience, Education, Skills | "My Journey," "What I Do" |
| Font | Arial, Calibri, Garamond, 10–11pt | Decorative or condensed fonts |
| File | PDF (unless DOCX requested) | Pages, scanned image, fancy templates |
| Length | 1 page under 7 yrs, 2 max above | 3+ pages |
Multi-column is the big one. Jobscan's testing found skills parsing accuracy drops to roughly 46% in two-column layouts versus 65% single-column. A pretty template can quietly eat half your skills section. Pull it into a plain text editor; if it still reads in order, you are safe.
Step 2: Get the section order right
Contact, summary, skills, experience, projects, education. Skills go high so the parser logs your stack early and the recruiter sees it without scrolling. One catch people miss: keep contact details in the document body. Headers and footers get dropped by some parsers, and a phone number nobody can read is a fast way to never hear back.
Step 3: Build the skills section like a pro, not a dump
Two ways to blow this. Too sparse ("Python, SQL") gives the parser nothing. Too dense (fifty tools, comma-separated) reads as keyword stuffing and signals zero prioritization. Categorize instead:
Languages: Python, Go, TypeScript, SQL
Frameworks: FastAPI, Django, React, Next.js
Infrastructure: Docker, Kubernetes, AWS (EC2, S3, Lambda, RDS)
Databases: PostgreSQL, Redis, MongoDB
Tools: Git, GitHub Actions, Terraform, Datadog
Lead each line with your strongest item. Applying for a Python role? Python is the first word under Languages. Small thing, but it is what a recruiter's eye lands on.
Step 4: Write bullets about results, not duties
This is where most resumes quietly die. A duty bullet describes the job. A result bullet describes you doing it well.
- Weak: "Developed and maintained backend services."
- Strong: "Cut API p95 latency from 1.2s to 180ms by rewriting the query layer and adding Redis caching."
Same job. One reads like a description, the other like a person who shipped something. The shape: what you did, how, and the number that proves it. Aim for a result on most bullets. Approximations are fine when you lack exact figures.
Step 5: Make the summary earn its space
"Results-driven engineer seeking a challenging role" appears on nearly every resume and says nothing. Two lines, specific to you:
Backend engineer, 6 years on distributed systems. Led a monolith-to-Go migration now serving 2M requests/day, and I am happiest on the performance-and-reliability side.
A small first-person aside makes it sound like a human, not a template. Cut anything a stranger could also write.
Step 6: Lay out each role for the skim
Job Title — Company Mon 2023 – Present
• Strongest result first
• Then 2–3 more, mixing scope and outcome
Best bullet first; the recruiter reads it and decides whether to keep going. Roles older than seven or eight years shrink to two lines or disappear. Relevance beats completeness.
Step 7: Check before you send
Do not apply blind. Run your base resume against two or three target postings and look at keyword overlap, flagged formatting, and missing required skills. PassTheBot scores this and lists the gaps in plain language. Fix the base once, then each application is a quick keyword swap.
Key takeaways
- Build one strong base resume; tailoring after that takes minutes.
- Single column always. Two-column can lose ~half your skills in parsing.
- Skills high, contact in the body, experience reverse-chronological.
- Most bullets should show a result, not a responsibility. That single change moves your interview rate most.
- Verify against real postings before applying.
FAQ
What is the best resume format for an ATS?
A single-column layout with standard headings, a common font at 10–11pt, saved as PDF unless the job asks for Word. Single column matters most: testing shows two-column resumes can drop skills parsing accuracy to about 46%.
Should skills go above or below experience?
Above, near the top. Parsers scan for skill keywords early and recruiters give a resume about 7.4 seconds, so a categorized skills block near the top helps both readers find your stack fast.
How many bullet points per job?
Three to five for recent roles, fewer for older ones. Lead with your strongest result. Roles past seven or eight years can shrink to two lines unless directly relevant.
Do I need a summary?
Only if it is specific. Two lines naming your strongest credential and focus beats a generic objective. If a stranger could put their name on it, cut it.
How long does building a base resume take?
Two to four hours done well, mostly on rewriting duty bullets into results. It pays back across every application, since tailoring afterward is fast.
Built your draft? Run it through PassTheBot for an ATS score and the exact gaps to fix, or get a Resume Roast for blunt section-by-section feedback before you send it anywhere.