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.
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
| Choice | Reason |
|---|---|
| Education first | The strongest evidence you have right now (see Order: reverse chronology and sections) |
| Two projects, not five | Depth 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 line | Establishes the team and system size |
| TA role included | Shows communication and technical depth together |
| No summary | Nothing to reframe; the space is better used |
| No interests section | Costs a line, adds nothing |
Mid-level individual contributor template
Two to six years. The experience section is now essentially the whole document.
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 – 2020Why it is built this way
| Choice | Reason |
|---|---|
| No summary | None 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 roles | Establishes scope before the bullets (see The anatomy of an experience entry) |
| 4 / 2 / 1 bullet allocation | Weighted heavily to the present (see Mid-level individual contributor) |
| Every bullet leads with an outcome | No bullet begins with an activity verb |
| Ownership language | "Own", "planned and ran", "traced" — decisions, not tasks |
| Education last, one line | Six 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.
Page one
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
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 2012Why it is built this way
| Choice | Reason |
|---|---|
| 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 attached | Regulatory deadline, onboarding cap, query cost |
| Mentoring and forums included | Multiplication, not just execution |
| Old roles are two lines | Page two is compression, not expansion |
| Skills list is short | Judgement about what matters is itself a seniority signal |
| Talks section | Genuine evidence of technical communication |