Real people. Real work.

How matching works

People and roles are matched on what someone can actually do — skills and levels, not the keywords on a CV.

How a match is made

A person says which skills they have and how well. A role says which skills it needs and how well. They meet on the skills themselves, one at a time.

  1. Anna hasAnna hasExpert
    Kubernetes, a must-haveFitsalso written k8s, kube
    The role asksThe role asksProficientmust-have
  2. Anna hasAnna hasCompetent
    TerraformFits
    The role asksThe role asksCompetent
  3. Anna hasAnna hasPostgreSQL ·Proficient
    SQLFits — covered by PostgreSQL
    The role asksThe role asksCompetent
  4. Anna hasAnna hasCompetent
    Go, a must-haveBelow the level askedalso written golang
    The role asksThe role asksProficientmust-have
  5. Anna hasAnna hasnothing yet
    PrometheusNot on the profile
    The role asksThe role asksAdvanced beginner
  6. Anna hasAnna hasProficient
    LinuxDoesn't count here
    The role asksThe role asksnot asked for

The match

91% match

3 fit (1 through a skill that covers it), 1 below the level asked, 1 not on the profile — and Anna and the company both see exactly that list.

  • Kubernetes and Go are must-haves. With either one missing from the profile, the role isn't matched at all.
  • SQL isn't on the profile, but PostgreSQL is — and PostgreSQL is an SQL database. So SQL counts, at the PostgreSQL level.
  • Linux isn't asked for, so it changes nothing here. It counts for the roles that ask for it.
  • How much each skill counts depends on the kind of role — a platform role leans on infrastructure. That weighting stays on our side.
An example: Anna and a Senior Platform Engineer role.

Skills, not keywords

A role says which skills it needs and how well. You say which skills you have and how well. Matching works on that, rather than on how a CV happens to be worded.

Underneath is a skills graph: thousands of skills, how they relate to each other, and how they relate to the kinds of role that ask for them. It knows that React, React.js and React 18 are one skill, so a match is about fit rather than an exact phrase.

  • k8smeansKubernetes
  • react.jsmeansReact
  • postgresmeansPostgreSQL
  • golangmeansGo

When one skill contains another

You don't have to guess the words a company used. Some skills contain others: a framework is built on a language, a suite contains its applications, a method is a kind of discipline. When a role asks for one and your profile has what contains it, it counts — at the level you gave, must-haves included — and the match says what covered it.

  • You wroteLaravel · ExpertThe role asks forPHPcounts, at Expert — covered by LaravelLaravel is built on PHP.
  • You wroteMicrosoft 365 · ProficientThe role asks forMicrosoft Wordcounts, at Proficient — covered by Microsoft 365Microsoft 365 contains Word.
  • You wrotePrince2 project management · CompetentThe role asks forproject managementcounts, at Competent — covered by Prince2 project managementPRINCE2 is a way of managing projects.

Your own word comes first: if you also wrote PHP yourself, at Competent, then PHP counts at Competent. Which skill covers which is a list we keep and review by hand; nothing is guessed.

The match score

Every match comes with a percentage: how close someone is to what the role asks for. It takes in every skill on the role, how much that skill matters to this kind of role, and the level asked, against what is on the profile.

  • A must-have is exactly that. Without it on your profile — or a skill that contains it — that role is not matched to you.
  • The same rules for everyone. Nothing about how a CV is written, where someone studied or what they look like goes into it.
  • No AI decides it. Software helps recognise the skill you meant when you type one, and nothing more.

We don't publish the exact weighting. A score people can reverse-engineer becomes a score people aim at, and then it stops telling anyone who can do the work.

The levels

Five levels, each with a plain description, so a level means something you could be asked about rather than a feeling about yourself. You set your own, and we take you at your word. A role says the level it needs in the same words.

  1. Level 1: Novice

    Has worked with it under direction; needs guidance outside routine cases.

    On Kubernetes: Has deployed a service to a cluster someone else set up and looks after.

  2. Level 2: Advanced beginner

    Handles routine work independently; recognises the common patterns.

    On Kubernetes: Writes and maintains the manifests for routine services without help.

  3. Level 3: Competent

    Delivers unsupervised on typical engagements; plans their own work.

    On Kubernetes: Runs a production cluster unsupervised: upgrades, scaling, the usual incidents.

  4. Level 4: Proficient

    Handles atypical and ambiguous cases; sets the approach for others.

    On Kubernetes: Designs the setup across clusters, handles the outage nobody has seen before, sets the team's approach.

  5. Level 5: Expert

    Sets direction in the domain; others consult them.

    On Kubernetes: Others come to them; shapes how the whole organisation runs Kubernetes.

Every match comes with its reasons

Open any match and it says which skills fit, which are there but below the level asked, and which are not on the profile yet. The person and the company see the same reasons.

A match is where a conversation starts, not a decision. People decide who to talk to and who to hire.

Getting good matches

Can I add every skill I can think of, to be matched more often?

You can, but it helps no one. You'd be matched to roles you can't do, and those conversations go nowhere. What works is an honest profile kept up to date: the skills you would put your name to, at the level you really work at, and a rate and place that are still true.

Real people. Real work.

Your next Monday is .

See what fits you, or who fits your role. Both take a minute.