Resume example
Software engineer resume example
Hiring managers for engineering roles skim for three things: what you built, how big it was, and what changed because of it. This example shows a mid-level backend engineer's resume, followed by section-by-section advice you can apply whether you are a new graduate or a staff engineer.
Sample software engineer resume
Priya Raman
Backend Software Engineer, Distributed Systems
Summary
Backend engineer with 5 years building high-throughput services in Go and Python. Led the migration of a payments pipeline to an event-driven architecture handling 40M events a day, and cut p99 latency by 62%. Comfortable owning a service from design doc to on-call.
Experience
- Designed and shipped an event-driven payments ledger in Go and Kafka processing 40M events a day with zero data-loss incidents in 18 months.
- Reduced p99 API latency from 820 ms to 310 ms by introducing read replicas and a Redis cache layer, lifting checkout conversion by 3.1%.
- Wrote the design doc and led a team of 4 to break a monolith billing module into 3 services, cutting deploy time from 45 to 8 minutes.
- Mentored 2 junior engineers through their first on-call rotations; both now own production services.
- Built a Python ETL framework adopted by 6 teams, replacing 30+ ad hoc cron jobs and reducing failed nightly runs by 85%.
- Added contract tests and a staged rollout process that dropped production rollbacks from 9 per quarter to 2.
- Cut AWS compute spend by $14K a month by right-sizing ECS tasks and moving batch jobs to spot instances.
Education
B.Tech in Computer Science, Riverside Institute of Technology, 2020
Skills
- Go
- Python
- TypeScript
- PostgreSQL
- Kafka
- Redis
- AWS (ECS, Lambda, RDS)
- Docker
- Kubernetes
- Terraform
- gRPC
- Observability (Prometheus, Grafana)
Recommended template: Developer. Open it in Resume Studio and replace the sample content with yours.
What to include on a software engineer resume
Keep the structure predictable: contact details with GitHub and portfolio links, a two to three line summary, experience, a skills block, then education. Projects belong above education if you have under three years of experience or if they are more impressive than your day job.
One page is right for most engineers with under eight to ten years of experience. Senior and staff engineers can use two pages when the second page carries real weight, such as architecture ownership or cross-team leadership.
- Links: GitHub, a portfolio or personal site, and LinkedIn. Make sure pinned repositories are ones you are proud of.
- Experience: 3 to 5 bullets per role, most recent role first, each starting with a strong verb.
- Skills: grouped by languages, frameworks, data, and infrastructure so a reviewer can scan in seconds.
- Projects: name, one line on what it does, the stack, and a measurable outcome or user count.
Write bullets that show impact, not duties
A useful formula is action, scope, result: what you did, how big it was, and what it changed. "Worked on the API" tells a reviewer nothing. "Reduced p99 latency on the orders API from 820 ms to 310 ms by adding a Redis cache" shows judgment, scale, and outcome in one line.
If you do not have exact numbers, use honest approximations you can defend in an interview: requests per second, number of users or teams affected, percentage time saved, incidents avoided, or money saved. Interviewers will ask about any number you list, so only include figures you understand.
Software engineer keywords for ATS
Applicant tracking systems and recruiters match the job description's exact terms. Mirror the posting's spelling, so write "Kubernetes" rather than only "K8s" and "CI/CD" if that is how the listing says it. Mention each important skill inside an experience bullet as well as in the skills block, because context proves you used it.
- Languages and frameworks named in the posting (for example Java, Spring Boot, React, Node.js)
- System design terms: microservices, distributed systems, event-driven, caching, scalability
- Delivery practices: CI/CD, code review, testing, observability, incident response
- Cloud and infrastructure: AWS, GCP or Azure services, Docker, Kubernetes, Terraform
Common mistakes engineers make
The most common problem is a skills list of 40 technologies with no evidence of depth. Recruiters trust a short list backed by bullets far more than a wall of logos. Skill rating bars and percentages are another red flag: they cannot be verified and many ATS parsers drop them.
- Listing every technology you have touched instead of the ones you would happily be interviewed on
- Describing team accomplishments without saying what you personally did
- Two-column layouts with text in images, which some ATS parsers read out of order
- Dead GitHub links or empty repositories
Tailoring for each application
Keep one master resume with every bullet you have ever written, then build a one-page version per application. For a frontend role, lead with UI performance and accessibility work; for a platform role, lead with reliability, tooling and infrastructure. Reorder bullets so the most relevant one in each role comes first, since many reviewers only read the first line.
Frequently asked questions
Should a software engineer resume be one page?
Usually yes. With under about eight years of experience, one page forces you to keep only your strongest work. Senior engineers can use two pages if the extra content is substantial, such as system ownership or leadership of multi-team projects.
Do I need a projects section if I already have work experience?
Not necessarily. Include projects if they show skills your job does not, such as a stack you want to move into, or if they have real users. Otherwise, the space is better spent on stronger work bullets.
Should I include my GPA?
Include it if you graduated in the last two years and it is 3.5 or higher (or a first or distinction in other grading systems). After your first job, remove it; experience matters more.
Is a creative or two-column design bad for engineering roles?
Not inherently, but a clean single-column layout is the safest choice for ATS parsing and fast skimming. If you use two columns, keep all text selectable and put experience in the main column.