Skip to content
Interview strategy

Tell Me About a Time You Failed: Software Engineer Answers and Examples

“Tell me about a time you failed” is not a trap for perfectionists. It tests whether you can own a mistake, explain it precisely and show that something changed afterwards. This guide covers what the interviewer is scoring, how to pick a failure of the right size, a structure that spends most of its time on the result and the lesson, two fully written engineering answers, and the follow-up questions that expose a rehearsed story.

By Published

9 min readEditorial analysisUpdated
  • behavioral interview
  • STAR method
  • failure question
  • interview answers
What to remember

Pick a real failure where your decision mattered, say “I” for your part, state the damage plainly, and spend most of the answer on what changed: a check, a process or a habit you can prove has worked since.

What the interviewer is actually assessing

Interviewers are not looking for a flawless record. Amazon's recruiters tell candidates directly that it is fine to talk about failure and to describe risks taken, failures and growth; one recruiting manager puts it as “You can't innovate without failure.” Amazon's Earn Trust principle asks leaders to be vocally self-critical even when that is awkward, and its Ownership principle describes people who act for the whole company rather than disowning problems. Most engineering interviewers listen for the same signals, whether or not they use those words.

In practice the question measures four things: ownership, meaning you name your own decision; judgment, meaning the risk you took was reasonable given what you knew; a learning loop, meaning something concrete changed afterwards; and proportion, meaning you can describe a bad day calmly and precisely. Amazon's interview guide also asks for “I” statements, measurable outcomes and lessons learned, in answers that typically last two to three minutes. A polished non-failure fails all four signals at once.

Pick a real failure of the right size

The best story has real consequences, a decision of yours among the causes, and enough distance that you can show what happened next. “I worked too hard” is not a failure, and neither is a project that died because leadership changed direction while you executed perfectly. Equally, avoid stories that undermine the core of the role, such as deliberate corner-cutting on security, or problems that are still unresolved, because the interview turns into an investigation instead of a conversation about learning.

Match the size to the level you want. A junior engineer can use a task-level mistake, such as a bug that reached production because of a missing test. A senior candidate should show a failure of judgment or coordination: an estimate, a design choice, a rollout plan or a late escalation. Prepare two stories, because a common follow-up is “tell me about another one,” and a second answer shows the first was not a one-off you rehearsed.

  • Real impact on users, teammates or a deadline, stated in numbers if you have them.
  • Your decision was a cause, so you can say “I” without blaming anyone else.
  • It is recoverable and old enough that you can show the fix working since.
  • Its scale matches the level: tasks for junior roles, judgment and coordination for senior ones.

A structure that spends its time on the lesson

Use STAR, but redistribute the time. Situation and Task get two or three sentences combined: the system, your role, the stakes. Action covers what you did, including the mistake itself and how you responded once you saw it. Result states the damage and the recovery honestly. Then add the part most answers skip: Learning, meaning the specific change in process, tooling or behavior, and proof that it held. In a two-minute answer, aim for roughly half on result, learning and proof.

Blameless postmortem practice helps here. Google's SRE book describes postmortems that look for contributing causes without indicting any individual or team. That is the right lens for a system, but an interview asks for your contributing cause. Say both: what the system allowed, and what you would personally do differently. Candidates who only describe the system sound evasive, and candidates who only blame themselves sound as if they learned nothing structural.

Example answer 1: a production incident you caused

“Two years ago I owned the orders service at an e-commerce company. A customer-history query was slow, so I wrote a migration adding an index to the orders table, about 40 million rows. I used a plain CREATE INDEX and tested it on staging, where the table had a few thousand rows and the build finished instantly. I deployed at 11 a.m. In production the build locked the table against writes. Reads kept working, so dashboards looked healthy, but every checkout insert queued. Our error-rate alert fired after four minutes; I found my migration in the active queries, cancelled it with pg_cancel_backend, and writes recovered within a minute. About seven minutes of checkouts stalled or failed during a weekday peak.

I ran the postmortem and wrote down that the root cause was my assumption that staging timing predicted production. We changed three things: the migration linter now fails a CREATE INDEX without CONCURRENTLY on large tables; our migration tool gained a non-transactional mode, because CREATE INDEX CONCURRENTLY cannot run inside a transaction block; and staging gets a weekly anonymized snapshot at production scale. I rebuilt the index concurrently that evening. Since then we have shipped dozens of index migrations without a write outage, and I wrote our internal guide to safe schema changes.”

