Most engineering self-reviews fail the same way: they list tickets closed and frameworks used, and never make the case for impact. A strong self-review reads like a series of short stories — each one a concrete situation, a specific action you took, and a measurable result. Below are role-specific examples for software engineers, organized by the categories that show up on most review forms, written in STAR shape (Situation, Task, Action, Result) so you can adapt them directly.
How to use these examples
Don't copy them verbatim. Use the structure: pick a real project from the last cycle, then fill in your own situation, action, and result. Where you don't have a metric, describe the impact qualitatively — never invent numbers.
The STAR shape keeps each example tight:
- Situation — what was happening and why it mattered.
- Task — what you specifically owned.
- Action — what you actually did.
- Result — the outcome, with a number when you have one.
Delivery and execution
Shipped checkout migration on a compressed timeline. Our legacy checkout was blocking three roadmap items and the migration had stalled twice. I owned the cutover plan, broke it into four feature-flagged increments, and shipped the final increment two weeks ahead of the revised deadline. Checkout error rate dropped 40% post-launch and unblocked the Q3 roadmap.
Cut p95 API latency in the orders service. Orders API p95 was breaching SLO during peak hours. I profiled the hot path, identified an N+1 query on the line-items join, and shipped a batched-read fix behind a flag. p95 dropped from 820ms to 310ms, ending the SLO breach.
Code quality and technical leadership
Raised test coverage on the billing module from 41% to 78%. Billing had the highest incident rate on the team and the lowest coverage. I set a coverage gate in CI, wrote the missing integration tests for the refund and proration paths, and paired with two teammates to cover the rest. Billing incidents dropped to zero in the following quarter.
Set the migration pattern adopted across the team. During the auth-service rewrite I wrote a short RFC on the cutover pattern — feature flag, dual-write, backfill, read-switch — and the team adopted it as the default for three subsequent migrations.
Collaboration and mentorship
Mentored two new engineers through ramp-up. Both were assigned to my squad in the same month. I structured their first 30 days around progressively larger PRs and ran a weekly 1:1 on each. Both shipped to production in week three and now operate independently.
Unblocked a stalled cross-team integration. The mobile team and our team had been blocked on an API contract for three weeks. I scheduled a working session, walked through the edge cases live, and we shipped the agreed contract the same day.
Ownership and impact
Owned the on-call rotation rewrite. On-call pages had grown to 14/week and were burning the team out. I led a root-cause review of the top five page sources, shipped fixes for three, and added auto-remediation for the other two. Pages dropped to 4/week within a cycle.
Drove an ambiguous, unowned reliability problem to resolution. Background job failures were silently retrying and masking data inconsistencies. No one owned it. I instrumented the failure path, surfaced the real failure rate (8%, not the reported 0.3%), and shipped a fix that brought it under 0.5%.
Growth areas (the section most people skip)
A strong self-review names one or two real growth areas — not weaknesses, but the next thing you're working on. Examples:
System design at larger scope. I'm comfortable designing within a single service. Next cycle I want to lead the design for a multi-service initiative end to end, starting with the notifications platform refactor.
Communicating tradeoffs to non-technical stakeholders. I default to technical depth in product reviews. I'm working on leading with the user/business impact and keeping the implementation detail for follow-ups.
A note on numbers
Reviewers reward specificity. "Improved performance" is forgettable; "cut p95 from 820ms to 310ms" is not. If you don't have the exact number, give the range or the qualitative impact ("noticeably faster on every page that uses the orders feed"). Don't invent precision you don't have — it erodes trust if challenged.
---
The engineers who write strong self-reviews are usually the ones who captured their work as it happened — not the ones with better memories.
Start logging your wins free →