Resume Structure & Layout
A well-structured resume guides the reader’s eye to the most important information. This guide covers the optimal structure for software engineering resumes.
The One-Page Rule
Your resume should be one page. Period.
Exceptions are rare:
- 10+ years of highly relevant experience
- Applying for senior/staff+ roles where breadth matters
- Academic CVs (different format entirely)
If you’re struggling to fit on one page:
- Cut less relevant experiences
- Reduce margins (minimum 0.5 inches)
- Use 10-11pt font (minimum)
- Remove filler words and redundant phrases
- Consolidate similar bullet points
Recommended Section Order
1. Header (Top of Page)
Include:
- Full name — Large, bold, 16-18pt
- Contact info — Phone, email, LinkedIn, GitHub, personal website
- Location — City, State (full address is outdated)
JANE DOE
San Francisco, CA | (555) 123-4567 | jane.doe@email.com
linkedin.com/in/janedoe | github.com/janedoe | janedoe.dev
Tips:
- Use a professional email (firstname.lastname@gmail.com, not xXx_gamer_xXx@hotmail.com)
- Make sure your GitHub has actual projects, not empty repos
- LinkedIn URL should be customized (linkedin.com/in/yourname, not a string of numbers)
2. Education
For new grads, education comes first. For experienced engineers, it can go at the bottom.
Include:
- Degree, Major — B.S. Computer Science, M.S. Data Science
- University name — Full official name
- Graduation date — Month, Year (or expected)
- GPA — Include if 3.5+ (or 3.3+ for top schools). Omit if lower.
- Relevant coursework — Only if directly relevant to the role (3-5 courses max)
- Honors — Dean’s list, cum laude, scholarships
B.S. COMPUTER SCIENCE | Stanford University | Expected June 2027
GPA: 3.8/4.0 | Relevant Coursework: Distributed Systems, ML, Algorithms
Tips:
- Don’t include high school once you’re in college
- Don’t list every course — be selective
- If GPA is below threshold, leave it off (no one will ask)
3. Technical Skills
Group skills into categories. Be specific and honest.
Languages: Python, Java, C++, JavaScript, TypeScript, SQL
Frameworks: React, Node.js, Django, Spring Boot, Flask
Tools: Git, Docker, Kubernetes, AWS (S3, EC2, Lambda), PostgreSQL, Redis
Concepts: REST APIs, Microservices, CI/CD, Agile, TDD
See Technical Skills for detailed guidance.
4. Experience
List in reverse chronological order. Each entry should include:
- Company name — Bold
- Role — Your title
- Dates — Month Year - Month Year
- Location — City, State (or Remote)
- 3-5 bullet points — Using STAR format with quantified impact
SOFTWARE ENGINEERING INTERN | Google | Mountain View, CA | May 2026 - Aug 2026
- Built a real-time data pipeline processing 2M+ events/day using Apache Kafka and Spark
- Reduced API latency by 40% by implementing Redis caching layer for frequently accessed queries
- Collaborated with 5-person team to ship 3 features across 2 sprint cycles
See Writing Bullets for detailed guidance.
5. Projects
2-4 projects that demonstrate your skills. Each should include:
- Project name — With link if available
- Tech stack — Key technologies used
- 2-3 bullet points — What you built, impact, technical challenges
REAL-TIME CHAT APPLICATION | Node.js, React, WebSocket, MongoDB
- Built a full-stack chat app supporting 500+ concurrent users with real-time messaging
- Implemented JWT authentication and rate limiting to prevent abuse
- Deployed on AWS EC2 with Docker, achieving 99.5% uptime over 3 months
See Projects for detailed guidance.
6. Additional Sections (Optional)
Only include if space allows and content is relevant:
- Leadership / Activities — Club roles, teaching, mentoring
- Awards / Competitions — Hackathons, coding competitions
- Publications — Papers, blog posts (if technical and relevant)
- Certifications — AWS, Google Cloud, etc.
Do NOT include:
- References (available upon request is unnecessary)
- Hobbies unless directly relevant
- Photo (in US/Canada tech resumes)
- Objective statements (outdated — use a summary only if you have 5+ years experience)
Formatting Guidelines
Fonts
- Sans-serif fonts for digital readability: Calibri, Arial, Helvetica, Roboto
- Size: Name 16-18pt, Section headers 12-14pt, Body 10-11pt
- Consistency: One font family throughout
Spacing
- Margins: 0.5 - 0.75 inches on all sides
- Line spacing: 1.0 - 1.15
- Section spacing: Consistent gaps between sections (6-12pt)
- Bullet spacing: Consistent (3-6pt between bullets)
Visual Hierarchy
- Use bold for company names and section headers
- Use consistent date formatting (all right-aligned)
- Use consistent bullet style (• or - throughout, not mixed)
- Use horizontal lines sparingly (one under header is enough)
File Format
- Always submit as PDF unless specifically asked for .docx
- File name:
FirstName_LastName_Resume.pdf - Keep file size under 1MB
- Ensure text is selectable (not an image)
ATS Optimization
See ATS Optimization for deep dive. Key points:
- Use standard section headers (Education, Experience, Skills, Projects)
- Avoid tables, columns, headers/footers, text boxes
- Use standard fonts
- Include keywords from the job description
- Don’t use images, icons, or graphics
- Avoid abbreviations without full text (write “Kubernetes (K8s)” on first use)
Resume Review Checklist
Before submitting, verify:
- Fits on one page
- No typos or grammatical errors
- Consistent formatting (dates, bullets, spacing)
- Contact info is correct and professional
- All links work (GitHub, LinkedIn, portfolio)
- Quantified impact in bullet points
- Tailored to the specific role
- ATS-friendly formatting
- Saved as PDF
- File named properly (FirstName_LastName_Resume.pdf)
- Reviewed by at least one other person