How to write a software engineer resume that passes ATS in 2026
This is the practical, recruiter-tested structure for a software engineer resume that passes the ATS and survives the 7-second human skim. No fluff, no fake metrics — just the format and signals that get callbacks.
The structure that works
- Header — name, role-target title, location, email, LinkedIn, GitHub. No photo, no full address.
- Summary (2–3 lines) — seniority + domain + stack + one headline achievement. Skip "passionate engineer."
- Skills — a clean, scannable block of real, role-relevant tools (languages, frameworks, infra). This feeds the ATS.
- Experience — reverse chronological, 3–5 impact bullets per recent role.
- Projects — 1–3 with real outcomes and links (especially if early-career).
- Education / certifications — concise.
Single column, always
Two-column templates look great and parse terribly. Use a single-column, text-based layout with standard section headings ("Experience," "Skills"). This is the #1 mechanical fix — see the ATS keyword gap guide for why parsing matters so much.
Write impact bullets, not duties
Use the Action + Tech + Impact formula: what you did, how, and the measurable result. Example: "Migrated a monolith to 8 microservices (Go, gRPC, k8s), cutting deploy time 70% and incident rate 35%." Lead with numbers where you have them.
Make your GitHub work for you
For engineers, GitHub is evidence. But a bare profile link does little. Pull real signal into the resume: the project's purpose, stack, scale, and your specific contribution. "Maintainer of an open-source CLI (1.2k stars, 40 contributors)" is a credibility anchor a recruiter can verify. HMLens can auto-analyze your top repos and surface metrics worth featuring.
Keywords: mirror the role
Match the exact terms from the jobs you're targeting for skills you actually have. If roles ask for "distributed systems," "observability," and "TypeScript," those exact phrases should appear naturally in your skills and bullets — not as a stuffed list.
See your own resume the way a recruiter does
Get your free Interview Readiness Score in 60 seconds — scored across 16 dimensions, with the exact red flags holding you back. No signup to see your score.
Get my free score →Seniority signal
Juniors: emphasize shipping, learning velocity, and concrete projects. Mid-level: ownership of features/systems and measurable impact. Senior+: scope, ambiguity, cross-team influence, mentorship, and business outcomes. The same achievement framed at the wrong level gets rejected — make the scope obvious.
Length and polish
One page for most engineers under ~10 years. Consistent tense and date formats. No typos. Export to a clean PDF (the ATS-safe kind — text, not an image). A finished, recruiter-grade PDF is part of what HMLens generates for you automatically.
The SWE resume checklist
- Single-column, text-based layout, standard headings
- Summary with seniority + stack + headline win
- Skills block mirrors target-role keywords
- Every bullet has a quantified or contextual impact
- Top project surfaced early; GitHub signal pulled in
- Scope matches the level you're applying for
- One page, consistent formatting, clean PDF export
Want this checked automatically against your target role? Run your free Interview Readiness Score — it scores all of the above across 16 dimensions and tells you exactly what to fix first.
Frequently asked questions
See your resume the way a recruiter does.
Free Interview Readiness Score across 16 dimensions. No signup to see your score.