Skip to content
Surhires

Technology

Match on the stack, not on the job title

Two engineers with identical titles can be unable to do each other's jobs, and the one you want is not reading your message.

Surhires matches technology candidates on a skills matrix rather than a job title, recognising that equivalent experience is described in different words across resumes. It holds contractor rate cards alongside permanent bands, files assessment results on the candidate record, and supports the multi-channel outreach a passive engineer will actually answer.

By Surhires Editorial · Published · Reviewed

A job title tells you almost nothing about an engineer

Software engineer, senior developer, technical lead, member of technical staff, and staff engineer II describe overlapping and sometimes unrelated work. One company's senior is another's mid-level. A platform engineer at a five-person startup and a platform engineer at a bank share a phrase and very little else. Title-based search is why technical desks send shortlists that a hiring manager rejects in ninety seconds.

Surhires builds a skills matrix on each candidate instead. Languages, frameworks, infrastructure, data stores, cloud platforms, tooling and domain are separate dimensions, each with a depth signal drawn from how long and how recently the candidate used it and in what context. Two years of Kubernetes in production is not the same record as a line in a skills section, and the matrix distinguishes them.

Matching then answers the question the hiring manager actually asked. Not who has this title, but who has written Go in production against a message queue in the last two years and has worked somewhere with a compliance regime.

Equivalent experience, described in different words

The hardest part of technical matching is vocabulary. A brief asks for React; a resume says Next.js. A brief asks for AWS; a resume lists Lambda, S3, ECS and CloudFormation without ever writing the acronym. A brief asks for CI/CD; the resume says GitHub Actions. A keyword search misses all three, and the recruiter concludes the market is short of people who are sitting in their own database.

Surhires normalises the stack at parse time. Frameworks resolve to their language, managed services resolve to their platform, tools resolve to their category, and a brief written in one vocabulary matches a resume written in another. Where a match rests on an inference rather than a literal term, the score shows which requirement it satisfied and how, so a recruiter can judge it rather than trust it.

That last point is deliberate. A matching engine a recruiter cannot interrogate gets ignored after the third bad shortlist. Every point in a match score is attributable to a requirement.

  • Frameworks, managed services and tools normalised to their platform and category
  • Recency and duration weighted separately from mere presence of a skill
  • Equivalence rules editable per tenant, because your market may disagree with the default
  • Every match score explains which requirement each point came from

Rate cards, not salary bands

A large part of technology recruitment is contract, and contract work prices differently. The number that matters is a day rate or an hourly rate, inside or outside a client's rate card, with a margin the desk needs to protect. A permanent band and a contractor rate are not interchangeable fields, and forcing one into the other is how a desk loses track of what a placement is worth.

Surhires holds both. A candidate record carries a permanent salary expectation and a contract rate expectation with its basis, and a client carries a rate card by discipline and seniority. When a recruiter prices a submittal, the ceiling from the rate card and the resulting margin are visible before the candidate is presented.

Where a market has a statutory contracting regime, the relevant status flag sits on the placement. UK desks carry an IR35 status field on every contract placement; US desks carry worker classification. The field records the determination that was made; it does not make the determination for you.

Assessment results belong on the candidate record

Technical screening produces evidence, and that evidence usually ends up in a separate tool, in an email attachment, or in a recruiter's memory. Six months later the same candidate is considered for a different role and the assessment is repeated because nobody can find it.

Surhires files assessment outcomes against the candidate record: which test, when, the score, the reviewing engineer's comment and a link to the full result in the platform that produced it. Integrations with assessment providers are listed with an explicit state, and where an integration is not yet live the result can still be attached manually rather than left in an inbox.

That record is also what makes rediscovery credible. A candidate who scored well on a systems design exercise last year is a stronger warm approach than a stranger, and the desk can find them.

  • Assessment result, date, score and reviewer comment stored on the candidate
  • Links back to the originating platform for the full report
  • Results visible to the recruiter without exposing them to unrelated seats
  • Repeat assessment prompted only where the result has aged past a threshold you set

Passive engineers do not answer a generic approach

The engineers worth placing are employed, are contacted several times a week, and have learned to ignore anything that opens with an exciting opportunity. The reply rate on a templated message is a rounding error, and volume does not fix it; it accelerates the reputational damage.

The Outreach Personaliser drafts a first message from the candidate's own history: the specific system they built, the talk they gave, the migration they wrote about, the stack overlap with the role. It is a draft, not an autosend, and the recruiter edits it. What the system contributes is the reading, which is the part that does not scale.

