A weak resume means no interviews, no matter how good your skills are. Recruiters spend 6β10 seconds on an initial scan. ATS systems may reject you before a human ever sees the document. Here's how to write a resume that survives both.
The One-Page Rule (And When to Break It)
0β7 years of experience: One page, no exceptions. Recruiters interpret multi-page resumes from early-career candidates as poor editing judgment.
8+ years of experience: Two pages is acceptable, but the second page must be substantive β not white space and a list of technologies.
The Right Structure
[Name] [Email] | [Phone] | [LinkedIn] | [GitHub] | [Location or "Remote"]
EXPERIENCE
[Company], [Title] [Start date β End date]
β’ [Achievement bullet]
β’ [Achievement bullet]
PROJECTS (if < 5 years experience or strong projects)
[Project Name] | [Tech stack]
β’ [What it does, what you built, impact]
EDUCATION
[Degree], [University], [Year]
SKILLS
Languages: Python, Go, TypeScript
Frameworks: React, FastAPI, Next.js
Tools: Kubernetes, PostgreSQL, Redis, AWS
No objective statement. No "references available upon request." No headshot (especially for US applications).
The Achievement Bullet Formula
This is the most important section of this guide. Weak bullets describe what you did. Strong bullets show what you achieved.
Weak (responsibility-based):
Worked on the backend API for the payments service
Strong (achievement-based):
Redesigned the payments API from a synchronous monolith to an async event-driven architecture, reducing P99 latency from 2.1s to 180ms and enabling the team to handle 3Γ peak traffic without additional infrastructure cost
The formula:
[Action verb] + [what you did] + [measurable result]
Strong action verbs for engineers: Built, Designed, Architected, Reduced, Increased, Eliminated, Automated, Migrated, Refactored, Led, Shipped, Deployed, Implemented, Optimized
Metrics that impress:
- Latency: "reduced P99 from X to Y"
- Cost: "reduced AWS bill by $X/month" or "saved $X/year"
- Scale: "serves Xk requests/sec" or "handles XM daily active users"
- Coverage: "increased test coverage from X% to Y%"
- Time: "shipped X weeks ahead of schedule"
- Team: "mentored X engineers", "led a team of X"
ATS Optimization (Without Keyword Stuffing)
Applicant Tracking Systems (ATS) parse your resume before a human reads it. To pass:
- Use standard section headers: "Experience", "Education", "Skills" (not "What I've Done", "My Journey")
- Use a single-column layout β multi-column resumes break ATS parsing
- Save as PDF (unless the job posting specifies Word)
- Include exact keywords from the job description β if they say "Kubernetes", don't just say "K8s"
- Don't put critical information in headers/footers β ATS often ignores them
Quick ATS check: Paste your resume text into a plain text editor. If it reads clearly, it will parse correctly.
The Skills Section
Keep it factual and honest:
- Only list tools you could discuss confidently in an interview
- Group by category: Languages, Frameworks, Tools, Platforms
- Don't list "Microsoft Office" or "Git" β these are assumed
- Don't list proficiency levels ("Expert", "Beginner") β they're subjective and waste space
What Recruiters Look For in 6 Seconds
In their initial scan, a recruiter checks:
- Company names β Have you worked somewhere they recognize?
- Title β Does your title match what they're hiring for?
- Tenure β Do you have significant stays or lots of job-hopping?
- Tech stack β Is it relevant to the role?
- Education β Does it match (if they care)?
Your resume needs to pass this scan before the content matters.
Common Mistakes That Get Resumes Rejected
- Dense paragraphs instead of bullets β Hard to scan, gets skipped
- Acronyms without spelling out β ATS and junior recruiters may not know your internal project codenames
- Dates without months β "2022 β 2023" looks like you're hiding a short tenure; use "Jan 2022 β Mar 2023"
- No GitHub link β For engineers, this is a missed opportunity to show work
- Generic bullets β "Worked on various features" tells a recruiter nothing
Tailoring Your Resume
A generic resume is less effective than a tailored one. For roles you really want:
- Match your bullet points to the specific problems mentioned in the job description
- Reorder your skills section to lead with what the role emphasizes
- This takes 15 minutes per application and meaningfully improves callback rate
CareerLift.ai includes a resume tailoring tool that automatically aligns your resume to a specific job description β surfacing keyword gaps and suggesting improvements before you apply.