ATS resume format for software engineers
Last updated: April 20265 min readCareer Tools
Software engineering resumes have specific needs: tech stack visibility, project descriptions, and GitHub links. Here is how to structure all of that in a format that ATS can actually parse.
Section order for experienced engineers
- Name and contact info (name, email, phone, LinkedIn, GitHub)
- Summary (2-3 sentences: years of experience, primary languages, domain expertise)
- Technical skills (grouped by category)
- Experience (reverse chronological, most recent first)
- Projects (personal or open source, if relevant)
- Education
- Certifications (AWS, GCP, etc., if applicable)
For junior engineers or recent graduates, move Education and Projects above Experience.
How to write the technical skills section
Group skills by category. This is what ATS is scanning for:
Languages: Python, JavaScript, TypeScript, Go, SQL
Frameworks: React, Node.js, Django, FastAPI
Databases: PostgreSQL, MongoDB, Redis
Infrastructure: AWS (EC2, S3, Lambda, RDS), Docker, Kubernetes, Terraform
Tools: Git, GitHub Actions, Datadog, Jira
Use the exact terms from the job description. If they say "Amazon Web Services," include both "AWS" and "Amazon Web Services." If they say "CI/CD," use that abbreviation. ATS does keyword matching, and exact matches count.
How to write experience bullets
Every bullet should follow this pattern: Action verb + what you did + measurable result
- "Built a real-time data pipeline using Kafka and Spark that processed 2M events/day, reducing data lag from 4 hours to 15 minutes"
- "Redesigned the authentication service, migrating 850K users from session-based to JWT auth with zero downtime"
- "Reduced API response time by 60% by implementing query optimization and Redis caching on 12 high-traffic endpoints"
Avoid vague bullets like "Worked on backend services" or "Helped improve performance." The recruiter and the ATS both need specifics.
Project descriptions (for junior engineers)
If you do not have much work experience, your projects section carries extra weight. Treat each project like a mini-job:
Budget Tracker App (React, Node.js, PostgreSQL)
- Built a full-stack expense tracking app with user authentication, category filtering, and monthly reports
- Deployed to AWS using Docker containers and GitHub Actions CI/CD
- 500+ active users within 3 months of launch
ATS formatting rules for tech resumes
- Single column. No sidebars. Even if you see "developer resume" templates with a colored sidebar, skip it.
- No skill-level bars. "Python: ████████░░ 80%" is meaningless to ATS. It reads nothing. Just list the skill name.
- No icons. GitHub icon next to your GitHub URL? ATS sees the URL but not the icon. Skip the icon, just include the URL as text.
- Plain-text URLs. Your GitHub profile and LinkedIn should be plain text URLs, not hyperlinked words. ATS extracts URLs better when they are visible as text.
- Standard fonts. No monospace fonts for the whole resume, even though it "feels like code." Use Calibri, Arial, or Georgia.
- One page unless you have 8+ years of experience. Most tech resumes can fit on one page.
What NOT to include
- A photo or headshot
- Your physical address (city and state are enough)
- "References available upon request" (this is assumed)
- An objective statement (use a summary instead)
- Skills you cannot discuss in depth (do not list "Kubernetes" if you only read a tutorial)
After formatting: keyword check
Use the Resume Keyword Matcher to compare your resume against the job description. It shows which keywords you are missing. For engineering roles, missing a specific framework or tool name can mean automatic rejection.
Related tools