How to Write a Good Resume

Course Content

How to Write a Good Resume

15 sections · 30 lessons

Annotated templates: new graduate, mid-level and senior engineer


Five complete templates follow across this section, one per career stage. Every person, company, and number in them is invented. Use the structure, not the content.

Each template is annotated with why every block is where it is, so you can adapt it rather than fill it in blindly. This lesson covers the three individual-contributor stages, from a new graduate to a staff engineer. Read them in order even if you only need one: watching education slide down and context lines grow is the quickest way to see how the rules from Section 8 play out on a real page.

New-graduate template

The first template is for a student about to graduate, with one internship and two projects.

Text
                          ARJUN MEHTA        Pune, India · arjun.mehta@email.com · +91 98765 43210              github.com/arjunmehta · linkedin.com/in/arjunmehtaEDUCATIONBTech Computer Science, College of Engineering Pune          2022 – 2026GPA 8.7/10 · Coursework: Distributed Systems, Operating Systems,Databases, Machine LearningPROJECTSPantry — recipe search by available ingredients      github.com/…/pantrySuggests meals from what is already in your kitchen. ~2,400 monthly users.• Built ingredient matching with Postgres trigram similarity after full-text  search returned poor results on misspelt ingredients (~30% of queries).• Cut search response time from 900 ms to 120 ms by precomputing an  ingredient co-occurrence table refreshed nightly.• React, Node, Postgres, deployed on Fly.io.Tracewell — distributed trace viewer                github.com/…/tracewellCourse project extended into a working tool used by two university labs.• Handled out-of-order span arrival by buffering incomplete traces for 30 s  before assembly, after ~8% of traces rendered with missing parents.• Go, ClickHouse, React.EXPERIENCESoftware Engineering Intern, Kestrel Systems          May – Jul 2025Logistics platform, 200 staff · Backend team of 6• Cut warehouse-allocation job runtime from 22 min to 4 min by replacing  per-order database round trips with a single batched query.• Added retry-with-backoff to the carrier API client, ending a recurring  failure that required manual reruns roughly twice a week.Teaching Assistant, Data Structures — CoEP           Aug 2024 – Apr 2025• Ran weekly lab sessions for ~60 students; wrote 12 automated  assignment graders now used by the department.SKILLSLanguages       Go, Python, JavaScript, SQLBackend         Node, Postgres, Redis, REST APIsTools           Docker, Git, Linux, AWS (EC2, S3)

Why it is built this way

Arjun Nairarjun@example.com · github.com/arjun · ChennaiEDUCATIONPROJECTSEXPERIENCE — INTERNSHIPSKILLSEducation first — it is thestrongest evidence you haveright nowProjects before experience —two deep, not five shallowEach project names a problemthat was hit and solvedInternship gets the fullimpact-first treatmentSkills grouped and defensible— you will be askedNo summary, no objective, no interests — none of them survive the six-second test
Education leads because it is the strongest evidence a new graduate has; everything else is ordered by what a reader can verify.
ChoiceReason
Education firstThe strongest evidence you have right now (see Order: reverse chronology and sections)
Two projects, not fiveDepth distinguishes; breadth does not (see Student and new graduate)
Each project names a failure"~30% of queries", "~8% of traces" — real problems, diagnosed
Internship gets a context lineEstablishes the team and system size
TA role includedShows communication and technical depth together
No summaryNothing to reframe; the space is better used
No interests sectionCosts a line, adds nothing

Mid-level individual contributor template

Two to six years. The experience section is now essentially the whole document.

One page, allocated by valueEducation,two linesSkills, onegrouped blockOlder role,three bulletsCurrent role,five bulletsContactblock, three linestopbottomRead bottom to top as the page reads top to bottom.
At two to six years the experience section is essentially the whole document, so everything else is trimmed to make room.
Text
                          PRIYA NAIR     Bengaluru, India · priya.nair@email.com · +91 98123 45678            linkedin.com/in/priyanair · github.com/priyanairEXPERIENCEBackend Engineer                                    Mar 2023 – PresentKestrel Systems (B2B logistics SaaS, 200 staff)Own the routing and fulfilment services: 12M requests/day, team of 5,on-call rotation of 6.• Cut p99 routing latency from 840 ms to 120 ms by replacing per-request  graph traversal with a precomputed adjacency cache, unblocking the  same-day-delivery launch.• Removed a double-reservation bug silently over-selling ~200 items a  month, by making inventory holds idempotent on a client-supplied key.• Reduced inventory-service pages from ~12 to 2 per month after tracing  three sources of unbounded queue growth found during on-call.• Planned and ran the Postgres 12→15 migration across 8 services over  two months with no downtime, using dual-writes and a read-shadow period.Software Engineer                                   Jul 2021 – Feb 2023Northwind Retail (e-commerce, 900 staff)Checkout team of 8.• Cut order-confirmation latency from 4.2 s to 600 ms by moving  notification dispatch off the request path onto a queue.• Raised billing-module test coverage from 34% to 81%, catching a  proration rounding error that had been mis-charging annual upgrades.Junior Software Engineer                            Aug 2020 – Jun 2021Northwind Retail• Built the internal returns-processing tool still used by ~40 support staff.SKILLSLanguages       Go, Python, TypeScript, SQLData            PostgreSQL, Redis, KafkaInfrastructure  AWS (ECS, RDS, S3), Docker, TerraformPractices       Distributed tracing, incident response, CI/CDEDUCATIONBE Computer Science, PES University                  2016 – 2020

