Why Format Matters
Recruiters spend 6 seconds scanning your resume. ATS systems spend 0.3 seconds parsing it. The right format ensures both can read your content.
The numbers:
- 6 seconds — Average time recruiters spend on first scan (EyeTracking Inc.)
- 0.3 seconds — ATS parsing time per resume (Jobscan, 2025)
- 75% of resumes rejected by ATS before reaching a recruiter (Jobscan, 2025)
- 98.8% of Fortune 500 companies use ATS (Jobscan, 2026)
Format isn't cosmetic. It's functional. A beautiful resume that ATS can't parse gets rejected. An ugly resume that ATS can parse gets seen.
The Ideal Structure
Header (5 seconds)
The header is the first thing both ATS and recruiters see. Get it right.
Include:
- Full name (First Last)
- Professional email ([email protected])
- Phone number (with country code if applying internationally)
- LinkedIn URL (linkedin.com/in/first-last)
- GitHub URL (github.com/first-last)
Don't include:
- Photo (US/UK employers don't expect it, ATS can't parse it)
- Full address (city + country is enough if needed)
- Date of birth
- Marital status
Why GitHub matters: GitHub shows you actually build things. Recruiters check GitHub activity. A GitHub profile with recent commits and pinned projects signals you're active.
Summary (2-3 lines)
Write this LAST. Summarize your biggest achievement, years of experience, and core tech stack.
Good:
Backend engineer with 3 years of experience building scalable APIs. Built payment processing system handling **$2M+** monthly transactions using Java, Spring Boot, and PostgreSQL. Reduced API latency by **40%** through query optimization and caching.
Bad:
Hardworking software engineer looking for opportunities to grow.
[object Object], It answers three questions in 2 lines — Who are you? What have you built? What's your tech stack? The numbers (**$2M+**, **40%**) force you to be specific.
Technical Skills
Group by category. Match the job description keywords exactly.
Example for a backend role:
- Languages: Java, Python, Go, TypeScript, SQL
- Frameworks: Spring Boot, gRPC, GraphQL, FastAPI
- Databases: PostgreSQL, MongoDB, Redis, DynamoDB
- Cloud & DevOps: AWS (ECS, Lambda, SQS), Docker, Kubernetes, CI/CD
- Concepts: Microservices, Event-Driven Architecture, REST API Design
Why grouping matters: ATS systems scan for category headers. If you list "Java, Python, Go" as a flat list, the ATS might not associate them with "Languages." Grouping tells the ATS exactly what each technology is.
Work Experience (reverse chronological)
Each role gets 3-5 bullet points. Every bullet follows XYZ format: "Accomplished X as measured by Y, resulting in Z."
Weak bullets (what most people write):
- Worked on the backend API
- Responsible for database management
- Improved application performance
Strong bullets (what gets interviews):
- Designed and built REST APIs using Spring Boot serving 10K+ daily requests with 99.9% uptime
- Optimized PostgreSQL queries reducing average response time from 800ms to 120ms, improving user satisfaction score by 35%
- Built real-time inventory sync system using Kafka and Redis, eliminating stock-out incidents by 95%
The difference: Weak bullets describe tasks. Strong bullets describe outcomes with numbers. Every bullet should answer: What did I build? What was the impact? How do I know?
Projects (if needed)
Include 2-3 projects if you're entry-level or switching careers. Each project gets 2-3 bullets.
Good project format:
[object Object], — Built a distributed caching layer using Go and consistent hashing, handling **10K+** requests/sec with 99.9% hit rate. Reduced database load by **60%**.
Bad project format:
Chat App — Built a chat application using Node.js
Why projects matter for entry-level: If you have 0-2 years of experience, projects are the only way to show you can build things. Recruiters look at GitHub activity, project complexity, and whether you shipped something real.
Education
- Degree, university, graduation year
- GPA only if above 3.5
- Relevant coursework only if entry-level (Data Structures, Algorithms, System Design)
Formatting Rules
Rule 1: Single Column
Why: ATS reads left-to-right, top-to-bottom. Two-column layouts confuse the parser. Text from the right column gets read in the middle of the left column.
What fails:
Left Column Right Column Experience Skills Software Engineer Java, Python
What works:
Experience Software Engineer — Company Name - Built APIs using Java and Spring Boot... Skills Languages: Java, Python Frameworks: Spring Boot
Rule 2: Standard Fonts
Use: Arial, Calibri, or Helvetica. 10-12pt size.
Don't use: Comic Sans, Papyrus, decorative fonts. They break ATS parsing and look unprofessional.
Rule 3: Consistent Spacing
Same margin everywhere (0.5-1 inch). Same bullet style. Same section spacing. Inconsistent spacing confuses ATS and looks sloppy.
Rule 4: PDF Format
Why PDF: Preserves layout across devices. What you see is what the recruiter sees.
Why not DOCX: Layout can shift between Word versions. Different operating systems render differently.
Exception: Some older ATS systems prefer DOCX. If the application portal specifically requests DOCX, use DOCX.
Rule 5: No Graphics
Icons, charts, images, infographics — ATS can't read them. They add visual noise without adding parseable content. Keep it text-only.
Common Mistakes
| Mistake | Why It Fails | Fix |
|---|---|---|
| Using tables | ATS reads left-to-right, top-to-bottom. Columns break the flow. | Use single-column layout. |
| Adding headers/footers | Most parsers ignore them completely. | Put contact info in the body. |
| Using .pages or .jpg | ATS can't read these formats. | Use PDF or DOCX. |
| Listing responsibilities | "Led team" says nothing. "Led 5 engineers to deliver X" says everything. | Add numbers and impact. |
| Fancy section names | "My Journey" doesn't match "Experience." | Use standard headers. |
| Multi-column layout | Text gets read in wrong order. | Single column. |
| Small font size | ATS might not parse 8pt text. | Use 10-12pt minimum. |
The XYZ Formula That Works
Every bullet point should follow this structure:
X = What you did (the action, the project, the feature) Y = How you measured it (latency, throughput, revenue, users, time saved) Z = What resulted (business impact, user impact, team impact)
Example breakdown:
Built payment processing system (X) handling 50K annually in support costs (Z).
More examples:
- Led migration from monolith to microservices (X), improving deployment frequency from weekly to daily (Y), reducing time-to-market for new features by 60% (Z)
- Automated CI/CD pipeline using GitHub Actions (X), reducing build time from 12 minutes to 4 minutes (Y), saving 20 hours/week across the team (Z)
Check Your Format
Our ATS checker identifies format issues instantly. See if your resume passes.
Need Expert Review?
Get feedback from a Recruiter, Manager, and Software Engineer. They'll review your resume from three perspectives — exactly how FAANG hiring works.
Related Articles
- FAANG Resume Checklist - 10 things your resume needs for top tech companies
- What Is ATS Scoring? - Understand how automated systems rank your resume
- Resume Keywords for Software Engineers - Keywords that pass ATS
- Common Resume Mistakes for Developers - Avoid these errors
Compare Tools
- ResumeSkool vs ChatGPT - Why ChatGPT alone won't get you interviews
- ResumeSkool vs Gemini - Purpose-built vs general-purpose AI
Is your resume good enough for FAANG?
Free FAANG-grade ATS check. 4,000+ engineers used it.
