aurate

Software engineer behavioural interview questions: the round the handbook skips

Updated 5 July 2026software engineer behavioural interview questions

Scope first: this page contains no algorithm drills. Coding rounds are well served by dedicated practice platforms, and pretending a prep page substitutes for them would be dishonest. What those platforms leave thin is the round that UK engineering processes weight heavily and candidates persistently wing: the behavioural interview — incidents owned, review conflicts survived, debt trade-offs argued, and technical decisions explained to people who don't write code.

That round exists because engineering failure is rarely algorithmic. Teams ship outages through unowned mistakes, lose weeks to review standoffs, and drown in debt because nobody could make the business case for paying it down. Interviewers probe your history with exactly those situations — and they can tell rehearsed humility from the real thing, because the real thing comes with specifics: ticket numbers, timelines, the sentence you actually said in the incident channel.

The framing throughout is deliberately UK-shaped: ordinary product companies, agencies, and public-sector suppliers rather than a hyperscaler fantasy. The marked answers are the kind of evidence that lands in a Leeds scale-up or a government supplier's panel — concrete, blame-aware, and honest about cost.

Practise these questions out loud with a live AI interviewer — free. Start with Try Me

What interviewers are assessing

  • Incident behaviour: what you did in the first ten minutes, how you communicated while things were broken, and whether the post-incident fix targeted the system or a scapegoat.
  • Code-review conduct: whether you can disagree about code without disagreeing about worth — and take review the way you give it. Panels read review stories as team-health previews.
  • Trade-off literacy: how you argue for (and against) paying down technical debt in terms a product owner can weigh — time, risk, and money rather than aesthetics.
  • Translation: whether you can explain a technical decision to a non-engineer so they can genuinely choose — the skill that separates senior engineers from fast ones.

How the marking guidance works

Each model answer below is marked against the four criteria a live aurate session scores:

  • Logic — structure and reasoning: does the answer hold together as an argument?
  • Resilience — composure under pressure: what happens when the answer is pushed, interrupted or challenged.
  • Synthesis — connection: tying your evidence to this role and building on what you've already said.
  • Specificity — concreteness: named situations, numbers and outcomes that couldn't belong to anyone else.

See how a full session is scored

aurate is a practice tool. Marking guidance describes what strong practice answers show — it isn't an employability assessment.

1. Tell me about an incident you owned. Walk me through it from the first alert.

Why it's asked: The from-the-first-alert framing defeats summary-mode: interviewers want the real sequence — detection, triage, communication, fix, follow-up — because incident behaviour under adrenaline is the truest available preview of an engineer's professional character. The word 'owned' is doing work too: your incident, your mistake included if that's the truth.

Model answerProduction incident, healthcare bookings supplier

The Monday our clinic-booking system started double-booking appointment slots — my code, as it turned out.

First alert was support, not monitoring: two clinics phoned within twenty minutes about patients arriving for the same slot. I picked it up at 09:40. First ten minutes: confirmed it was real and current — reproduced a double-book on our staging clone — and posted in the incident channel that bookings were affected, cause unknown, updates every twenty minutes. That message went out before I understood anything, which I've learned is the point: silence is what stakeholders can't work with.

Triage: the previous Thursday I'd shipped a change moving slot-locking from the database to our new caching layer. Under Monday-morning load, two requests could both pass the availability check in the cache-refresh window. Classic race, mine.

The call I'm most deliberate about in hindsight: we rolled back rather than fixed forward — reverting to database locking cost us the performance gain but was provably safe, and I said in the channel 'my change, rolling back' by 10:15. Bookings were clean by 10:40. Thirty-one double-bookings in total; the clinics had a list of every affected appointment within the hour, from a query I wrote while the rollback deployed.

The follow-up that mattered: a load test that simulates Monday-morning booking bursts is now in our pipeline — the gap wasn't my race condition, it was that nothing between my laptop and production resembled Monday at 9am. And I presented the post-incident review myself, named as author of both the bug and the fix.

No one was blamed, including me — the review's conclusion was that our pipeline made the mistake easy. But ownership isn't about blame; it's about who moves first.

