Mentoring and Coaching Questions
Growing individual engineers and teammates through one-on-ones, coaching conversations, and hands-on technical mentorship. Covers tailoring guidance to the person, coaching versus telling, unblocking and stretching people, and measuring the impact of mentorship on someone's growth. The single largest behavioral cluster in the category.
How do you use code review as a coaching tool, not just a defect-finding exercise? Walk through how you'd handle a review where you want to teach something, not just approve or block the change.
Sample Answer
Direct answer
Code review becomes a coaching tool the moment you separate what has to change before this merges from what's worth teaching, and handle each differently, since blocking mixes poorly with explaining. What counts as the important risk to teach toward also shifts by what's being reviewed: correctness and style for typical application code, reproducibility and data leakage for ML work, and blast radius for infrastructure changes.
Separate blocking feedback from teaching feedback
- Mark comments explicitly as blocking versus non-blocking (or use a similar convention), so the author isn't left guessing what actually has to change before merge. Teaching comments that aren't required for merge belong in the non-blocking bucket, otherwise you either water down real teaching moments to keep the change unblocked, or block a mergeable change to make a point.
- Ask before you tell: a comment phrased as a question ("what happens if this list is empty?") invites the author to find the issue themselves, which teaches the underlying reasoning; a comment phrased as an instruction just transmits the fix.
What "the important risk" means shifts by artifact type
- Typical application code: the coaching focus is usually correctness, readability, and test coverage; the failure mode being taught against is a defect shipping or the next person not being able to follow the change.
- ML notebooks and experiment configs: the review risk is different in kind, not just degree. The critical things to check and teach toward are reproducibility (is the seed pinned, is the environment specified, can someone else get the same result) and data leakage (does the training data have any path back to the evaluation set, directly or through a shared preprocessing step). A notebook can be clean, readable code and still be dangerously wrong for reasons that have nothing to do with code style.
- Terraform and other infrastructure-as-code changes: the review risk is blast radius, not defects in the traditional sense. A small, correct-looking diff can still be catastrophic if it touches a shared resource or removes a safeguard. Coaching here means teaching someone to ask what does this affect beyond what's in the diff before asking is this line correct.
Making it a genuine teaching moment, not just a gate
- When there's something worth teaching, don't just fix it in the comment; explain the why, and where useful, point to a real example elsewhere in the codebase rather than a generic principle.
- For anything too deep to unpack asynchronously in a comment thread, offer a short pairing session instead of a long comment chain; some things teach faster live than in writing.
- Close the loop: after a pattern comes up more than once for the same person, raise it directly in a 1:1 rather than only ever surfacing it inside individual review threads, so it becomes a recognized growth area instead of a recurring surprise.
Worked example
Reviewing a teammate's change that added a new model training script, the code itself was clean and well-tested in the conventional sense. The actual coaching moment was elsewhere: the evaluation split was built after a preprocessing step that had already seen the full dataset, which meant the reported accuracy was optimistic in a way unit tests would never catch. Rather than just fixing the split order and moving on, the comment walked through why that ordering matters (what leakage actually does to the reported number) and pointed to another script in the repo where the split happened correctly, before the shared preprocessing step. That change did get blocked, since the leakage was a real correctness issue, but the teaching part was the explanation of why, not the fact that it was blocked.
Trade-offs and pitfalls
- Making every comment a teaching moment, including on merge-blocking issues, slows delivery and can read as review turning into a lecture; save the deeper explanations for the genuinely worthwhile ones and keep routine fixes routine.
- Applying the same review lens (say, defect-finding) to every artifact type misses the risks that matter most for that artifact; a Terraform change reviewed like application code will pass style and correctness checks while missing blast radius entirely.
- If teaching moments only ever show up as isolated review comments and never get named directly to the person as a pattern, growth stays implicit and slower than it needs to be.
How do you mentor someone you rarely see in person, whether they're remote, on a different team, or in a different time zone?
Sample Answer
Direct answer
Mentoring someone you rarely see combines deliberate async artifacts with narrow, well-prepared live time, but the shape of that changes further when the gap isn't just distance or time zone. Culture, hands-on skills that need physical access, and group settings each introduce their own specific friction that a generic "be more async" answer misses.
Baseline async toolkit
- Recorded walkthroughs instead of live explanations, so the reasoning survives the time-zone gap.
- Written runbooks and checklists instead of verbal context that only exists once.
- Threaded async status updates instead of live stand-ups.
- Infrequent, scheduled live time used for judgment calls and open questions, not status updates that could have been written down.
Culture, not just the clock
Mentoring across different cultural norms changes communication and feedback style, not only cadence. Direct, pointed critique that reads as normal in one context can read as harsh or face-threatening in another, and in some cultures a mentee may not push back or admit confusion even when they have it, because that would read as disrespectful. Adjustments: ask the mentee to restate feedback back in their own words to check it landed as intended, prefer written feedback they can process privately over being put on the spot verbally, and actively invite disagreement rather than assuming silence means agreement.
When the skill is physical or hands-on
If the mentee can't access the same lab, hardware, or physical setup the mentor has, a video call alone doesn't transfer the skill, no matter how much conversation happens. Workarounds: remote access into shared real hardware or a virtual lab where one exists, high-fidelity recordings of the technique from multiple angles, and having the mentee submit their own attempt as recorded evidence (video, logs, output) for asynchronous review as a substitute for watching over their shoulder. The honest answer names this as a real limitation rather than pretending remote conversation is equivalent.
Facilitating a remote group, not just a 1:1
Running a remote group critique is a different skill from managing 1:1 async cadence. It needs explicit turn-taking since silence reads very differently on a call than in a room, a written artifact everyone reviews beforehand so live time goes to discussion instead of a first read, and deliberately calling on quieter participants, since remote settings tend to amplify whoever is already most comfortable speaking up.
Worked example
Mentoring someone with only a narrow daily overlap window involved recorded walkthroughs for anything routine, and reserving the one live weekly slot purely for judgment calls that didn't compress well into writing. Early feedback delivered directly and pointedly in that format landed harder than intended, since it read as more severe without the in-person context to soften it. Shifting to written feedback they could sit with, followed by an open question in the next live slot, got a much more honest back-and-forth than direct verbal critique had.
Trade-offs and pitfalls
A common mistake is treating "remote" as one problem solved by one toolkit, more meetings or better docs, regardless of what's actually causing the friction. The stronger answer separates distance, time zone, culture, physical access, and group dynamics, and picks a fix matched to the actual friction rather than a generic one. Assuming a video call is a full substitute for hands-on access is a specific version of this mistake worth naming explicitly.
Set two SMART goals with someone you're mentoring who needs to grow in a specific area of their job. Walk through how you picked those goals and how you'd know they'd been met.
Sample Answer
Direct answer
Two well-chosen SMART goals for a mentee should target different dimensions, not two flavors of the same gap, typically one concrete skill or output gap and one behavioral or collaboration gap, each tied to real upcoming work (not an abstract exercise) with a defined timeframe and a way to verify progress that isn't just your own impression.
Structured elaboration
Picking the goals
- Start from an actual observed gap, not a generic template. Watch the person's real work for a pattern (recurring rework in reviews, difficulty scoping ambiguous tasks, avoiding certain kinds of conversations) rather than picking goals off a checklist.
- Pick goals from different dimensions on purpose. Two goals that are both "write better code" don't cover as much ground as one technical goal and one collaboration or communication goal; below-the-bar performance and stalled growth are rarely single-dimensional.
- Anchor each goal to real, upcoming work rather than an artificial exercise, so achieving it has actual value beyond the goal itself.
Making them SMART without making them hollow
- Specific: named against a real, current gap, not a generic aspiration ("get better at code review" is weak; "flag the two or three highest-risk issues in a review instead of commenting on every minor style choice" is usable).
- Measurable: defined by evidence you can point to later, not a feeling. This doesn't require an invented precision metric; "the last three reviews they gave focused on real risk rather than style nits" is legitimate evidence.
- Achievable: a real stretch, not guaranteed, but genuinely possible in the timeframe given their current level.
- Relevant: tied to what actually matters for their next step, not an arbitrary skill.
- Time-bound: a defined window, short enough to check in on meaningfully, long enough for real practice to happen.
Verifying they were met
Verification should come from something observable in the work itself, ideally corroborated by someone other than just you (a peer's comment, a second reviewer's read), not solely your own subjective sense that things feel better.
Worked example
Situation
A mentee was technically solid but had two recurring gaps: their code reviews tended to focus on minor style points while missing the real risk in a change, and they rarely spoke up in group design discussions even when they clearly had a relevant opinion afterward.
The two goals
- Review focus: over the next 6 weeks, shift their code review comments toward flagging genuine risk (correctness, edge cases, design concerns) rather than style, verified by a second reviewer independently agreeing their flagged issues were the real risk areas in at least the majority of reviews they gave in that window.
- Speaking up in design discussions: over the next 8 weeks, raise at least one substantive point live in a design discussion, rather than only afterward privately, verified simply by whether it happened and by a peer noticing the shift unprompted.
Why these two, not two code-quality goals
Picking a technical goal and a behavioral goal together addressed two independent gaps at once, rather than doubling down on the dimension that was already their relative strength.
Result
Both goals gave something concrete to check in on during regular 1:1s, and both had a verification method that didn't rely purely on my own impression, which mattered for making the conversation feel objective rather than a subjective judgment.
Trade-offs & pitfalls
- Goals that sound measurable but aren't actually verifiable. "Be more proactive" dressed up with a number attached is still not a real SMART goal if there's no real way to check it.
- Two goals in the same dimension. Picking two technical goals, or two soft-skill goals, leaves a real gap uncovered and wastes the opportunity a second goal represents.
- Goals set without the mentee's buy-in. A goal the mentee didn't help shape, or doesn't actually agree reflects a real gap, is much less likely to stick, even if it's technically well-formed.
- No connection to real work. An artificial exercise goal ("complete this course") is weaker evidence of growth than a goal embedded in work they were doing anyway.
Someone you're mentoring has been stuck on a hard problem for a while and asks for help. Walk through how you decide whether to pair with them, give a hint, or step in directly.
Sample Answer
Direct answer
Default to a diagnostic question or a hint first, since that's the cheapest intervention and preserves ownership of the solution. Escalate to pairing when hints aren't moving them or they're clearly missing a building block they can't discover alone in reasonable time. Reserve stepping in directly for cases bounded by a hard constraint: a real deadline, cost, safety issue, or someone else being blocked by their block.
Decision framework
Start with a diagnostic question, not a hint. "What have you tried, and what's your current hypothesis?" tells you whether they're missing information, missing a concept, or just haven't structured their attempts yet. This costs almost nothing and often unblocks people on its own.
Escalate to pairing when the pattern repeats. If they're cycling through the same failed approach without adjusting, or they're missing a conceptual piece they genuinely can't discover unaided in the time available, sit with them. Let them keep driving; you're there to redirect attention, not take over.
Escalate to stepping in directly only under a real constraint. A hard deadline, a cost or safety issue, someone else waiting on this to move, or clear signs of demoralization (not just frustration) are the legitimate triggers. "I could solve this faster myself" is not one of them; that's true of almost every delegation ever made.
Time-box the struggle explicitly. Instead of leaving it open-ended, agree on a checkpoint: "take another thirty minutes with this angle, then let's regroup regardless of where you land." This protects both their learning and the actual delivery timeline.
Debrief after any intervention, at any level. Even a small hint deserves a quick "here's the reasoning trap you were in" afterward, so the moment converts into a transferable lesson instead of just an unblock.
Worked example
Someone you're mentoring has been stuck for a while and comes to you for help. You ask what they've tried and what they currently believe is going wrong. Their answer reveals a specific reasoning gap, not a knowledge gap, so you give a pointed hint rather than the answer itself. They make progress but hit a second wall later, closer to a real deadline, and this time you sit down and pair with them directly, letting them stay at the keyboard while you ask redirecting questions. Once it's resolved, you debrief separately from the fix itself: what was the actual reasoning trap, and what's the general takeaway for the next similar problem, distinct from the specific bug.
Trade-offs and pitfalls
Defaulting to stepping in because it's faster erodes the person's own problem-solving muscle over time and can create a pattern where they escalate immediately instead of trying, because they've learned help arrives fast if they ask.
Refusing to intervene out of a rigid "let them struggle" stance burns real time and morale, and can backfire if they land on a fragile or outright wrong solution through persistence rather than understanding, and you didn't catch it.
The honest trade-off with hints: they preserve the person's ownership of the solution, but they slow things down and risk letting someone loop past the point where struggle is still productive into the point where it's just frustration with no learning attached.
A subtler failure mode worth naming: a "hint" that's actually the answer in disguise. It looks like coaching and feels generous, but the person doesn't actually earn the insight, and you won't be able to tell the difference from watching them succeed.
When someone you're mentoring is stuck, how do you decide whether to just give them the answer, ask a guiding question, or let them keep struggling with it?
Sample Answer
Direct answer
This isn't a single rule, it's a judgment call driven by stakes, time pressure, and whether the struggle is actually productive. My default is a graduated ladder: ask an orienting question first, then narrow the search space with a hint, and only hand over the answer if that hasn't worked or the situation doesn't allow more time.
Decision criteria
- Stakes and time pressure. A production incident, a hard external deadline, or anything safety or compliance critical pushes toward giving the answer sooner. A practice task or routine work with slack in the schedule can absorb more struggle.
- Productive vs. unproductive struggle. Productive struggle looks like forming a hypothesis, trying something, narrowing the possibilities, and making incremental progress, even slowly. Unproductive struggle looks like repeating the same failed attempt, or restating the same confusion without new information. The first is worth protecting, the second isn't.
- Type of gap. If the person is missing a concept entirely, guiding questions can circle for a long time without landing. If they have the concept but haven't applied it here, a nudge is usually enough.
- Trust and frustration level. Visible frustration that's starting to tip into disengagement is a signal to step in, even on a low-stakes task, because the cost of pushing further is now higher than the learning value.
Worked example
A mentee was stuck for a while on why a piece of work was producing an unexpected result. First move: an orienting question ("What did you expect to happen here, and where does the actual behavior diverge from that?"). They could describe the divergence but not explain it, so the second move was a narrowing hint pointing at the specific area to look at, without naming the cause. They investigated that area and found it themselves. If that hint hadn't landed, the next step would have been to explain the underlying cause directly, then ask them to restate it in their own words and apply it once more on a related case, so the session still ends with them exercising the skill rather than just receiving an answer.
Trade-offs and pitfalls
Always rescuing produces a mentee who never builds independent judgment and starts routing every decision through you. Always withholding produces frustration, slower delivery, and eventually disengagement, especially under real time pressure. A common junior mistake is judging "stuck" purely by elapsed time rather than by whether new information is being generated. A more senior habit is calibrating a default line per person (some people need more room, others need more scaffolding early on) and deliberately moving that line as the person gains experience, so the same person gets less hand-holding a year in than they did in week one.
Unlock Full Question Bank
Get access to all 28 Mentoring and Coaching interview questions and detailed answers.
Sign in to ContinueJoin thousands of developers preparing for their dream job.