Software Engineer resume example

A software engineer's resume is read twice: once by a parser looking for the stack, and once by an engineer deciding in about ten seconds whether you've built anything hard. Most developer resumes fail the second read, because they list technologies instead of saying what was shipped. Here is a full example that doesn't, and the reasoning behind every line of it.

Updated

Also written as Software Developer, Programmer and SDE.

What hiring managers look for first

  • The stack, stated plainly and early — not buried in a paragraph
  • Scale: users, requests, data volume, team size, uptime
  • Ownership — "built and shipped" beats "worked on", every time
  • Evidence of shipping to production, not just of learning
  • A GitHub or a live project link that actually resolves

A full software engineer resume

Every figure below is invented, but the shape is the point: each bullet names what was owned, what changed, and the number that moved. It’s laid out in the Meridian template — switching template re-renders the same content rather than starting it over.

Daniel OkaforSenior Software Engineer
daniel.okafor@email.com+1 (206) 555-0148Seattle, WAgithub.com/dokaforlinkedin.com/in/danielokafor

Summary

Backend-leaning software engineer with 7 years building payment and billing systems at scale. Comfortable owning a service end to end — schema, API, deploys, and the pager that comes with it. Most recently cut checkout latency by 60% for 2M monthly transactions.

Experience

Senior Software Engineer, Northwind Commerce

Apr 2022 – Present

Seattle, WA

  • Own the payments service handling 2M transactions a month; redesigned its settlement pipeline and cut p95 checkout latency from 1.4s to 550ms
  • Led the migration of 14 services from a shared monolith database to per-service Postgres, completed with zero customer-facing downtime
  • Introduced contract tests across service boundaries, cutting integration incidents by 70% over two quarters
  • Mentor 3 engineers; two promoted to mid-level while on my team

Software Engineer, Lumen Labs

Jun 2019 – Mar 2022

Remote

  • Built the billing API that became the company's second revenue line, from empty repo to $4M ARR in 18 months
  • Replaced nightly batch reconciliation with an event-driven pipeline in Go, taking data freshness from 24 hours to under 5 minutes
  • Reduced AWS spend $18k/month by right-sizing instances and adding request-level caching

Junior Software Engineer, Cascade Systems

Jan 2018 – May 2019

Portland, OR

  • Shipped the internal admin tool used daily by the 40-person support team
  • Wrote the test harness that took CI from no coverage to 65% on the core module

Education

BSc, Computer Science, University of Washington

Sep 2014 – Dec 2017

Seattle, WA

Skills

  • Go
  • TypeScript
  • Python
  • PostgreSQL
  • Kubernetes
  • AWS
  • gRPC
  • Terraform
  • Kafka
  • CI/CD

Certifications

AWS Certified Solutions Architect – Associate, Amazon Web Services

May 2023

How to write it

Lead with the stack, then prove you shipped with it

A recruiter screening developer applications is pattern-matching against a requisition: Go, Postgres, Kubernetes, five years. If those words aren't findable in the first third of the page, the resume can be excellent and still not survive the filter. That's the argument for a short summary that names the stack, and a skills block that isn't at the very bottom.

But naming the stack is only the ticket in. The engineer who reads it next has seen a hundred resumes listing the same ten technologies, and what separates them is whether anything on the page was hard. "Experience with Kubernetes" says nothing. "Migrated 14 services off a shared database with zero downtime" says you have done the thing that goes wrong.

Write bullets as outcome, not assignment

The most common failure in a developer resume is describing the ticket instead of the result. "Worked on the checkout flow" is a fact about your calendar. "Cut p95 checkout latency from 1.4s to 550ms" is a fact about the product, and it implies the work.

The pattern that holds up: what you owned, what you did to it, and the number that moved. Two of the three is usually enough. If you genuinely have no metric — plenty of good work has none — use scale instead: how many users, how much data, how many services, how big the team.

  • Owned X → did Y → metric moved from A to B
  • Built X, now used by N people / serving N requests
  • Replaced X with Y, cutting cost/latency/incidents by N%
  • Led the migration of X, completed with no downtime

