Most Reference Checks Are Theatre — the 7-Step Script We Use for Singapore Developer Hires

Hiring manager taking notes during a call in a bright office
William

William

Talent Sourcing Expert · 12 September 2026 · 13 min read

TL;DR

  • • A reference check with no specific question confirms employment dates and burns an hour. Decide what you are asking before you dial.
  • • The referee list you are handed is a curated artefact. Ask for a role — direct manager, code reviewer — rather than accepting names.
  • • Closed questions have one socially available answer. “Was he strong?” gets a yes from everyone, including people who would not rehire him.
  • • Calibrated questions work: where would you place them, and what would move them up a band.
  • • Name your concern out loud and ask for a counter-example instead of reassurance.
  • • The non-answers carry the information. Hesitation and narrow praise are data, not noise.
  • • Consent matters and so does scope. Contact referees with permission, keep questions job-related, and confirm your process with HR counsel.

A hiring manager once described her reference process to me in a single sentence: “I call the two names, they say nice things, I make the offer.” She said it as a complaint, not a boast. She knew the calls were doing nothing. What she did not have was a version that did something, and the reason the generic version fails is not that referees lie — it is that the questions being asked have exactly one socially acceptable answer.

Why the standard reference check produces nothing

Three structural problems, all of them fixable.

The referee list is a curated artefact. Candidates nominate people who like them, and frequently brief those people first. This is not dishonest; it is what any sensible person does. But it means the default list answers the question “can this candidate find two people who will speak well of them”, which is not a question worth an hour of anyone’s time.

The questions are closed. “Was she a strong engineer?” has one available answer for a referee who has agreed to take the call. So does “would you work with him again?”. A former manager who genuinely would not rehire someone will still say yes to that question, because saying no to a stranger on the phone is a significant social act that most people will not perform.

The call happens too late. Run after the offer is drafted, a reference check is not an input to a decision — it is a ritual performed over one that has already been made. Nobody wants to reopen a closed decision on the strength of a hesitation, so the hesitation gets rationalised.

What we got wrong for years

We used to run reference checks as a uniform final step: same five questions for every candidate, every role, every time. It felt rigorous and it was the opposite. A standard questionnaire cannot be calibrated to the specific doubt a specific loop produced, so it never touches the thing you actually needed to know. Worse, running it identically every time made it feel like compliance, which meant nobody read the notes. The change that made the difference was small and slightly uncomfortable: we stopped running reference checks on candidates we had no open question about, and put the saved hours into the candidates where the loop had genuinely split the panel.

Step 1 — Decide what the check is actually for

Before you contact anyone, write down the one or two questions your interview loop failed to close. Not “is he good”. Something like: the panel split on whether she has led a project end to end or been a strong contributor on projects led by others. Or: he was excellent on system design and gave no example of ever having been wrong about one.

If you cannot write such a sentence, you have two options and only one of them is honest. Either the loop resolved everything and you should make the decision, or the loop was too shallow to surface anything and a reference call is not going to rescue it. Reference checks are a scalpel for a specific doubt. They are not a substitute for a technical assessment, and using them as one is how a mediocre process feels thorough.

This step also determines who you need. A question about ownership needs the person who assigned the work. A question about code quality needs someone who reviewed it. They are rarely the same person.

Step 2 — Choose referees by role, not from a list

Do not ask for “two references”. Ask for a specific role: the manager you reported to on the project you described in round two, and a senior engineer who reviewed your pull requests there. Naming the role does three useful things. It makes curation harder, it produces referees positioned to answer your actual question, and it is itself a small signal — a candidate who cannot produce a code reviewer from a project they described as substantial has told you something before the call happens.

Two mechanics matter in Singapore specifically. Get explicit consent for every contact, recorded, before you dial: personal data about a candidate is regulated under the Personal Data Protection Act, and contacting a current employer without permission can materially damage someone who has not yet resigned. And keep every question job-related, given the fair-consideration and workplace-fairness expectations that apply to employment practice here. Both points are worth confirming once with your own HR counsel, because how they apply depends on your entity and your process rather than on an article.

A practical note on timing: run the calls before the offer is drafted, not after. It is the single change that makes the rest of this method worth doing, because it is the only version in which the answer can still change the outcome. The related mechanics of sequencing offers against notice periods are covered in our notes on notice periods and offer timelines in Singapore.

