Skip to content

Narrating while you code

Narrate intent, not keystrokes: what you will do next, why, and what you are unsure of.

Predict first

Before you read: predict

Pair round on ExamHall's proctor client. The interviewer has agreed your plan for throttle(sendEvent, 1000), and you are about to write the check that compares the current time with the last send.

Which of these, at this moment, gives the interviewer the most to assess?

Pick one

The 30-second version

While you code, say what you are about to do, why it fits, and what you are still unsure of. An interviewer can score what you show, so a silent decision leaves no evidence and gives them nothing to correct. Reading out syntax is not narration. Talking while solving costs attention, so keep it to intent and practise it.

Narrate intent, not keystrokes: what you will do next, why, and what you are unsure of.

How it works

Step 1 of 7

Say the next step. Before a block of code, name what it will do in task terms, not the syntax you are about to type.

Analogy: A commentary drive with an assessor in the passenger seat

In an advanced-driving commentary drive, the driver speaks while she drives: what she sees, what she plans and why. “Bus pulling in ahead; I'm easing off and checking my mirror before I pass it.” She does not say “clutch down, second gear”: the assessor can watch the gear lever move. The assessor judges her observation and planning, and can judge only what she does or says. A smooth silent pass leaves no evidence that she saw the cyclist behind the bus.

In the commentary drive In the pair round
“Bus pulling in; easing off before I pass” The next step and its purpose
“Clutch down, second gear” Reading out keystrokes
A smooth, silent overtake A correct step with no stated reason
“I can't see past the van, so I'm holding back” An open case said aloud, which the interviewer can answer
On a hard junction, the plan in four words Short narration at a hard moment

Breaks down when: an assessor rarely helps during the drive, while an interviewer may answer a voiced doubt. Wrong inference: “a voiced doubt is only scored, never answered.” Commentary also narrates the road, which the assessor can see too; in the pair round the interviewer cannot see your reasons at all.

In real terms: at each decision point, one sentence of what, why and what you are unsure of, then keep coding.

Examples, run for real

EXH-2040 is a synthetic recording of a practice pair round. The candidate implements ExamHall's throttle for proctor events, the change shipped as MR !2340. The candidate narrated keystrokes, then fell silent at both of the round's real decisions. The intent, keys and filler tags are the author's hand labels on the fixture.

EXH-2040 recording: 6 utterances · intent 1 · keys 3 · filler 2
  silence 00:35-02:05 (90 s) · unspoken: keep the last call of a burst and send it when the window ends
  silence 02:28-04:10 (102 s) · unspoken: one window per event type, held in a Map
  silences over 60 s: 2
MR !2340 re-run: 6 utterances · intent 6 · keys 0 · filler 0
  silences over 60 s: 0

The first recording has six utterances, and none of them carries a decision. Three read syntax aloud, two are filler, and the one intent line opens the task. Both of the round's decisions happened inside a long silence. The interviewer's notes can say only that a throttle appeared.

In the re-run, the same two decisions arrive as sentences while the code is written. “A burst's last event is the newest state, so I'll keep it and send it when the window closes.” “So a Map from event type to its window: one lookup per call, and types never block each other.” One more line voices an open case: “I'm assuming tab-switch and paste events shouldn't share a window; tell me if they should.” The interviewer can now score the choices, and could have corrected the assumption at once.

The script measures silences and joins them to edits; it does not judge whether a sentence is good narration. The tags are the author's, and a real recording would need a person to label it.

Picture it

a woman in a blue blazer gestures at an open laptop and speaks, while a man in a green shirt listens with his hand on his chin.
An illustration to help it stick. The mechanism is in the sections above.

Try it

Answer first, then check. Nothing is saved.

Question 1 of 5

In a pair round, a candidate stores applied coupon codes in a Map keyed by code, types for two minutes in silence, runs the example and says “Works.” The interviewer has asked nothing yet.

What evidence about the Map decision does the interviewer now hold?

Pick one

Question 2 of 5

While writing applyCoupons(cart, codes), a candidate creates a Set of the codes applied so far. The receipt may list the applied coupons in any order.

The interviewer asks, “Why that data structure?” Which answer gives the interviewer something to score?

Pick one

Question 3 of 5

A learner scores lower on mock checkout tasks solved aloud while a friend watches than on solo practice solved in silence, and wonders what the gap says.

Which conclusion matches the published research on think-aloud coding interviews?

Pick one

Question 4 of 5

A pair-round transcript on a checkout page reads: 00:20 “I'll guard Place order so a double click can't submit two orders.” From 00:25 to 01:50 the candidate speaks every 20–30 s: “a lastClick variable”, “if now minus lastClick is under 2000, return”, “then store now in lastClick”. The guard ignores a click within 2 s of the previous one.

01:50 “Guard's in; next, the button's loading state.” Ten minutes later the interviewer asks whether a second click should be dropped or queued, and the candidate says, “I assumed dropped.” What is the defect in the 00:20–01:50 stretch?

Pick one

Question 5 of 5

A learner's recorded mock checkout round has no gap over 20 s: the learner speaks each statement while typing it (“const seen equals new Set”, “for code of codes”, “if seen has code, continue”).

The interviewer's notes say “talked steadily; could not tell why this approach.” Which change to the learner's habit addresses this?

Pick one

Go deeper

Pro tip

Record only the audio of a ten-minute practice solve. Listen once: wherever you could not tell what the code was doing or why, write the one sentence that would have told you.

Checked against the tools and docs as of 2026-10-01.