Course Content
How to Write a Good Resume
15 sections · 30 lessons
Before-and-after rewrites: new graduate, mid-level and senior engineer
Five before-and-after rewrites. Every candidate is invented. Read each "before" and note what you would change before reading on — this section is calibration, and it only works if you form an opinion first.
The "after" version of each case is one of the templates in Section 12, so this section shows the road from a real-looking draft to that finished page. Each case has the same shape: the draft, a table of what is wrong and where the course covers it, and the specific edits. This lesson covers the three individual-contributor cases; the next covers the manager and the career switcher, and then the edits all five share.
Case study: new graduate
Before
ARJUN MEHTA Pune, India · arjun.mehta@email.com · +91 98765 43210OBJECTIVEMotivated and passionate computer science graduate seeking a challengingsoftware engineering role in a dynamic organisation where I can utilisemy skills and grow professionally.EDUCATIONBTech Computer Science, College of Engineering Pune, 2022 – 2026GPA: 8.7/10Class 12: 92% · Class 10: 94%PROJECTSRecipe App — A full-stack recipe application built with React, Node.js,and MongoDB. Users can create, edit, and delete recipes.Chat Application — Real-time chat app using Socket.io with multiple rooms.Portfolio Website — Personal portfolio built with HTML, CSS, JavaScript.Weather Dashboard — Displays weather using the OpenWeather API.Todo App — Task management application with React and local storage.INTERNSHIPSoftware Engineering Intern, Kestrel Systems, May – July 2025• Worked on backend services• Fixed bugs• Participated in daily standups and sprint planningSKILLSC, C++, Java, Python, JavaScript, HTML, CSS, React, Node.js, MongoDB,MySQL, Git, GitHub, VS Code, Windows, Linux, MS Office, Problem Solving,Teamwork, Communication, LeadershipHOBBIESReading, cricket, listening to musicWhat is wrong
| Problem | Covered in |
|---|---|
| Objective is generic and unverifiable | Summary or objective |
| School results present four years after they stopped mattering | Order: reverse chronology and sections |
| Five projects, all tutorial-grade, none showing a decision | Student and new graduate |
| Internship bullets describe attendance, not outcomes | Responsibility lists instead of outcomes |
| Skills list includes MS Office, Windows, and soft skills | A skills section that survives scrutiny |
| Hobbies section costs a line and adds nothing | Order: reverse chronology and sections |
The underlying issue: nothing here distinguishes Arjun from forty other applicants with the same degree.
After
The rewritten version is the new-graduate template. The changes:
Objective deleted. Three lines recovered for actual evidence.
School results deleted. Coursework added instead, restricted to courses relevant to backend roles.
Five projects cut to two. The three tutorial projects removed entirely. The two survivors rewritten to name a specific problem encountered and how it was solved — "full-text search returned poor results on misspelt ingredients (~30% of queries)".
Internship rewritten with outcomes. "Worked on backend services" became "Cut warehouse-allocation job runtime from 22 min to 4 min by replacing per-order database round trips with a single batched query." Arjun did this work; they had never written it down as a result.
Skills grouped and cut. From 20 items to 12, in four labelled groups, with the assumed tools and soft skills removed.
Hobbies deleted.
Case study: mid-level engineer
Four years in, strong engineer, resume reading as a job description.
Before
PRIYA NAIRBengaluru · priya.nair@email.comPROFESSIONAL SUMMARYResults-driven software engineer with 4+ years of experience in backenddevelopment. Passionate about building scalable and robust systems.Strong problem-solving skills and a proven track record of deliveringhigh-quality software in fast-paced agile environments.WORK EXPERIENCEBackend Engineer, Kestrel Systems, March 2023 – Present• Responsible for developing and maintaining backend microservices• Worked with product managers to gather and refine requirements• Participated in code reviews and technical design discussions• Ensured high code quality through unit and integration testing• Involved in the database migration project• Part of the on-call rotation• Used Docker and Kubernetes for containerisation and deploymentSoftware Engineer, Northwind Retail, July 2021 – February 2023• Developed features for the checkout service• Fixed bugs reported by the QA team• Collaborated with cross-functional teams• Wrote unit tests to improve code coverageJunior Software Engineer, Northwind Retail, August 2020 – June 2021• Assisted senior engineers with various development tasks• Learned company technologies and codebase• Built internal toolsSKILLSGo ●●●●○ Python ●●●●● TypeScript ●●●○○ SQL ●●●●○Kafka ●●●○○ Redis ●●●●○ AWS ●●●○○ Docker ●●●●○EDUCATIONBE Computer Science, PES University, 2016 – 2020What is wrong
Everything is true and nothing is informative. Seven bullets on the current role and not one outcome among them. This resume tells a hiring manager what the job involved.
Specific problems:
| Problem | Covered in |
|---|---|
| Summary is entirely unverifiable adjectives | Summary or objective, Buzzwords and rating bars |
| Every bullet starts with an activity verb | Responsibility lists instead of outcomes |
| No numbers anywhere on the page | Quantification without fabrication |
| No context lines, so scope is invisible | The anatomy of an experience entry |
| Skill rating bars — meaningless and unparseable | Buzzwords and rating bars |
| Junior role bullets actively harm ("Learned company technologies") | Signal versus noise |
| Equal weight across three roles | Mid-level individual contributor |
After
The rewritten version is the mid-level template. The changes:
Summary deleted. None of the four cases in Summary or objective applied.
Context lines added. "Own the routing and fulfilment services: 12M requests/day, team of 5, on-call rotation of 6." One line, and the reader now knows the scope that seven bullets had failed to convey.
Seven bullets cut to four, each rewritten with outcomes.
- "Involved in the database migration project" → "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." Priya led this. "Involved in" erased them from it.
- "Part of the on-call rotation" → "Reduced inventory-service pages from ~12 to 2 per month after tracing three sources of unbounded queue growth found during on-call."
- "Used Docker and Kubernetes" → folded into the skills section, since no outcome attached to it.
Bullet allocation rebalanced to 4 / 2 / 1.
Rating bars replaced with four labelled groups.
Case study: senior engineer
Genuine staff-level work, described at individual-contributor scale. This is the most expensive failure in this section, because it costs a level.
Before
DANIEL OKONKWOBerlin · daniel.okonkwo@email.comEXPERIENCEStaff Engineer, Meridian Labs, January 2023 – Present• Built the event ingestion platform using Kafka and Go• Implemented schema validation for incoming events• Worked on the multi-region migration for GDPR compliance• Mentored junior engineers on the team• Participated in architecture discussionsSenior Software Engineer, Meridian Labs, April 2020 – December 2022• Rebuilt the ingestion service using Kafka• Migrated the analytics store from Elasticsearch to ClickHouse• Improved system throughput and reduced query costs• On-call for the ingestion pipelineSoftware Engineer, Northwind Retail, June 2017 – March 2020• Built the order fulfilment service• Added distributed tracing to services• Worked on performance improvementsWhat is wrong
Read that first bullet: "Built the event ingestion platform using Kafka and Go."
A mid-level engineer could have written it. It describes technology used, not reach, not direction, not consequence. Nothing here says six teams depend on this, or that it replaced four competing systems, or that Daniel set the standard others now build against.
| Problem | Covered in |
|---|---|
| No scope on any role — no team size, no scale | The anatomy of an experience entry |
| Technology named instead of impact | Naming real systems and real scale |
| No numbers at all | Quantification without fabrication |
| Decisions described as tasks | Senior and staff engineer |
| "Mentored junior engineers" with no outcome | Senior and staff engineer |
| GDPR migration reduced to "worked on" | Scope, ownership, and ambiguity |
After
The rewritten version is the senior template. The changes:
Context lines establishing organisational scope. "Technical direction for the data platform: 6 teams, ~40 engineers, 2.4B events/day ingested." One line converts the entire reading of the role.
Reach added to every bullet.
- "Built the event ingestion platform using Kafka and Go" → "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."
Decisions made visible with their reasoning.
- "Migrated the analytics store from Elasticsearch to ClickHouse" → "Chose ClickHouse over Elasticsearch after benchmarking both on 90 days of production traffic; cut query cost ~70% at equivalent p95 latency." The decision, the evaluation, and the result.
Business consequence attached. The GDPR work gained the regulatory deadline. The throughput work gained the customer-onboarding cap it removed.
Mentoring given an outcome. "Mentor 4 senior engineers; established the platform design-review forum now used company-wide." Mentoring senior engineers is itself a level signal.