Resume example (text format)

Software Engineer, Backend Ilya Sorokin

Software Engineer

[email protected] | (512) 555-1546 | Austin, United States

Profile

Software engineer with two years building and maintaining backend services in Go and Python on a four-person team. Work daily on the shipment tracking API, and cut its error rate from 2.4% to 0.3% by rewriting retry handling around idempotency keys after a duplicate-charge incident. Comfortable in Postgres, Redis and Kubernetes, and the person on the team who most often picks up the on-call pager handoff notes.

Work Experience

06/2024 - Present, Software Engineer, Halcyon Freight, Austin, United States

  • Build and maintain 6 Go services behind the shipment tracking API, roughly 900 requests per second at peak, on a four-person backend team.
  • Traced a duplicate-charge defect to non-idempotent retry handling, rewrote the handler around idempotency keys, and brought the endpoint error rate from 2.4% to 0.3%.
  • Replaced a nightly CSV import with a streaming Postgres upsert, cutting the load window from 51 minutes to 6 and removing the morning backlog it caused.
  • Raised branch coverage on the tracking package from 38% to 74% and wrote the first integration test suite the team runs in CI.
  • Carry the on-call pager one week in four and wrote the handoff runbook the rotation now uses.

06/2023 - 08/2023, Software Engineering Intern, Halcyon Freight, Austin, United States

  • Built an internal rate-comparison tool in Python and shipped it to 30 operations users before the end of the internship.
  • Added structured logging to two services, which became the basis of the team's first latency dashboard.

Education

08/2020 - 05/2024, Bachelor of Science, Computer Science, The University of Texas at Austin, Austin, United States

Coursework in operating systems, distributed systems and databases. Senior project: a fault-tolerant job scheduler in Go, 3-person team.

Skills

Go, 75

Python, 75

PostgreSQL, 70

Redis, 60

Docker and Kubernetes, 60

REST API design, 65

Testing and CI with GitHub Actions, 70

On-call and incident triage, 60

Languages

English, native

Russian, native

Certificates

09/2024, AWS Certified Cloud Practitioner, Amazon Web Services

Summary

A software engineer resume is a one to two page document that has to survive five different readers: a keyword screen, a hiring manager, a coding interviewer, a system design interviewer and a behavioral panel. This guide gives you three adaptable versions, a map of what each reader is looking for on the page, and current Bureau of Labor Statistics pay and outlook for the occupation.

Software Engineer resume examples by experience level

In short, a software engineer resume is a one to two page document listing your languages, your work and your results. That description is accurate, and it is also why most software engineer resumes underperform.

The resume is not read once. However, in a structured hiring loop it is read four or five times, by different people, for different reasons. To begin with, the keyword screen reads it for nouns. Then the hiring manager reads it for scope. Meanwhile, the coding interviewer skims it to find a warm-up question. Similarly, the system design interviewer looks for one line worth opening on. The behavioral panel checks whether the bullets can become stories. Even so, most resumes are written for the first reader and left to fend for themselves in front of the other four.

Resume guide for a software engineer resume

Specifically, this guide and the corresponding software engineer resume example will cover:

  • How to write a software engineer resume, section by section
  • What each stage of a technical hiring loop reads off the page
  • Three adaptable summaries: early career, mid level and senior
  • How to write one line that hands a system design interviewer an opening question
  • What the job market looks like and what you can expect to earn

How to write a software engineer resume

Six sections: contact header, summary, skills, engineering experience, projects if you need them, and education. Generally, one page for your first six or seven years, two once you have a decade and results a reader would want the detail on.

Skills sit above experience because the first pass is a matching exercise and the matcher is looking for nouns. Everything below the skills block, meanwhile, is where you earn the rest of the loop.

SectionWhat it is answeringWhere it goes
SkillsDoes this person work in our stack?Directly under the summary
Engineering experienceWhat did they personally build, and at what scope?Reverse chronological, with numbers
ProjectsIf the experience is thin, what have they shipped anyway?Only when experience does not carry the page
EducationDoes this clear the posting's stated bar?Bottom, unless you graduated this year
Expert Tip