THE SAME HOUR, SPENT TWO WAYSTHE DEFAULT VERSIONProduces adjectives1. Ask for “two references”2. Candidate supplies and briefs them3. Call after the offer is drafted4. Ask closed questions5. Receive the only available answerOutcome: the decision does not move.THE TARGETED VERSIONProduces evidence1. Write the unresolved question down2. Request a role, with consent3. Call before the offer exists4. Ask calibrated questions5. Read the hesitations as dataOutcome: sometimes the decision changes.

Step 3 — Open without a leading question

The first two minutes decide whether you get detail or adjectives, and most calls are lost there. The standard opening — “we are considering Wei Lin for a senior backend role, and I would love to hear your thoughts” — tells the referee exactly what answer is wanted and invites them to confirm it.

Open descriptively instead: “Before I ask anything evaluative, could you describe what Wei Lin worked on while you overlapped, and what she specifically owned?”

This does three things. It establishes how closely they actually worked together, which determines the weight of everything that follows. It produces concrete detail you can compare against what the candidate told you. And it sets a factual register for the call rather than a promotional one, which is much harder to change later than it is to establish at the start.

Step 4 — Ask calibrated questions, never closed ones

This is the technique that carries most of the method. A calibrated question makes the informative answer socially available, by presupposing a range rather than a verdict.

  • Instead of “was she a strong engineer?” → “Among the engineers you have worked with, where would you place her, and what would move her up a band?”
  • Instead of “did he work well with others?” → “Who on the team found him easiest to work with, and who found it hardest? What was different about those two?”
  • Instead of “would you hire her again?” → “What kind of role would you not put her in today, and what would she need to do first?”
  • Instead of “how did he handle pressure?” → “Tell me about the worst week of that project. What was he doing?”

The second question in each pair is answerable honestly without the referee having to say anything negative about a former colleague. That is the entire design goal. You are not trying to extract a criticism — you are trying to remove the social cost of precision.

Split panel on a final candidate?

We run targeted reference calls against the specific question your loop left open — and we tell you when the honest answer is that the loop, not the candidate, is the problem.

Get started

Step 5 — Name your concern and ask for a counter-example

Somewhere in the second half of the call, state the open question from step one plainly. Vagueness here guarantees vagueness back.

The form that works: “One thing our panel could not settle was whether he has led a piece of work end to end or been a strong contributor on work others led. You are better placed than we are to know. What would you point to?”

Two details make this work. First, you are asking for evidence, not reassurance — “what would you point to” requires a specific, and a referee who cannot supply one has answered you without having to say so. Second, disclosing the concern signals that you are conducting an assessment rather than collecting a formality, which changes how carefully most people answer.

If the answer is a clean counter-example with detail, your concern is resolved and you should treat it as resolved. If the answer is a general endorsement that does not engage with the question, ask once more in different words, and then stop — a third attempt turns a reference call into an interrogation and produces nothing.

Step 6 — Read the non-answers

The most informative part of a reference call is usually what the referee does not say, and it requires deliberate attention because the natural instinct is to fill silences.

Four patterns are worth noting in the moment:

  • Unusually narrow praise. A referee who praises enthusiasm, reliability and attitude while never mentioning technical judgement has made a choice. Follow the omission, not the compliments.
  • A pause before a positive. Not proof of anything, and worth a gentle return later in the call: “you paused before answering that — was there more to it?” asked without accusation.
  • Redirection to a different topic. When a question about ownership is answered with a story about teamwork, the question has been declined. Note it and move on.
  • Formal register. A referee who retreats into HR language — dates, titles, “I can confirm that” — is either following a company policy that prohibits substantive references, which is common and means nothing, or has decided not to comment. Ask which, directly and without pressure; most people will tell you.

Two cautions. None of these patterns is evidence on its own, and treating them as such will cost you good candidates — referees are often awkward on the phone for reasons that have nothing to do with the person being discussed. And every one of them is easier to misread across a cultural or language gap, which in a market as international as Singapore is a real and frequent risk. Use them to generate your next question, never as a verdict.