Marking guide

Logic:
The sequence is disciplined — confirm, communicate, triage, decide rollback-versus-forward with stated reasoning — and the closing distinction between ownership and blame gives the story its professional altitude.
Resilience:
'My change, rolling back' at 10:15 is composure recorded in a timestamp. Expect the probe 'why not fix forward?' — the provably-safe-versus-fast reasoning is the prepared answer, and it generalises.
Synthesis:
The load-test conclusion connects the individual bug to the system that permitted it — a post-mortem finding the process gap rather than performing contrition.
Specificity:
09:40 pickup, 10:15 attribution, 10:40 clean, thirty-one affected bookings, a named mechanism (cache-refresh race). Incident stories live or die on timeline precision — this one is minute-stamped.

2. Tell me about a code review disagreement that got difficult. How did it resolve?

Why it's asked: Review conflict is where engineering culture actually lives, and panels probe it because your conduct there predicts your effect on team health. They're listening for the ability to separate the code from the person, escalate on evidence rather than volume, and — hardest — the time you were the one who had to back down.

Model answerCode review conflict, retail stock-management system

A review that ran to nearly forty comments over three days — with a contractor whose stock-reconciliation change I believed introduced silent data loss on failure.

His change batched warehouse stock updates for speed. My objection: if the process died mid-batch, we'd have no record of which updates were applied — the failure mode wasn't an error, it was quiet inconsistency in stock numbers, the kind that surfaces weeks later as unexplained shrinkage. His position, held firmly: the speed problem was real and current, my failure case was hypothetical, and the deadline wasn't.

Where it got difficult: around comment twenty, the thread turned from the code to the author — his phrase was 'over-engineering from someone who doesn't own this deadline', mine, which I regret, was a sarcastic remark about hoping the warehouse enjoyed guessing. Neither of us was at our best in writing.

What resolved it, mechanically: I stopped typing and booked thirty minutes with a screen share. Face to face, the actual disagreement turned out to be narrower than the thread suggested — he wasn't dismissing recoverability, he was dismissing my proposed implementation of it as too heavy, and on that he was half right. We landed on a lighter version: a journal table writing batch progress, maybe an hour of extra work, giving us replay-from-failure without the full transactional apparatus I'd wanted.

Two things changed permanently. The team adopted a rule I proposed: any review past ten comments moves to a call, because text escalates. And I apologised for the sarcasm in the thread itself — publicly, where the sarcasm had been. The contractor and I worked well together for the rest of his engagement, which I'd have bet against at comment twenty.

Marking guide

Logic:
The disagreement is technically real (silent-failure semantics versus delivery pressure) and its resolution is a genuine synthesis — the journal-table compromise — not a winner and a loser. The ten-comment rule generalises the lesson into team infrastructure.
Resilience:
Owning the sarcasm, and apologising where the audience was, is the answer's costliest and most credible move. Expect 'what if he'd refused the call?' — have the honest next step (a third reviewer on the specific failure case, framed as evidence not escalation).
Synthesis:
The answer reads the conflict at three levels — code semantics, thread dynamics, team process — and fixes all three. That layering is what senior review conduct actually looks like.
Specificity:
Forty comments, three days, thirty minutes on a call, an hour of compromise work, a ten-comment rule. The regretted sentence is quoted, which is what separates confession from summary.

Behavioural rounds probe the story you think is finished

Every marked answer above survives follow-ups — the timeline, the regretted sentence, the trade-off held under pressure. That's what engineering panels do to your stories, and it's what a live aurate session rehearses: your incidents and conflicts, probed by an interviewer that pushes back, marked on the same four criteria this page uses. Two free sessions. No credit card.

Try it free

3. Tell me about arguing for time to deal with technical debt — and how you made the case.

Why it's asked: Debt paydown competes with features for the same sprint capacity, and engineers who can't argue the trade-off in business terms lose it by default. Interviewers want a real negotiation: the debt named, its cost translated into product language, the deal struck — and honesty about debt you chose to leave.