Write one bullet per role that a system design interviewer can open on

System design rounds start with the interviewer choosing a problem, and some of them choose from your resume, because a candidate talking about a system they actually touched gives a cleaner signal than one reciting a URL shortener.

So one bullet per role should name a system property with a number on it: throughput, a latency percentile, a queue depth, a retention window, a fan-out, a cost line. "Cut p99 on the quote endpoint from 1.4s to 240ms by replacing per-item fan-out with a batched read and a 30 second cache" invites a real question about cache invalidation, and you already know the answer.

Never write a line you cannot be questioned about three levels deeper. The invitation is only useful if you want the conversation it starts.

Run the finished file through the ATS resume checker before you submit, because a large employer parses your application into a structured record before a person opens it.

Choosing the best resume format for a software engineer resume

Reverse chronological. One page up to roughly seven years, two pages after that if the second page is evidence rather than padding.

Functional and skills-first formats fail in this occupation for a specific reason: the hiring manager screen is, above all, a leveling exercise. They are reading the timeline to decide whether you are a mid level hire or a senior hire, and a format that removes the timeline reads as a timeline you did not want read. If you have a gap, date it plainly and move on.

Include your contact information

✅ Right❌ Wrong
Ilya SorokinIlya Sorokin
Software Engineer, Backend and Distributed SystemsPassionate full-stack developer and problem solver
Austin, TX, open to hybrid in Austin or remote in the USAustin, TX (willing to relocate anywhere)
(512) 555-1546, [email protected], github.com/example(512) 555-1546, [email protected], plus five social links

Also, put a specialization in the title line. "Software Engineer" alone is a category; "Software Engineer, Backend and Distributed Systems" is a routing instruction, read in under a second by a recruiter screening for a payments team.

Make use of a summary

In short, three or four lines: your specialization, your years, the stack you are strongest in, and one result with a number. Then write it as the answer to "why are we talking", not as an advertisement.

Early career software engineer adaptable resume summary example

Software engineer with two years building and maintaining backend services in Go and Python on a four-person team. Work daily on the shipment tracking API, and cut its error rate from 2.4% to 0.3% by rewriting retry handling around idempotency keys after a duplicate-charge incident. Comfortable in Postgres, Redis and Kubernetes, and the person on the team who most often picks up the on-call pager handoff notes.

Mid level software engineer adaptable resume summary example

Software engineer with six years in backend and distributed systems, currently on a platform team serving 40 internal services. Redesigned the quoting path from synchronous fan-out to a batched read model, which moved p99 latency from 1.4s to 240ms and removed a recurring source of timeout incidents. Work primarily in Go, Python and Postgres, with production experience in Kafka, Kubernetes and Terraform.

Senior software engineer adaptable resume summary example

Senior software engineer with eleven years in backend and distributed systems, the last five on a platform team of nine. Designed and delivered the event pipeline that now carries 3.1 billion events a month with a published p99 of 480ms, and wrote the design review process the team still uses. Mentor three engineers, run the interview loop for backend hires, and work day to day in Go, Rust and Postgres.

Right vs wrong: the same software engineer summary, twice

✅ Right❌ Wrong
Software engineer with six years in backend and distributed systems, currently on a platform team serving 40 internal services.Experienced software engineer with a strong background in full-stack development.
Moved p99 latency on the quoting path from 1.4s to 240ms by replacing synchronous fan-out with a batched read model.Improved application performance and optimized system efficiency.
Work primarily in Go, Python and Postgres, with production experience in Kafka, Kubernetes and Terraform.Proficient in a wide range of modern technologies and frameworks.

Indeed, the left column survives all five readers: nouns for the screen, scope for the manager, a warm-up for the coding round, an opening for the design round, a story for the panel. The right column, in contrast, dies at the first reader.

Outline your engineering experience

