Open your resume to the experience section. There's a good chance you'll find something like this:
> Responsible for order APIs in Java and Spring Boot. Worked on database migration. Stack: Jenkins, Docker, Sonar.
All of it is true, and a fast reader still has nothing to score. The line describes the job, not what changed because you were in it. The job posting already said someone would look after the order APIs. Your resume just confirms the position was filled.
The odd part is that many people have already rehearsed the result for the interview. They can say what changed, number included. The result lives in what they say out loud and never makes it onto the page. This article covers the XYZ format, a four-part card for writing one bullet, a table of rewrites, and a 10-second test with a colleague that shows whether the impact comes through when you aren't standing next to the page explaining it.
XYZ versus a list of responsibilities
Laszlo Bock, who ran people operations at Google, recommends in his book Work Rules! (2015) that each experience line have three parts: what you accomplished (X), how it was measured (Y), and what you did to get there (Z). Roughly: accomplished X, as measured by Y, by doing Z. That is resume-writing advice from Bock, not a published Google screening rule. If someone tells you "Google requires XYZ," be skeptical of the sentence. The format is still worth using.
A list of responsibilities answers one question: what was in your scope. That information comes from your employment contract and says nothing about how you performed. XYZ answers three questions the contract can't: what changed, by how much, and how.
"Responsible for" is the extreme case. The phrase describes scope, and the reader has no way of knowing whether anything happened. You can be responsible for an API for two years, and the best thing that happened to it might be that nobody opened the code.
The one-bullet card: four parts, one line
For everyday writing we use a compact version of XYZ: verb + object + metric + constraint. Verb and object make up the X, and the metric is the Y. The constraint usually travels with the Z, because it explains the conditions you worked under.
| Part | What it is | Example | Avoid |
|---|---|---|---|
| Verb | Specific action, past tense | reduced, migrated, eliminated, instrumented | worked on, participated in, assisted with |
| Object | What changed: a system, process, or user | pipeline build time | "various projects" |
| Metric | Number or range, with a unit and a time window | from 22 min to 9 min | "improved 30%" |
| Constraint | The condition that makes it non-trivial | with a team of 3, no downtime during business hours | "in a challenging environment" |
What stays out:
- "Responsible for" and its close relatives, like "worked on" and "involved in."
- Filler adjectives like robust, scalable, or high-performance. If the number is in the bullet, the adjective is redundant. If the number isn't there, the adjective won't save it.
- A stack dumped at the end. If the technology was the means, it goes in the Z ("by removing N+1 queries… and adding a read cache"). If it's just inventory, it belongs in the skills section.
- Multi-paragraph STAR. Spoken STAR is for the interview, where the situation and the action have time to unfold. That's the subject of How to tell an interview story with STAR in 90 seconds. On the resume only the R survives, and it gets one line. If the bullet needs context to make sense, that context belongs in the conversation, not on the page.
The four rewrites below are editorial composites in Java/Spring. They're fictional, they aren't the author's biography, and the numbers were picked on purpose to look plausible. Use your own.
| Before (list) | After (XYZ) |
|---|---|
| Responsible for order APIs in Java and Spring Boot. | Reduced checkout response time from 1.8 s to 700 ms (p95, 30 days) by removing N+1 queries in 3 endpoints and adding a read cache. |
| Responsible for maintaining CI/CD pipelines. Stack: Jenkins, Docker, Sonar. | Cut pipeline build time from 22 min to 9 min by isolating integration tests and parallelizing 4 stages. |
| Worked on database migration, participated in modernization project. | Migrated 40 tables from Oracle to PostgreSQL in 6 weeks with a team of 3, with no downtime during business hours, using dual-write and 2 tested rollback windows. |
| Responsible for handling production incidents. | Instrumented latency alerts across 12 services; customer-detected incidents dropped from 5 to 1 per month the following quarter. |
In the left column, nobody can tell what got better. In the right column, the impact shows up in one line, even when the number is modest. Look at the constraints too. "With a team of 3" and "no downtime during business hours" are what keep the bullet from reading as inflated.
Some bullets look like XYZ and aren't. The usual signs:
- The number measures volume, not impact. "Built Spring Boot APIs with metrics across 40 endpoints" says how much you worked, not what changed.
- The metric has no unit or window. "Improved 30%": 30% of what, and over what period?
- The number has no scope. "Saved $200k" without saying which process or what period.
- The XYZ runs four lines. At that point it has become a written STAR.
- You can't defend the metric. If the interviewer asks "how did you measure that?" and you have no answer, the bullet starts working against you.
Tomorrow's experiment: three bullets, 10 seconds each
The 10-second timer is our own calibration tool for two people. It does not measure how long a recruiter spends on your resume. The point is to practice the gap between "I know what I did" and "a stranger understands what changed." With a colleague, the whole test takes about 15 minutes.
- Pick three real bullets from your current resume, ideally the ones that read most like a list.
- Rewrite each one with the card, in one line.
- Put each bullet alone on a card, sheet, or screen, with no job title, company, or context.
- Your colleague reads each card for 10 seconds with the timer in view. Then you hide the text and they answer from memory, without rereading: what changed?
- Score each criterion in the table below from 0 to 2.
- Discuss only the low-scoring cards, rewrite them, and repeat the 10-second read. Two rounds are enough.
| Criterion | 0 | 1 | 2 |
|---|---|---|---|
| Visible impact | Colleague can't say what changed | Knows the topic, not the effect | States what changed without asking anything |
| Metric | No number | Number without unit or window | Number or range with unit and window |
| Constraint | None | Vague ("tight deadline") | Concrete condition (team of 3, no downtime) |
| No stack dump | Ends in a list of technologies | Loose technology with no role in the sentence | Technology only as the means, or absent |
The house rule is simple: a card that scores 0 on impact goes back for a rewrite, whatever the rest of the score says.
One honesty rule for the record: if your colleague needed a spoken explanation to understand the bullet, it's still a spoken STAR. You just gave a mini-interview, and in a real screening you won't be sitting next to your resume to explain it.
When not to force a number
XYZ assumes there's a measurement available, and sometimes there isn't. In the three cases below, the honest move is to describe scope and constraint without making up a percentage:
- Junior with no visible metric. A lot of early-career work has no accessible number, and that's normal. For example: "Implemented 8 endpoints for a Spring service in 2 sprints, with code review from 2 people and an agreed 70% test coverage." That's scope with a constraint, and no "performance improvement" pulled out of thin air.
- NDA. Swap the absolute value for a relative one: "Reduced monthly close time for a financial process by ~40% (relative scale; absolute figures under NDA)." This only works if the 40% is yours and was actually measured. If even the relative number can't be shared, describe the kind of system and the constraint, with no number.
- Maintenance with no baseline. If nobody measured before, there's no "before" to compare against. Describe what you kept running and under what conditions: "Kept 12 legacy services in production for 18 months, with 1 on-call shift per week and zero critical regressions reported." Or start measuring now and use the number next cycle.
In the 10-second test, these bullets can score 0 on metric and that's fine. The bar moves to 2 on visible impact and 2 on constraint.
The golden rule: a bullet with no number beats a bullet with a number you can't defend for 30 seconds in an interview.
Next step
Tomorrow, open your resume and mark the three bullets that start with "responsible for" or "worked on." Rewrite each one with verb, object, metric, and constraint, then book 15 minutes with a colleague and a timer. The exercise won't guarantee you get past screening. It does guarantee the impact is written down somewhere a reader can actually see it.