Model answerTech-debt negotiation, insurance quote engine

Our quote engine's premium-calculation configuration — three years of pricing rules accreted as nested conditionals — and the negotiation that got two sprints to restructure it.

The argument I didn't make: 'the code is a mess and we should be ashamed.' Product owners can't weigh shame. The argument I did make took a fortnight of evidence-gathering: every pricing change for the previous two quarters, with time from request to production and defects introduced. The numbers made the case — pricing changes averaged nine days each, two of the last seven had shipped errors needing hotfixes, and one insurer-partner change had taken nineteen days against their expected five, which had become a relationship problem beyond engineering.

Then the translation, one slide: 'pricing agility is a product feature. It currently costs nine days and carries a two-in-seven error rate. Here's the restructure that makes it two days and low-error; it costs two sprints; here's what we're NOT doing in those sprints, named.' Being the one to name the displaced features mattered — it made the trade visible instead of hidden, which is what builds trust for the next ask.

The deal: two sprints, and my commitment to a measured before/after. After: pricing changes averaged just over two days across the next quarter, zero hotfixes, and — the number I hadn't promised — the commercial team started saying yes to insurer requests they'd previously deflected.

The debt I chose to leave, deliberately: the quote engine's logging is ugly but harmless, and I said so in the same meeting. Arguing to fix everything is how you lose the authority to fix anything.

Marking guide