Company, title, dates, and one line naming the team and what it owned. Then three to five bullets. In addition, every bullet starts with something you personally did, names the constraint, and carries a number.

Instead ofUse
Developed and maintained backend servicesBuilt and maintained 6 Go services behind the shipment tracking API, roughly 900 requests per second at peak
Improved system performanceCut p99 on the quoting path from 1.4s to 240ms by batching a per-item fan-out and caching for 30 seconds
Worked with a cross-functional teamRan the interface design with two mobile engineers and a product manager, then shipped the API in three weeks against a launch date
Wrote unit testsRaised branch coverage on the billing package from 41% to 86% and cut the flaky test rate in CI from 11 failures a week to 1
Fixed bugs and resolved issuesTraced a duplicate-charge defect to non-idempotent retries, rewrote the handler around idempotency keys, error rate fell from 2.4% to 0.3%
Adaptable resume employment history example

Software Engineer, Platform, Caltris Systems, Austin, TX, March 2022 to Present

Backend platform team of nine, responsible for the shared services 40 product teams build against.

Redesigned the quoting path from synchronous per-item fan-out to a batched read with a 30 second cache; p99 latency fell from 1.4s to 240ms and timeout incidents stopped recurring.

Traced a duplicate-charge defect to non-idempotent retry handling, rewrote the handler around idempotency keys, and brought the endpoint error rate from 2.4% to 0.3%.

Built the migration tooling that moved 14 services off a deprecated internal client library, finishing 6 weeks before the deprecation date with no rollback.

Raised branch coverage on the billing package from 41% to 86% and reduced flaky CI failures from 11 a week to 1, which cut median time to merge by a third.

Write for the loop: what each interview stage reads off your resume

In fact, most technical hiring is a sequence, and each stage has a different reader with a different question. The page you send, however, is the only artifact all five of them share.

StageWhat the reader is hunting forWhat to put on the page for them
Keyword or recruiter screenTitle, years, stack nouns, location and level matchExact language, framework and platform names in the top third, in the words the posting uses
Hiring manager screenScope, and whether you did it or your team did itBullets with a first-person verb, a named constraint and a number
Coding roundA warm-up question and evidence you write code, not slidesOne bullet per role naming a concrete engineering problem: parsing, deduplication, scheduling, retries, indexing
System design roundOne system worth opening onOne line with a system property and a number: latency percentile, throughput, retention, fan-out, cost
Behavioral or values roundWhether your bullets can become stories with a decision in themBullets that contain a conflict, a trade-off or a reversal, not only an outcome

Stage one: the keyword screen. The cheapest reader to satisfy and the one most people lose to. It matches your page against a posting. If the posting says TypeScript and your page says JavaScript, you are relying on a human to make that jump. Mirror the posting's nouns where they are true, and repeat the important ones inside experience bullets so they appear in context rather than only as a list.

How later interview stages read your resume

Stage two: the hiring manager screen. This reader decides your level first, on scope and independence rather than years. "Worked on the payments service" and "owned the retry semantics for the payments service after the December incident" describe the same person at two different levels. Write the second one. Name what you decided, not only what you delivered.

Stage three: the coding round. Your interviewer usually reads your resume in the two minutes before the call. If something on it is concrete and code-shaped, it becomes the warm-up and you start the hour on your own ground. If everything is abstract, they open the question bank instead.

Stage four: the system design round. This is where a resume line is worth the most and where almost nobody plants one. One sentence with a system property and a real number invites a question you have already lived. Write the number, then list for yourself the three follow-up questions it invites. If you cannot answer all three, replace the line with one you can defend.

Stage five: the behavioral round. This interviewer wants a decision, a trade-off and a consequence. Ask of each bullet: is there a moment here where it could have gone another way? The migration bullet has one, because a deadline existed. The coverage bullet has one, because somebody decided flaky tests were worth a week. "Collaborated with stakeholders" has none, which is why it helps at no stage at all.

Do

