Writing a Job Description That Attracts the Candidates You Want
Most job descriptions are built to survive an audit, not to recruit. Here's how to fix the one document every search depends on.
A job description attracts the right candidates when it separates true must-haves from nice-to-haves, signals title and comp honestly, and reads like a description of the work rather than a legal checklist. Most postings fail because they're written for compliance review, not for the passive candidate deciding in ten seconds whether to keep reading.
The Document Nobody Actually Wrote for a Candidate
Pull up the job description currently posted for your open role and ask who it was actually written for. Most of the time the honest answer is: an HR template, a predecessor's old posting, and whatever bullet points got copied in from a similar req two years ago. It was assembled to survive an internal review, not to make a stranger on LinkedIn stop scrolling.
That matters because the document has to do two completely different jobs at once. One audience is internal and legal-adjacent: it needs to document essential functions and reporting lines in case anyone ever questions a hiring decision. The other audience is a passive candidate reading it on a phone between meetings, deciding in about ten seconds whether this is worth their attention. A document optimized for the first audience almost always fails the second one, because it reads like a compliance artifact instead of a pitch.
Must-Haves, Nice-to-Haves, and Resume Decoration
The single biggest fixable problem in most job descriptions is requirement inflation: a list of eight to ten "required" qualifications when maybe three are actually load-bearing for day-one performance. Every bullet past that point exists because someone thought it would be nice, not because the role fails without it.
This matters more than it seems, because strong passive candidates self-select against requirement lists far more aggressively than active job seekers do. Someone who's happy in their current seat and only mildly curious about yours will read a ten-item list, see two things they don't check, and close the tab. They're not applying to find out if "preferred" means negotiable. Active candidates desperate for a move will apply anyway and let you sort it out; the candidates you actually want to reach rarely will.
Sort every requirement into three honest buckets before you write a word of posting copy: things the person must be able to do in month one without training, things you'd strongly prefer but would train a strong hire into, and things that are really just resume flavor. Put only the first bucket in the required section. Everything else goes under "preferred" or gets cut entirely.
Title and Comp Are the First Two Things a Passive Candidate Reads
Title mismatch quietly kills more searches than bad requirement lists do. If the internal title is "Senior Analyst" but the actual scope is manager-level — owning a budget, directing two or three people, presenting to leadership — posting it as written will undersell the role to anyone currently carrying a manager title elsewhere, and it will mismatch how search and referral networks categorize the opening. Title the posting for the scope of the work, not for whatever grade your internal leveling system happens to assign it.
Compensation range is the second filter, and omitting it doesn't protect your negotiating position the way it feels like it should — it mostly just costs you the candidates who are selective enough to not waste a conversation finding out. A senior professional evaluating a move weighs the opportunity cost of even engaging with a recruiter; an unlisted range reads as a signal that the number might be below market, whether or not that's true. (For how to actually set that number so it doesn't undershoot or overshoot the market you're competing in, see the companion piece on setting a compensation range.)
Write the Day, Not Just the Duty List
A bullet list of twelve responsibilities tells a candidate what tasks exist. It doesn't tell them what the job is like, what authority comes with it, or what winning looks like in the first ninety days. The postings that convert passive interest into a first conversation usually include a short narrative block before the bullet list — two or three sentences on why the seat is open, what the first real project looks like, and who the person reports to and why that relationship matters.
This isn't about writing marketing copy for its own sake. It's about giving a skeptical, currently-employed reader enough concrete context to picture themselves in the role, rather than making them infer scope from a list of verbs. "Own vendor relationships" tells a candidate nothing. "Take over a vendor portfolio that's been managed ad hoc for two years and needs someone to actually renegotiate terms" tells them exactly what they're walking into and why it's interesting.
You Actually Need Two Documents, Not One
The cleanest fix for most organizations is to stop trying to make a single document do both jobs. Keep an internal job description that's thorough, compliance-minded, and built for your HR file — essential functions, reporting structure, the full qualifications list, the works. Then build a separate, shorter job posting from it that's written for the candidate, not the file: cut requirement inflation, add the title and comp signal, add the narrative framing.
If you're working with a recruiter, this split also speeds up the intake conversation considerably — they're not trying to extract the real must-haves from a twelve-item wish list, and they can go to market with language that actually represents the opportunity instead of translating legalese on the fly. A good scorecard built from the honest internal version, paired with a posting built to attract rather than filter, is what closes the gap between the job you're describing and the job you're actually trying to fill.
Frequently asked
Good questions.
Should I write the job description myself or let the recruiter do it?
Write the internal version yourself or with your HR partner, since you're the only one who knows what the role actually needs on day one. Then let your recruiter translate it into posting language — they know what phrasing and framing actually get a response from passive candidates in your market, and they'll push back on requirements that are quietly shrinking your pool.
How long should a job description be?
The internal, HR-file version can be as long as it needs to be for compliance purposes. The external posting should be short enough to read in under a minute: a two-to-three sentence narrative on the role, a tight list of true must-haves, comp range, and a few lines on team or reporting structure. Anything longer starts losing passive readers before they get to the part that would hook them.
Should the job posting include the salary range?
In most cases, yes. Leaving it off doesn't protect negotiating leverage the way it feels like it should — it mainly discourages selective, currently-employed candidates from spending time finding out, and it invites assumptions that the number is lower than it is. If you're unsure where to set the range itself, that's a separate and more important problem to solve first.
What's the actual difference between a job description and a job posting?
A job description is the internal, compliance-oriented document that defines essential functions, reporting lines, and full qualifications — it lives in your HR file and matters legally. A job posting is the external, shorter piece built from it that's meant to be read by a candidate and persuade them to engage. Treating them as the same document is the most common reason postings underperform.
Ready to make the hire?
Tell us the role, the comp band, and the timeline — we'll tell you exactly how we'd run the search.