Sequences run across the channels an engineer actually uses, with a stop rule the moment someone replies and suppression that persists across campaigns so the same person is not approached by two recruiters in the same month. Consent state and opt-out are recorded per channel, because an approach that ignores a previous opt-out costs you the candidate permanently.

The technical brief has to survive the hiring manager

Most bad technical searches are bad briefs. The requisition arrives with nine must-have technologies, four of which the team does not use, because the manager listed everything on the current stack. The recruiter sources against it for two weeks and returns with nobody, and the conversation that should have happened on day one happens on day fourteen.

The Job Intake Agent turns a client brief or a forwarded email into a structured requisition with must-haves, nice-to-haves, a salary or rate band and interview stages, which forces the distinction between required and desirable to be made explicitly. Where the resulting requirement set matches almost nobody in your database, that is visible before the search starts rather than after.

Coded rejection reasons close the loop. When a client rejects eight candidates for lacking a technology that was listed as a nice-to-have, the pattern is a report rather than a suspicion.

The same engineer, placed more than once

Technology contractors move on six-month cycles and permanent engineers move every two to three years. The desk that wins is the one whose record of a person survives between those moments: which stack they were using at each engagement, what rate they last accepted, which clients they will not return to, and who else in their network they referred.

Surhires keeps that history on one record rather than in a series of application rows. A contractor coming off an assignment appears in the redeployment queue with their current stack and rate. A permanent placement inside its guarantee window stays visible until the window closes. A candidate who was rejected on seniority two years ago is a different candidate today, and the record shows why.

What you get

Skills matrix

Languages, frameworks, infrastructure, data stores and tooling held as separate dimensions with depth signals.

Stack normalisation

Frameworks resolve to languages and managed services to platforms, so vocabulary differences stop hiding matches.

Recency weighting

Two recent production years outrank a five-year-old mention in a skills section.

Explainable match scores

Every point traced to the requirement it satisfied, so a recruiter can argue with it.

Editable equivalence rules

Adjust which technologies count as adjacent for your market rather than accepting a default.

Contractor rate expectations

Day or hourly rate with basis, stored alongside a permanent salary expectation.

Client rate cards

Ceilings by discipline and seniority, applied when a recruiter prices a submittal.

Contract status flags

IR35 status in the UK and worker classification in the US recorded on the placement.

Assessment records

Test, date, score and reviewer comment filed on the candidate with a link to the full report.

Personalised first contact

Drafted from the candidate's actual work history, edited by the recruiter before it sends.

Multi-channel sequences

Email, WhatsApp and messaging in one cadence that stops the moment somebody replies.

Cross-campaign suppression

One approach per candidate per period, enforced across recruiters rather than per campaign.

Structured intake

Must-haves separated from nice-to-haves at brief time, before two weeks of sourcing.

Chrome sourcing extension

Capture a profile from a browser tab into the database with the source recorded.

Questions recruiters ask

How does matching handle a technology it has never seen?

New technologies appear constantly, so unknown terms are kept as literal skills and surfaced rather than discarded. They match on exact terms until an equivalence is defined. You can add your own equivalence rules per tenant, which is usually faster than waiting for a vendor to notice a framework became mainstream.

Can we run permanent and contract on the same candidate record?

Yes, and technology desks need to. One person carries a permanent salary expectation and a contract rate expectation, an assignment history and a permanent placement history. A contractor who takes a permanent role does not become a second record, so their whole relationship stays in one place.

Which assessment platforms are integrated?

Integrations with technical assessment providers are listed individually with an explicit state of Live, In development or Roadmap; we do not publish a logo wall implying partnerships that do not exist. Where an integration is not live, results can be attached to the candidate record manually so the evidence is still in one place.

Does AI matching decide who gets rejected?

No. Match scores rank and explain; a person dispositions. That is a product decision as much as a legal one, but it also matters legally: where an automated employment decision tool influences screening in New York City, an independent bias audit and candidate notice apply. Surhires records what was scored and exports what an audit needs.

How do you stop two recruiters approaching the same engineer?

Suppression is enforced at the candidate level across campaigns and recruiters, with a configurable minimum interval between approaches. Consent and opt-out state is recorded per channel. A candidate who opted out of email but agreed to WhatsApp is respected on both, and an opt-out persists rather than expiring with a campaign.

Does Surhires do the IR35 or classification determination for us?

No. It stores the determination, who made it, when, and the supporting documents, and it makes the field mandatory on a contract placement so it cannot be skipped. The assessment itself is a legal judgement that belongs to you or your advisers, and no software should be presenting it as a calculated output.

See it against your own reqs

Bring one live role and three resumes. In twenty minutes you will see the match scores, the shortlist and the placement invoice that comes out the other end.