Mirror the posting's exact technology nouns where they are true. Give every bullet a first-person verb, a constraint and a number. Plant one system property with a number per role. Keep the same numbers on your resume, your profile and your screening call.

Iconly/Bold/Close Square Don’t

Do not list every technology you have ever opened; a long skills block dilutes the match rather than widening it. Do not claim a system you contributed one pull request to, since the design round finds out. Do not put a percentage on the page without knowing how it was measured. Do not use a two-column template, an icon-rated skill bar or a headshot.

Statistical insight

The coding round is increasingly about repair, not composition

In the 2025 Stack Overflow Developer Survey, 84% of respondents said they use or plan to use AI tools in their development process, up from 76% the year before, and 51% of professional developers reported using them daily. Only 3.1% said they highly trust the accuracy of AI output.

The single most cited frustration, named by 66% of developers, was AI solutions that are "almost right, but not quite," with 45.2% saying debugging that output takes more time than expected (Stack Overflow Developer Survey, 2025).

That is now a hiring signal, showing up in loops as code review exercises, debugging rounds and pull request critiques rather than blank-page algorithm questions. If your experience includes review at volume, incident triage, test repair or migration work, it belongs on the page in those words.

Build a snapshot of your key skills

Twelve to eighteen entries in four labeled groups. The labels let a reader scan for their stack in one pass and also stop the block turning into a wall of nouns.

Adaptable resume skills example

Languages: Go, Python, TypeScript, SQL, Rust (working knowledge)

Data and messaging: PostgreSQL, Redis, Kafka, ClickHouse, schema migration and backfill

Platform and delivery: Kubernetes, Docker, Terraform, GitHub Actions, AWS (EC2, S3, RDS, SQS)

Practice: API design and versioning, distributed tracing with OpenTelemetry, incident response and on-call, design review, code review at volume, technical mentoring

Drop self-rated proficiency bars, because they parse badly and carry no information a reader trusts. If a level matters, say it in words, as with Rust above.

List your education and certifications

Degree, institution, year. That is usually all this section needs, and it belongs at the bottom unless you graduated within the last year.

Software engineering has no license gate, which therefore changes what certifications are worth here compared with neighboring IT roles. For example, a cloud or Kubernetes certification is a tiebreaker for an infrastructure-adjacent role and close to invisible for a product role. Consequently, keep them short and do not let them outrank your experience.

Adaptable resume education and certifications example

Bachelor of Science, Computer Science, The University of Texas at Austin, Austin, TX, 2015

Certifications: AWS Certified Solutions Architect, Associate, Amazon Web Services (2023). Certified Kubernetes Administrator, Cloud Native Computing Foundation (2022).

Open source: maintainer of a Go client library for a message queue protocol, 41 contributors, used in production by three companies outside my employer.

The Bureau of Labor Statistics gives a bachelor's degree as the typical entry-level education for software developers, and its Occupational Outlook Handbook profile notes that some employers accept related experience in place of a degree (BLS, 2025 to 2035 projections). Without the degree, however, do not draw attention to its absence: put a substantial project or open source record where the education section would have been.

Choose the right layout and design

Overall: single column, 10 or 11 point body type, generous margins, clear section headings, no photograph, no graphics. Save as PDF unless the portal asks for something else, and name the file for yourself and the role.

Your page is machine-read first and then skimmed by someone with dozens of files. A two-column template scrambles the parse, and a candidate whose skills block arrives interleaved with their education is filtered before a human sees the problem.

Software engineer job market and outlook

A very large occupation still growing much faster than average, with most of the annual openings coming from a workforce already in motion.

MeasureValue
Software developers, QA analysts and testers, jobs 20251,905,400
Projected change, 2025-3510% (much faster than average), +185,400
Projected annual openings~106,100
Typical entry-level educationBachelor's degree
Median annual wage, software developers, May 2025$135,980

Source: U.S. Bureau of Labor Statistics, Occupational Outlook Handbook, 2025-35 projections and May 2025 wage data.