Logic:
The answer's spine is translation: debt cost measured in product currency (days, errors, a strained partnership), the remedy priced with its displacement named. The deliberately-left debt proves prioritisation rather than perfectionism.
Resilience:
Committing to a measured before/after puts the engineer's credibility at stake — the strong move interviewers look for. The probe: 'what if the restructure had overrun?' — have the honest contingency (scope-cut order pre-agreed).
Synthesis:
Connecting nested conditionals to a commercial relationship problem, and paydown to sales behaviour ('yes to requests they'd deflected'), runs the full chain from code to business — the whole point of the question.
Specificity:
Nine days to two, two-in-seven to zero hotfixes, nineteen days versus an expected five, two sprints paid. Debt arguments are won with these numbers and lost without them.

4. Explain a technical decision you made to a non-technical stakeholder — recreate it for me now.

Why it's asked: The interviewer plays the stakeholder and marks the explanation live: does it land the trade-off in the listener's terms, give them a genuine choice, and survive their questions without retreating into jargon? Engineers who can do this get trusted with ambiguity; engineers who can't get managed.

Model answerPlain-English translation, charity donations site

The real conversation was with our fundraising director, about why I wanted to delay her campaign's launch feature by two weeks to change how we processed donation payments. I'll recreate it as I gave it.

'Right now, when someone donates, our system does everything in one go — takes the payment, updates our records, sends the thank-you email — like a cashier who won't serve the next customer until the previous one's receipt is filed. On a normal day, fine. On the day a campaign goes viral, the queue backs up, and the worst case isn't slowness — it's that the payment succeeds but the filing fails, so someone gives us money and gets no acknowledgement, no Gift Aid record. Last November that happened forty-one times in one evening, and your team hand-fixed every one.

The change I'm proposing splits the cashier from the filing: we take the payment and immediately confirm it, and everything else joins an orderly queue that catches up within minutes, even on the best day we've ever had. The cost is two weeks before your launch feature, because I need to build the queue properly rather than bolt it on.

Your choice is genuinely open: launch on the original date and accept that a wildly successful campaign might repeat November at larger scale — or spend the two weeks and make success boring. What I can't offer is both, and I'd rather you choose knowing that than discover it.'

She took the two weeks — and asked me to explain the queue to her team, which is how I know the explanation worked.

Marking guide

Logic:
The cashier metaphor carries the architecture honestly (synchronous versus queued processing) without a single term of art, and the choice is framed with both options genuinely open — informed consent, not persuasion dressed as options.
Resilience:
'What I can't offer is both' holds the trade-off line against the predictable stakeholder wish. Expect the live follow-up in the interview ('what if I insist on both?') — the calm restatement, plus what partial mitigation exists, is the test.
Synthesis:
November's forty-one hand-fixes anchor the abstraction in the stakeholder's own lived cost — the translation isn't just simpler words, it's the listener's world used as the explanatory frame.
Specificity:
Forty-one failures, two weeks, a named mechanism (confirm-then-queue). The director asking for a repeat performance is the outcome that certifies the skill.

5. Tell me about a time you shipped something you weren't proud of. Why did you, and what happened?

Why it's asked: A pragmatism probe: engineering is compromise under deadline, and interviewers distrust candidates whose standards have apparently never bent. The strong answer owns a deliberate quality trade — made visible to the team, bounded, and revisited — rather than a secret corner cut and hoped about.

6. How do you handle being the least experienced person on a team — or the most?

Why it's asked: Both ends get tested because both are coming: UK engineering careers swing between them with each move. The junior end probes question-asking courage and learning method; the senior end probes whether your experience arrives as mentorship or as weather. One real story from either end beats platitudes about both.

7. Tell me about a technical decision you got wrong that others had to live with.

Why it's asked: Harder than the incident question: incidents end, architecture lingers. Interviewers want a real choice — a framework, a data model, a build-versus-buy — that aged badly, your honesty about the reasoning error, and what you did for the people maintaining the consequences. It's the deepest available probe of engineering ego.

8. A product manager wants an estimate you can't honestly give. What do you actually do?

Why it's asked: The estimation squeeze is weekly life in product teams. Panels listen for the mature middle path: neither the padded number that erodes trust nor the refused answer that reads as unhelpful — but ranged estimates with named unknowns, a spike proposed to shrink the range, and evidence you've done this with a real deadline looming.

9. What does good code review look like on a team you run or want to join?

Why it's asked: A values question in practical clothing: your answer reveals what you optimise for — speed, safety, teaching, tone — and whether you've thought about review as a system (turnaround norms, comment etiquette, when to pair instead) rather than a personal style. Teams hire people whose review philosophy won't need unlearning.

10. Why this company's engineering problems — what have you actually looked at?

Why it's asked: The homework probe, engineering edition: panels expect you've read their engineering blog if one exists, tried the product, formed a view on their likely technical tensions (scale, legacy, regulation), and can connect your experience to their specific problem class. Generic enthusiasm for 'interesting challenges' fails quietly.

FAQ

How much does the behavioural round matter for software engineers?

In UK processes, usually one full stage of three or four — and it's decisive between candidates who both pass the coding bar. Engineering managers routinely reject technically strong candidates on incident behaviour, review conduct, or translation ability, because those predict team cost in a way algorithm performance doesn't.

How should I prepare behavioural stories as an engineer?

Assemble six real stories against the recurring set — an incident owned, a review conflict, a debt negotiation, a wrong decision others inherited, a deliberate quality compromise, a translation to non-engineers — each with its timeline and numbers intact. Then say them aloud: engineers consistently over-prepare content and under-prepare delivery.

What if my experience is at small companies, not big tech?

It's an advantage dressed as an anxiety: small-company engineers own incidents end to end, negotiate debt directly with decision-makers, and talk to stakeholders without three layers of insulation. UK panels — mostly hiring for exactly such environments — often prefer that evidence to a narrow slice of a giant system. Tell it with numbers and it competes with anything.

How do I talk about an incident that was my fault?

Own it with a timeline: detection, your communication while it was broken, the fix decision, and the systemic follow-up — the structure the first marked answer on this page models. Panels aren't screening for engineers who've never broken production; they're screening for the ones who move first, communicate early, and fix the pipeline that let the mistake through.

Do UK interviews ask system design as well as behavioural questions?

For mid-level and senior roles, usually — but pitched at practical architecture (how would you build this feature, what breaks at ten times the load) rather than hyperscaler folklore. It's a separate preparation lane from this page. What overlaps: the translation skill, because design rounds are marked heavily on how you explain trade-offs, not just which you choose.

Keep practising

Sources and further reading

Ready to practise for real?

Two free sessions. No credit card.