Knoot Drama

Knoot Town

Career

Skill Station

Podcasts

Vague JD Analysis: Why You Keep Screening Wrong People

A vague JD is the #1 reason screening goes wrong. Here is how to split must-have, nice-to-have, and weight each group before you screen.

Knoot Admin

Knoot Admin

July 30, 2026

Content

Why a vague JD is the real culprit

A JD is a wish list, not a scoring rubric

Recruiters fill the gap with guesswork

Faster screening just means faster mistakes

How a clean JD breaks the wrong-person loop

The MNB + Weight framework

Split (M): Must-haves — miss one, they're out

Split (N): Nice-to-haves — bonus points, never a rejection reason

Assign weight (%) to each group

Confirm with the hiring manager before you screen

The Knoot Angle

Recruiters blame themselves every time a shortlist gets bounced back by the hiring manager.
"Guess I skimmed the resumes too fast."
"Guess I didn't understand the role well enough."
Most of the time, that's not it.
The problem started before you opened a single resume — inside the JD you were handed.
A JD with 15 skills, no hierarchy, no weight, nothing marked as non-negotiable. You screen a hundred resumes against it like reading a map with no scale.
You didn't screen badly. The JD never said what "right" actually meant.
blog image

Why a vague JD is the real culprit

A vague JD doesn't announce itself. No error message, no red flag. It just quietly bends every step after it — sourcing, screening, the shortlist itself.

A JD is a wish list, not a scoring rubric

Most JDs get copy-pasted from an old posting or rushed out to fill a headcount fast. Everything goes in: 5 years of Java, Spring Boot, microservices, AWS, leadership, fluent English, startup mindset. All flat. No hierarchy.
  • No must-haves
  • No nice-to-haves
  • No weight
  • No priority order
A flat JD makes every skill "equally important" — and nothing is equally important.

Recruiters fill the gap with guesswork

When the JD doesn't say, you have to guess. You guess what the hiring manager actually wants, based on your own experience — not on anything written down.
A "Senior Backend Java" JD lists 15 requirements. You screen 120 resumes in a week, shortlist the 5 highest matches against the JD as written. The hiring manager cuts 4 of 5 — "not enough high-traffic system experience," something the JD never mentioned once.
The JD on paper and the JD in the hiring manager's head are two different documents. You're always holding the wrong one.
This isn't a one-time miss, either. The same gap resurfaces on the next req, and the one after that — because nobody wrote down what actually mattered the first time. You're not learning the role faster. You're re-guessing it, role after role.

Faster screening just means faster mistakes

Vague JD + faster screening = wrong people, faster.
Speed doesn't fix a broken JD. It just lets you get it wrong at scale, in less time.

How a clean JD breaks the wrong-person loop

You don't need any tool to start. A spreadsheet is enough — the fix here is structure, not software.

The MNB + Weight framework

Split (M): Must-haves — miss one, they're out

Cap the list at 3-5. If your must-have list runs longer than that, it hasn't actually been split yet.

Split (N): Nice-to-haves — bonus points, never a rejection reason

Good to have, never grounds to cut a strong candidate.

Assign weight (%) to each group

Must-haves at 60-70%, nice-to-haves at 20-30%, bonus at 10%. Doable in a spreadsheet, no AI required. The exact split matters less than actually having one — pick numbers, write them down, and stop treating every requirement as equal.

Confirm with the hiring manager before you screen

Send the split, weighted JD back for a sign-off before you touch a single resume.
10 minutes confirming the JD saves 10 hours screening in the wrong direction.

The Knoot Angle

A clear JD isn't a nice-to-have. It's the foundation every shortlist after it depends on.
That's exactly why Knoot's JD Analyzer exists. You drop in the raw JD, and the system breaks it into must-have, nice-to-have, and bonus groups, suggesting a weight for each — but you're still the one editing and confirming before any screening starts. JD Analyzer doesn't write the JD for you, and it doesn't lock in the final weights either. It just gets you to a clean, structured JD faster than doing it by hand every time you open a new req, and it catches the inconsistencies buried inside the original JD before they turn into a bad shortlist. That structured JD then becomes the required input for AI Screening, so nothing gets filtered blind.
A JD is a wish list. JD Analyzer turns it into criteria you can trust.
Knoot.AI blog: Vague JD Analysis: Why You Keep Screening Wrong People