Seniority is shown by scope, not adjectives

Nobody is convinced by "senior engineer with strong leadership skills". Scope convinces. A junior fixes bugs in a service; a mid-level owns features in it; a senior owns the service, decides its shape, and is the person other engineers ask. Write the sentence that only a senior could truthfully write, and the level takes care of itself.

Mentoring is worth one line and no more. "Mentor 3 engineers; two promoted to mid-level" is credible because it has an outcome attached. A paragraph about your leadership philosophy is not.

Projects earn their place only when they replace experience

If you have three years of professional work, a personal projects section competes with it for space and usually loses. Cut it, and put the one project that's genuinely impressive into your links.

If you're early — a bootcamp graduate, a career changer, a new grad — projects are the whole argument, and they should be treated like jobs: what it does, what you built it with, and something that proves it's real. Users, stars, uptime, a live URL. A tutorial to-do app with none of those attached reads as coursework, because it is.

Keep it to one page until it can't be

One page through roughly eight years, two after that if the second page is full of substance rather than a spillover of your skills list. The pressure that puts on the page is useful: it forces the oldest, weakest bullets out, which are exactly the ones that dilute the strong ones.

The internship from 2016 can go the moment you have two real jobs. So can the line about being a fast learner.

Software Engineer skills and ATS keywords

These are the terms that appear in software engineer postings, which is what an applicant tracking system matches your resume against. Take the ones that are genuinely true of you — a keyword you can’t defend in an interview costs more than the match is worth.

Languages

  • Go
  • Python
  • Java
  • TypeScript
  • JavaScript
  • C#
  • Rust
  • Kotlin
  • SQL

Infrastructure & platform

  • AWS
  • GCP
  • Azure
  • Kubernetes
  • Docker
  • Terraform
  • CI/CD
  • GitHub Actions
  • Observability

Data & messaging

  • PostgreSQL
  • MySQL
  • Redis
  • Kafka
  • DynamoDB
  • Elasticsearch
  • Event-driven architecture

Practice

  • Microservices
  • REST APIs
  • gRPC
  • Code review
  • Unit testing
  • Agile
  • Scrum
  • On-call
  • System design

Mistakes that cost software engineers interviews

  • A skills list of 40 technologies, which tells a reader you're a beginner at most of them
  • Rating yourself out of five on languages — no engineer believes the numbers
  • "Worked on" and "helped with" as the verb on every bullet
  • Listing the framework but never the thing you built with it
  • A two-column layout that puts the whole stack in a sidebar an older parser drops
  • Naming a private employer repo as your portfolio link

Software Engineer resume FAQs

Should a software engineer resume be one page or two?

One page up to about eight years of experience, two beyond that. Two pages are fine for a senior or staff engineer with real depth to show; they are not a licence to keep every internship. What gets cut first is the oldest role and any bullet without a result in it.

Do I need a GitHub link?

It helps if the profile has something on it. A link to an empty account is worse than no link, and a reviewer who clicks through to three abandoned tutorial forks has learned something you didn't want them to. One repo with a readme that explains what it does beats twenty without.

Where should the skills section go?

Near the top for a screening-heavy process, since that's where a recruiter looks and where a parser finds it fastest. Group by kind — languages, infrastructure, data — rather than by confidence, and leave out anything you'd rather not be interviewed on.

How do I write a resume with no professional experience yet?

Treat projects as the experience section: what it does, what you built it with, and evidence it's real — users, a live URL, contributions to something you didn't start. Internships, open-source work and freelance jobs all count as experience and should be written the same way as a job.

Does the ATS actually reject resumes automatically?

Almost never automatically. It parses your resume into fields and ranks it against the posting; a human then reads the top of the pile. The real risk isn't rejection, it's a parse that loses your job titles or dates and leaves you unrankable.

Related resume examples

Write your software engineer resume

Start from a template, get AI help tightening every bullet, and export an ATS-ready PDF. Free to start, and no card at any point.

Start your resume