WHAT TO DO WITH A NON-ANSWER — ASK, DO NOT CONCLUDENARROW PRAISEAttitude and reliability, never judgement→ “How was his technical judgement on that?”PAUSE BEFORE A POSITIVEHesitation, then a compliment→ “You paused — was there more to it?”REDIRECTIONOwnership question answered with teamwork→ Re-ask once, in different words, then stopFORMAL REGISTERDates and titles only→ “Is that company policy, or a choice?”THE GUARDRAILNone of these is evidence alone. All four are easy to misread across a language or cultural gap.

Step 7 — Write the decision down before you act on it

Immediately after the call, record three things: what you asked, what you heard, and what it changed. The third field is the one that matters, and it is the one that is always left blank.

A reference check that changes nothing is not automatically a failure — confirming a doubt was unfounded is a real outcome and should be written as one. But if the field reads “nothing” on every check you run, the process is decorative and you should either fix it using the steps above or stop doing it and reclaim the hours. Both are defensible. Running it indefinitely while knowing it produces nothing is not.

The written record has a second function. When a hire does not work out six months later, the notes tell you whether the reference call caught it and you overrode the signal, or whether it genuinely gave no warning. That is the only way a hiring process gets better rather than merely older, and it is the same feedback loop we describe for onboarding remote developers in Singapore, where the first ninety days either confirm or contradict everything the loop predicted.

What the method costs

About twenty minutes to write the open question and identify the right referees, two calls of twenty-five to thirty minutes each, and ten minutes of notes. Under two hours per finalist, and only for finalists where a genuine question remains.

That last clause is where the time comes from. Most teams run shallow checks on every candidate; we would rather run a real one on a third of them. The comparison that matters is not against the default process but against the cost of a mis-hire, which in a senior engineering role in Singapore runs into months of salary, the delay to whatever the person was hired to deliver, and the second recruitment cycle.

The method transfers with only the legal layer changing. Our UAE team runs the same script with different consent and data-handling mechanics, and our US practice works around employers whose policy limits references to dates and titles — which is exactly the case step six is designed to identify rather than misread.

Frequently asked questions

Are reference checks worth doing at all for developers?

They are worth doing when they have a specific question to answer and close to worthless when they do not. A check run as a final formality, with generic questions, on referees the candidate selected and briefed, will confirm that the candidate exists and was employed. That is not a bad outcome, it is simply not worth the hour. The version that pays for itself is narrow: you finished the loop with one unresolved concern, you designed three questions around that concern, and you called someone positioned to have observed it. Run that way, a single call regularly changes a decision. Run as theatre, a hundred of them will not.

What should you never ask in a reference check in Singapore?

Anything unrelated to the candidate’s ability to do the job, and anything touching personal characteristics rather than work. Employment practice in Singapore is governed by fair-consideration expectations and workplace-fairness legislation, and questions about family circumstances, health, religion, race or age have no place in the conversation regardless of who raises them. Personal data collected about a candidate also engages the Personal Data Protection Act, which is why consent to contact referees should be explicit and recorded. Both points are worth confirming with your own HR counsel rather than an article, because the specifics depend on your entity and your process.

Should you contact people who were not on the candidate’s reference list?

Not without the candidate’s knowledge and agreement. Backchannel calls made quietly through a mutual connection are common and are a bad practice for three reasons: they can expose that a candidate is looking, which may damage their current employment; they collect personal data outside the basis the candidate consented to; and they systematically favour candidates with dense local networks, which quietly narrows your hiring. The legitimate version is to ask the candidate directly for a specific type of referee — “the tech lead who reviewed your code on that project” — and to contact that person with permission.

What does it mean when a referee is only positive in general terms?

It means you have not yet asked a question they can answer specifically, or you have asked one they prefer not to. Both are informative, and they are distinguishable. If general praise persists after you have asked for a concrete example — a project, a disagreement, a decision the person made — the referee either did not work closely with the candidate, in which case the reference is not useful, or is choosing their words, in which case the hesitation itself is the signal. Neither is a reason to reject a candidate on its own. Both are a reason to ask one more question rather than to conclude the call politely.

Want the reference call to actually decide something?

We design the questions around the doubt your loop produced, run the calls, and hand you notes with the one field most processes leave blank: what it changed.

Get started