Two things follow. Because there are 106,100 openings a year, loops run constantly and interviewers are busy, which is the argument for a page readable in two minutes. And at 1.9 million jobs the keyword screen is a real filter, because the pile is large enough that nobody reads generously.

Where the work sits, by median pay:

IndustryMedian annual wage, software developers (May 2025)
Software publishers$164,550
Manufacturing$136,330
Management of companies and enterprises$135,680
Finance and insurance$135,460
Computer systems design and related services$132,050

Source: U.S. Bureau of Labor Statistics, May 2025.

What salary you can expect as a software engineer

To begin with, the median annual wage for software developers was $135,980 as of May 2025. The lowest 10 percent of software developers earned less than $82,460 and the highest 10 percent more than $214,670 (BLS, May 2025).

That is a spread of more than $130,000 inside one occupation, and most of it is level rather than employer generosity. Almost every company of any size runs a ladder, and the band attached to each rung is wide enough that a single mis-level costs more than any negotiation recovers. Two opposite failure modes cost candidates money here.

Level mismatch downward. Your title says "Software Engineer II" because your employer has three rungs and a slow promotion cycle, but the work is design, mentoring and cross-team delivery. If the page reads at your title rather than your work, you are screened into the wrong band before anyone talks to you. The repair is evidence: name what you decided, who you unblocked, what you designed. Titles are inconsistent between companies; scope is legible everywhere.

Title inflation upward. A small company gives out "Senior" and "Lead" early, which is not dishonest, but the loop levels you on evidence. A page titled senior with mid level evidence is down-leveled at the debrief, which is the worst place for it to happen, because the offer is then anchored to the panel's read. Keep the title and let the bullets carry the actual weight rather than inflating them to match.

In addition, the industry table above is the other lever. For instance, the gap between the software publishers median and the computer systems design median is $32,500, roughly the size of a level step, and it is available to the same engineer with the same skills.

Key takeaways for a software engineer resume

  1. Above all, write for five readers, not one: the screen, the manager, the coder, the designer and the behavioral panel.
  2. Then put labeled skill groups high, in the posting's own nouns, and repeat the important ones inside bullets.
  3. Give every bullet a first-person verb, a constraint and a number.
  4. Also plant one system property with a number per role, and be ready for three follow-up questions on it.
  5. Likewise, check that each bullet could become a story with a decision in it; cut the ones that cannot.
  6. Let scope carry your level rather than your title, in either direction.
  7. Finally, keep it single column, dense and specific, and the same numbers everywhere you say them.

Build your software engineer resume in 15 minutes with our AI resume builder.

Related information technology resume examples

Pair it with a matching software engineer cover letter.

Software engineer resume questions, answered

How long should a software engineer resume be?

One page for your first six or seven years, two after that, and the second page has to be evidence. A reviewer who turns to page two and finds a technology list and a restatement of page one reads the whole file as padded, which is worse than a tight single page.

Should I include personal projects on a software engineer resume?

Include them when your employment record does not carry the page, or when a project is stronger evidence than your day job. One or two, each with what it does, what you built, and something real about its use. A list of tutorial projects is worse than no projects section.

How do I write a software engineer resume with no professional experience?

Write your strongest project the way you would write a job: what the system does, what you personally built, the constraint, and a number. Then an internship, a research assistantship or an open source contribution, each with the same treatment. Keep the skills block honest, because the coding round arrives quickly for thin records and an overstated list is found there.

Do I need to tailor my resume for every application?

Tailor the top third. The skills block and the summary should mirror the posting's nouns and the team's problem, and reordering bullets to lead with the most relevant one is worth two minutes. Rewriting the whole document each time is not, and the inconsistencies between versions cost more than the tailoring gains.

Should I put my GitHub profile on my software engineer resume?

Only if it is current and the top few repositories are worth opening. A reviewer who clicks through to an empty profile has learned something you did not want them to learn. One strong pinned repository beats twenty forks, and with nothing public, use the space for a project described properly in text.