Job description mistakes that quietly filter out great candidates

Post a job description and you will get applicants. That part is easy. Getting the RIGHT applicants, the ones who read the posting, recognise themselves in it, and apply with genuine intent, is the hard part. And more often than not, the posting itself is quietly working against you: strong candidates read three lines, decide this role is not really for them, and close the tab before they ever hit apply.
None of this is usually deliberate. A job description gets assembled under time pressure, copied from the last similar role, and stretched with everything the hiring manager can imagine wanting. The result reads fine to the person who wrote it and badly to almost everyone else. Here are four mistakes that show up constantly, and exactly what to do instead.
Mistake 1: burying the real requirements under a wishlist
The single most common failure mode is a requirements section that is actually two lists merged into one: the handful of things a candidate genuinely cannot do the job without, and a much longer list of things that would be nice, someone on the team happens to have, or the hiring manager once used and liked. Merged together and presented with equal weight, that combined list reads as a bar no reasonable person can clear, and strong candidates who are missing item #14 out of 16 self-select out, even though item #14 was never actually required.
How to separate must-haves from nice-to-haves
Before you publish anything, force every line in your requirements section through one question: if a brilliant candidate showed up without this, would you still make them an offer? If the honest answer is yes, that line belongs under a clearly separate “nice to have” heading, not mixed into the requirements a reader has to clear to feel qualified. In practice, most roles have three to five true requirements and a handful of bonuses. Keep the true list short and specific, and label the bonus list as exactly that. Candidates read the short list as the actual bar, apply if they clear it, and treat the bonus list as a reason to be excited rather than a reason to leave.
Mistake 2: seniority language that does not match the actual role
“Senior” in a job title next to a description written for someone with two years of experience is one of the fastest ways to lose both audiences at once: genuinely senior candidates read the day-to-day and correctly conclude the scope does not match the title, while more junior candidates who would be a great fit assume the role is out of reach and never apply. The mismatch usually comes from wanting to signal ambition or attract a stronger candidate pool, but the effect runs the opposite way.
Signals that actually communicate seniority
Seniority is communicated far more reliably through the substance of the responsibilities than through the job title. A junior-level posting describes tasks: execute a defined process, follow established patterns, escalate ambiguous decisions upward. A senior-level posting describes ownership: define the approach, make judgment calls with incomplete information, and be accountable for the outcome, not just the activity. If you are unsure which level you are actually describing, write the responsibilities section first and let the title follow from what is on the page, not the other way round. This is exactly the kind of mismatch that is easy to miss when you are staring at one draft: StaffGenerator’s generator produces a genuinely different responsibilities section, not just a different label, for every seniority level, so you can compare a junior, mid, and senior version of the same role side by side and pick the one that actually matches the job you are hiring for.
Mistake 3: responsibilities so vague they could describe any job
“Collaborate with cross-functional teams to drive results and support business objectives” could describe literally any role in any company. Vague responsibilities feel safe to write because they are hard to get wrong, but they are equally hard to get excited about: a strong candidate cannot picture their actual day, cannot tell whether the work matches what they are good at, and has no concrete reason to prefer this posting over the ten other generic ones in their inbox.
Specificity is a filter, and that is the point
Specific responsibilities do two jobs at once. They give a strong candidate something concrete to get excited about (a real system, a real problem, a real outcome they would own), and they give a weaker or mismatched candidate a clear, early signal that this particular role is not the right fit, before either of you spends time on an interview that was never going to work out. Replace generic verbs with the actual system, tool, or outcome involved wherever you can: not “manage customer relationships” but “own renewal conversations for the top 30 accounts and report weekly on churn risk.” The second version takes one extra sentence to write and tells a candidate exactly what a normal Tuesday looks like.
Mistake 4: the compensation and benefits black hole
Leaving compensation entirely unaddressed is one of the most reliable ways to lose candidates who have other options, because it reads as either an unwillingness to be direct or, worse, a number the company is not confident is competitive. Even where you genuinely cannot publish a fixed figure, because of internal banding, negotiation flexibility, or local disclosure norms, you can still be direct about the range, the structure, and what a candidate can expect to happen next.
The same principle applies to benefits: a bare bullet list of “competitive benefits” tells a candidate nothing, while two or three concrete, real benefits, the ones your team actually uses and talks about, do far more work in far less space. If your company genuinely has nothing distinctive to offer yet, it is better to say less than to pad the section with vague reassurance a candidate has learned to read past.
A quick self-audit before you post
Before your next job description goes live, run it through this short check:
- Does the requirements section have five items or fewer that are truly non-negotiable, with everything else clearly labelled as a bonus?
- Does the seniority implied by the day-to-day responsibilities actually match the title on the posting?
- Could a candidate describe their actual first month from the responsibilities section, or could it describe any job at any company?
- Does the posting say something concrete about compensation or benefits, even if it cannot give a fixed number?
Once a role clears all four, the posting is doing its real job: filtering FOR the right candidates instead of quietly filtering them out.
Write the next one properly the first time
Getting all four of these right from a blank page, for every role and every seniority level, is exactly the kind of repetitive, detail-heavy work that is easy to get slightly wrong under deadline pressure. StaffGenerator generates a complete, role-specific job description, onboarding checklist, and HR policy from just a job title and industry, with the responsibilities and requirements genuinely tailored to the seniority level you choose, so the mismatch in mistake #2 above cannot happen by accident. You can then edit every field before you publish or save it. Once a description, offer, or policy is finalised and you want a tamper-evident, timestamped record of the exact version a candidate agreed to, a service like XSeal can seal that final file so there is never a dispute about which version was signed.