The junior loop rested on one signal: give them a small problem, see if working code came back. That signal is gone. Allow the agent and everyone passes. Ban it and you measure a condition that will never occur again in their career. So most teams picked the ban, and they now screen hard for a skill they do not want. The replacement is direct: hand them the agent's code and ask whether it should merge.
github.com/tacoda/fulcorum-hiring-juniorsThe coding exercise measured production. Production is now free, so the exercise measures either nothing or the wrong thing, depending on which rule you picked.
AGENT ALLOWED
everybody produces working code
→ measures: prompting speed, and only at the low end
→ discriminates: barely, and mostly on typing
AGENT BANNED
some produce working code from memory
→ measures: unassisted recall under observation
→ a condition that will never recur in the job you are hiring for
The banned branch feels rigorous, which is why it won. Look at what it selects for: candidates who best simulate a working environment that no longer exists. Because of that, it also selects against people who have already adapted to the one that does. If your team writes code with an agent every day, an interview that forbids one is not a higher bar. It is a different bar, pointed somewhere else.
The fix is not a cleverer puzzle. It is noticing what you wanted all along: whether this person can tell right from plausible. That skill is testable in forty-five minutes, and always was. Nobody bothered because the proxy used to be cheaper.
Old question: can you produce a correct change? New question: can you tell whether a change is correct? The second one was always the job. It just used to be inseparable from the first.
Not because candidates cheat, but because authorship is no longer attributable, and no honour system fixes an unfalsifiable claim.
A take-home now returns a well-structured, tested, documented submission from almost everyone, and the artifact cannot say who understood it. Asking candidates not to use an agent penalises the honest ones. That is bad design in any process, and worse in a process about integrity.
There is a partial rescue that some teams use: let them use anything, then spend thirty minutes interrogating the submission. That works, and is strictly worse than skipping the take-home and spending the same thirty minutes on material you prepared. You lose nothing and you stop asking for six hours of unpaid work whose output you have decided to ignore.
Filtering by willingness to spend a weekend, which correlated with enthusiasm and also with not having caring responsibilities, a second job, or a current employer. That was always a cost. It is now a cost with no matching signal, which makes the decision easy.
An interview is a low-bandwidth, high-noise channel. It always was. The useful move is matching each stage to something it can resolve.
| Stage | Can resolve | Cannot |
|---|---|---|
| Résumé | Exposure. Whether they finished something hard once. | Anything about judgment. Stop reading it for that. |
| Unsupervised take-home | Nothing attributable. | Everything. See §1. |
| Comprehension exercise | Reading, classification, hedging behaviour, whether they check. | Whether they improve with feedback. |
| Pushback probe | Whether a position survives disagreement. | Whether it survives disagreement from their manager, six months in. |
| Ambiguity probe | Whether they ask before assuming. | Whether they keep asking once it is socially expensive. |
| Every stage combined | A rough floor on comprehension today. | Rate of improvement, which is what you are buying. |
That last row is the honest summary of the whole page. You are hiring a junior for their trajectory, and trajectory is a derivative that no single point can show you. Everything below extracts the best available point estimate. Section 9 covers why the point estimate was never going to be enough.
One agent-written change with one planted defect. The agent stays fully available. Do not ask them to fix it. Ask whether it should merge.
If every candidate's diff is defective, word gets out within a month and you are testing whether people were briefed. And a candidate who finds a bug in a correct change has told you something serious. They will do that to their colleagues' work every week for years.
Same four points as reverse-review, which gives the interview a property most interviews lack: it predicts performance on the programme you will put them through.
| Point | For a junior hire, read as |
|---|---|
| Found | Baseline. Nice to have, and the least predictive of the four at this level. |
| Proved | Did they check, or assert? A candidate who says "let me run it" unprompted is showing you a habit, not a result. |
| Classified | Rare in a junior and a genuine signal when present. Do not require it. |
| Durable fix | Almost never present, and that is expected. If someone asks "what would stop this happening again", that is a strong hire signal on its own. |
Weight proved above found for a junior. Finding the defect is partly luck at this level. Going and checking before committing to an answer is a disposition, and disposition is what survives training. Take the candidate who misses the defect and says "I am not sure about this line, here is how I would find out". If the method they name is the right one, that beats spotting the defect and not saying why.
Two interviewers, independent written scores before discussion, same as the calibration drill in the mentor's playbook. Interview debriefs anchor even harder than review sessions do, because the second person usually has less material.
Ninety minutes of candidate time, total. If your loop is six hours, the extra five are measuring stamina.
That plus the exercise is the loop. Everything else people put in a junior process is measuring something you cannot act on or something you already know. That covers the system design round, the second technical screen, and the culture panel. Cutting them costs you nothing and buys you a candidate pool that has not been ground down before day one.
Some were always weak, but all five are now close to zero, and two of them mislead.
All five are observable in the ninety minutes above, and none require the candidate to already know your stack.
"What would have to be true for this to be wrong?" Ask it in the exercise and again about their own past project. It is the same question the mentor asks in reverse-review. A strong answer here forecasts a strong first quarter instead of just correlating with one.
A comprehension exercise has its own biases, and they are manageable only if you name them first.
Interviewers who cannot themselves name the defect class will grade on whether the candidate reached their conclusion. Anyone running this exercise should have run the exercise, from the other chair, at least once.
You cannot see rate of improvement in ninety minutes, but you can see it in thirty days. Spend where the signal is.
Every organisation unhappy with its junior hiring lengthens the interview. That does not work, because the variable that decides the outcome is not in the room. How fast does this person improve when told something? No format resolves that from a single sitting, and a sixth round does not get you closer.
What does resolve it is a first month with a gate in it. If a new engineer is doing spoken claims from day one and a weekly rep from week three, day thirty tells you whether feedback lands. And it tells you from evidence rather than impression. That is a far better instrument than any interview, and it is available to anyone willing to run the first month on purpose.
flowchart LR
%% declared bottom-up: the layout engine stacks the later subgraph first,
%% so BETTER is written first and renders under TYPICAL
subgraph better["BETTER"]
direction LR
b1["2-stage loop, 90 minutes · low cost, honest resolution"] -- hire --> b2["a first month with a gate"]
b2 ~~~ bwhen["problems surface at day 30, cheaply"]
end
subgraph typical["TYPICAL"]
direction LR
t1["6-stage loop, 6 hours · high cost, low resolution"] -- hire --> t2["unstructured first 90 days"]
t2 ~~~ twhen["problems surface at month 7"]
end
class t2 warn
class twhen block
class b2,bwhen pass
None of this argues for a careless interview. It argues that the marginal hour is worth far more after the offer than before it. A team with a real first ninety days can afford a shorter loop. It is no longer asking the interview to do something interviews cannot do.
Replace the take-home with the forty-five minute exercise and change nothing else. It costs less of everyone's time than what it replaces, and it produces a scored artifact two people can argue over and get somewhere. In most loops it is also the only stage measuring the thing the job now consists of.