Why it is built this way

ChoiceReason
No summaryNone of the four cases in Summary or objective apply
Company descriptors"B2B logistics SaaS, 200 staff" — five words giving domain and scale
Context line on both recent rolesEstablishes scope before the bullets (see The anatomy of an experience entry)
4 / 2 / 1 bullet allocationWeighted heavily to the present (see Mid-level individual contributor)
Every bullet leads with an outcomeNo bullet begins with an activity verb
Ownership language"Own", "planned and ran", "traced" — decisions, not tasks
Education last, one lineSix years out; it no longer competes

Senior and staff engineer template

Two pages are appropriate here. The second page is for older roles, not more detail on recent ones.

What each of the two pages carriesPage one• Contact and optional short summary• Current and previous role, in depth• Cross-team scope and decisionsPage two• Older roles, two bullets each• Education, one line• Talks or patents, if any exist
Page two is for older roles, never for more detail on the recent ones a reader is already convinced by.

Page one

Text
                        DANIEL OKONKWO   Berlin, Germany · daniel.okonkwo@email.com · +49 151 2345 6789                     linkedin.com/in/danokonkwoEXPERIENCEStaff Engineer, Platform                            Jan 2023 – PresentMeridian Labs (clinical data infrastructure, 600 staff)Technical direction for the data platform: 6 teams, ~40 engineers,2.4B events/day ingested.• Designed and led the event ingestion platform now used by all 6 product  teams, replacing 4 divergent in-house pipelines; cut median  time-to-first-dashboard for a new data source from 6 weeks to 3 days.• Set the schema-evolution standard and built the compatibility checker  that gates it, ending a class of downstream breakage that had caused  9 production incidents in the preceding year.• Led the multi-region migration for EU data residency, sequencing it  across 6 teams over three quarters; delivered ahead of the regulatory  deadline with no customer-visible downtime.• Mentor 4 senior engineers; established the platform design-review  forum now used company-wide.Senior Software Engineer                            Apr 2020 – Dec 2022Meridian LabsOwned the ingestion service: 400M events/day, team of 6.• Rebuilt ingestion on Kafka with per-tenant partitioning, taking  sustained throughput from 40k to 500k events/second and removing the  backlog that had capped onboarding at 3 new customers per quarter.• Chose ClickHouse over Elasticsearch for the analytics store after  benchmarking both on 90 days of production traffic; cut query cost  ~70% at equivalent p95 latency.Software Engineer                                   Jun 2017 – Mar 2020Northwind Retail (e-commerce, 900 staff)• Built the order-fulfilment service handling ~800k orders/month.• Introduced distributed tracing across 14 services, cutting median  incident diagnosis time from ~50 to ~12 minutes.

Page two

Text
EARLIER EXPERIENCESoftware Engineer, Halcyon Systems                   2015 – 2017Junior Developer, Halcyon Systems                    2014 – 2015SELECTED TALKS AND WRITING"Schema evolution without downtime" — Berlin Buzzwords 2025"What we learned running Kafka for four years" — company blog, 2024SKILLSLanguages       Go, Java, Python, SQLData            Kafka, ClickHouse, PostgreSQL, SparkInfrastructure  Kubernetes, Terraform, AWS, GCPPractices       Distributed systems design, schema governance,                incident response, technical mentoringEDUCATIONMSc Computer Science, TU Berlin                              2014BSc Computer Science, University of Lagos                    2012

Why it is built this way

ChoiceReason
Every bullet shows reach"used by all 6 product teams", "across 6 teams" — not just code written
Decisions with reasoning"Chose ClickHouse over Elasticsearch after benchmarking" (see Senior and staff engineer)
Business consequence attachedRegulatory deadline, onboarding cap, query cost
Mentoring and forums includedMultiplication, not just execution
Old roles are two linesPage two is compression, not expansion
Skills list is shortJudgement about what matters is itself a seniority signal
Talks sectionGenuine evidence of technical communication