A practical guide for engineering reviewers

Design a backend debugging work sample

A useful work sample gives a candidate a specific failure to investigate and gives your reviewer something concrete to discuss. Begin with one responsibility in the job, not a list of technologies.

Start with a responsibility in the role

Write down a task the engineer will actually own. “Maintains a background worker when jobs fail” is more useful than “knows Node.js.” Decide what evidence would help you discuss that responsibility: tracing a failure across files, understanding recovery behavior or verifying an edge case.

Keep the task narrower than the job. One assessment cannot establish how someone handles every incident, collaborates on a team or maintains a system over time. Use it to choose follow-up questions alongside interviews and other work samples.

Translate the responsibility into a work sample
ResponsibilityFailure to investigateUseful evidence
Maintain a service APIA request produces inconsistent results for a documented input.Tracing request data, checking boundaries and verifying the corrected response.
Operate background workersAn error prevents unrelated queued work from completing.Reproducing failure, checking recovery and preserving successful work.
Diagnose configuration failuresThe service ignores a documented configuration setting.Tracing configuration precedence and checking the supported environments.

Choose one reproducible failure

Prefer a small system with a visible symptom and a clear expected behavior. Remove unrelated setup, customer records, credentials and dependency problems. The challenge should be the diagnosis, rather than discovering an undocumented requirement or installing an unfamiliar toolchain.

Illustrative brief — not a live Buglyst exercise. A batch worker stops processing remaining jobs after one job returns a retryable error. Successful jobs should complete, a failed job should follow the documented bounded retry policy, and the final summary should account for every job.

This gives the reviewer a concrete discussion: where did processing stop, which behavior was intentional and how did the candidate check that recovery preserved successful work?

A candidate should be able to reproduce the symptom from the starter. Keep enough code and context to make investigation meaningful, but avoid requiring knowledge of your internal service names or unwritten operating conventions.

Check the behavior, including partial fixes

Visible checks establish a shared starting point. Private checks can exercise additional cases within the stated requirements. They should not introduce surprise product requirements or prescribe a particular implementation.

  • Visible: the normal path and the reproducible symptom. In the illustrative worker, show the all-success batch and the batch containing one retryable failure.
  • Private: documented boundaries such as retry exhaustion and mixed successful and failed jobs. Candidates know the behavior required, while evaluator files remain private.
  • Reference fix: a reviewed implementation that passes required checks. Passing one reference does not establish that it is the only valid solution.
  • Incorrect control: a plausible partial change that should fail, such as continuing processing while reporting the failed job as successful.

For an uploaded company-project pilot, readiness checks the failing starter, passing reference, rejected control and repeated validation. Employer approval freezes the candidate package. Do not activate an assessment that reports unresolved readiness errors; inspect the specific failure rather than accepting a green visible run alone.

Give candidates a clear working contract

Explain the symptom, intended behavior, supported environment, time limit, permitted tools and what they must submit. Ask for a focused change and a short explanation. Do not require an essay to compensate for missing recorded evidence.

Example instructions for the illustrative worker: Reproduce the batch failure, trace why remaining jobs stop and correct the behavior described in the brief. Preserve successful processing and the documented retry limit. Run the visible checks, then explain the cause, your change and what you verified. Note any remaining uncertainty.

State your AI policy before the attempt. When AI is allowed, ask candidates to disclose outside tools and explain how they checked suggestions. When it is not allowed, Buglyst disables its own assistant; it cannot observe tools outside the workspace. See the AI-assisted evidence review guide.

Keep assessment conditions consistent

Review the task and instructions before inviting anyone. Use the same frozen release, time limit and AI policy when comparing results. If the exercise or conditions change, treat the new version separately rather than assuming scores or elapsed times are directly comparable.

Allow appropriate accommodations and discuss constraints with the candidate beforehand. A slow run can include reading, interruptions and time between exercises; it is not a measure of typing speed or employee quality.

Company-project internal baselines provide descriptive context only. The report requires at least three eligible internal completions on compatible identical releases and conditions before showing aggregate comparisons. A small team sample is not an industry percentile or a reason to automatically reject a candidate.

Launch from the available library

Start with the assessment library. Signed-out visitors see sanitized examples. Authorized employers can use “Backend debugging” or “Service reliability” when matching eligible items are available, then review the selected incidents, duration and instructions. Role selections use actual library items; they do not generate a company project.

For your first hiring cycle, choose one focused task your reviewer can explain, read the illustrative report, and agree which questions it should help answer. Paid access and candidate capacity are required to invite candidates; drafting does not establish an entitlement.

If an existing item cannot represent the job, discuss the company-project pilot. Uploaded Node.js/TypeScript projects are constrained and require a dedicated production runner; production company execution is not yet verified. Private-repository integration is a separate library-selection pilot, not execution of your repository.

Buglyst engineering hiring guide · buglyst.com/hiring/guides/backend-debugging-assessment