Why it works: ownership in the first lines, a mechanism an interviewer can verify in the PostgreSQL documentation, a fast and specific recovery, and fixes at three levels (tool, process, environment) plus evidence they held. It also names the moment of detection honestly, four minutes, instead of implying instant heroics. The numbers here are illustrative; use your own and do not inflate them, because follow-up questions tend to land on exactly those details.

Example answer 2: a missed deadline from bad estimation

“Last year we had to move our payouts integration from a provider's deprecated API to its new webhook-based API before the old one was switched off. I knew the integration best, so I gave the estimate: three weeks. I estimated the happy path. Two weeks in I learned that the new webhooks could arrive out of order and be retried, so we needed idempotent handlers and a nightly reconciliation against the provider's reports. By then I knew three weeks was wrong, but I spent another week trying to catch up before telling my manager. We shipped in seven weeks, a partner launch slipped by a month, and my manager heard about the slip later than she should have.

Two things changed. First, how I estimate: I now run a time-boxed spike on the riskiest unknown before I give a number, and I give a range with the assumptions written down. Here, a two-day spike would have exposed the retry behavior. Second, how I communicate: I flag any slip above 20 percent the day I see it, together with options. On the next integration, a tax-calculation service, I estimated four to six weeks after a three-day spike, delivered in five, and raised a scope risk in the first week, so product cut a feature instead of moving the date.”

Note what the real failure is: not the wrong estimate, which happens to everyone, but the week of silence after the estimate was known to be wrong. Naming that is what makes the answer credible, and the second project shows both changes working rather than merely promised. Like the first example, this one is illustrative: keep the structure, not the details.

Red flags, follow-ups and weak vs strong moves

The answers that sink candidates follow a few patterns: a disguised strength presented as a failure, a story where another team or a vague “we” caused everything, a lesson as generic as “I learned to be more careful,” or a failure that is still repeating. Interviewers probe with follow-ups, so rehearse beyond the script. Each follow-up below tests whether the story is real and whether the change stuck.

  • When did you first suspect a problem, and why didn't you act sooner?
  • What would you do differently on the first day of that project?
  • How did your manager and team react, and what did you say to them?
  • How do you know the fix worked?
  • Tell me about another time you failed.
Weak vs strong moves in a failure answer
MoveWeak answerStrong answer
Choosing the storyHumblebrag: “I care too much”A real miss with real impact
Ownership“We” or another team caused it“I” for the decision you made
Detail“Something broke in prod”The mechanism in one or two sentences
ResultSkips the damageStates impact and recovery plainly
Learning“I learned to be careful”A changed check, process or habit
ProofEnds at the lessonShows the change working since

Practice: write it, then cut it to two minutes

Write both stories out in full, then cut until each runs about two minutes aloud with the setup under thirty seconds. Record yourself once: if the lesson arrives after the ninety-second mark, move it earlier. Then have a friend ask the follow-up questions above in random order. A flashcard with the story's key facts, numbers and lesson, reviewed a few times before interviews, keeps the details accurate without making the delivery sound memorized.

The STAR examples and the behavioral question bank cover the rest of the loop, and the preparation guide explains how to build a story bank that covers several questions with a handful of experiences. A failure story often doubles as an answer to questions about conflict, a tough decision or receiving feedback, so note which other questions each story can serve.

Quick answers

Frequently asked questions

Can I use a failure from outside work?

Early in your career, yes: an internship, a university team project or an open-source contribution works if the stakes were real and you can show what changed. Experienced engineers should use work stories, because the interviewer wants evidence of professional judgment.

Should I mention a failure that led to a performance plan?

Usually not as your first story, because it invites questions that can consume the interview. If it is genuinely your best example, keep it factual, own your part and spend most of the time on what changed. Never misrepresent it if you are asked directly.

How long should my answer be?

Aim for about two minutes, then stop and let the interviewer ask. Amazon's interview guide says STAR answers typically last two to three minutes. If the setup takes more than thirty seconds, cut background the interviewer does not need to follow the decision.

What if the failure was mostly someone else's fault?

Pick another story, or tell this one from your side: what you noticed, what you could have done earlier, and what you now do differently. A postmortem looks for every contributing cause; an interview asks specifically about yours.

Source notes

References and review policy

Information checked on November 7, 2026. Section links identify sources for factual claims and technical explanations. Interpretations, practice scenarios and preparation recommendations are RecallDeck’s editorial work.

From reading to recall

Practice the full interview loop.

RecallDeck schedules the concepts you miss and keeps coding, design, and behavioral fundamentals available when the interviewer changes direction.

Start studying

Keep going

Interview strategy3 min

How to Prepare for a System Design Interview

Prepare for a system design interview with a repeatable framework for requirements, estimates, architecture, data, failure, and trade-offs.

2 quick answers