How to Write a Good Resume

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

The new graduate rewriteBefore• Six coursework projects, one line each• "Familiar with" list of ten languages• Education padded with every moduleAfter• One deployed project, four bullets• Skills cut to what he has shipped• Internship promoted above coursework
The page did not gain material; it spent the same space on one thing instead of six.

Before

Text
                          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 music

What is wrong

ProblemCovered in
Objective is generic and unverifiableSummary or objective
School results present four years after they stopped matteringOrder: reverse chronology and sections
Five projects, all tutorial-grade, none showing a decisionStudent and new graduate
Internship bullets describe attendance, not outcomesResponsibility lists instead of outcomes
Skills list includes MS Office, Windows, and soft skillsA skills section that survives scrutiny
Hobbies section costs a line and adds nothingOrder: 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.

Four years, reading as a job specBefore• "Responsible for microservices"• "Participated in on-call rotation"• "Worked with product and design"After• "Split themonolith's billing service out"• "Cut on-call pages by half in a quarter"• "Shipped the redesign to 400k users"
A strong engineer was invisible because every bullet described the role rather than what he did in it.

Before

Text
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 – 2020

What 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:

ProblemCovered in
Summary is entirely unverifiable adjectivesSummary or objective, Buzzwords and rating bars
Every bullet starts with an activity verbResponsibility lists instead of outcomes
No numbers anywhere on the pageQuantification without fabrication
No context lines, so scope is invisibleThe anatomy of an experience entry
Skill rating bars — meaningless and unparseableBuzzwords and rating bars
Junior role bullets actively harm ("Learned company technologies")Signal versus noise
Equal weight across three rolesMid-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.

Staff work, written too smallBefore• "Improved the deployment process"• "Mentored two junior engineers"• "Contributed to the platform rewrite"After• "Cut deploy time org-wide, 50m to 8m"• "Ran the team'spromotion-track mentoring"• "Led the platformrewrite across six teams"
This is the most expensive failure in the subject, because describing staff work small costs an entire level.

Before

Text
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 improvements

What 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.

ProblemCovered in
No scope on any role — no team size, no scaleThe anatomy of an experience entry
Technology named instead of impactNaming real systems and real scale
No numbers at allQuantification without fabrication
Decisions described as tasksSenior and staff engineer
"Mentored junior engineers" with no outcomeSenior 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.