Most job descriptions read like legal documents. A wall of responsibilities, a list of requirements nobody fully meets, and a closing paragraph about a fast-growing company on a mission. Strong candidates skim them in under a minute and move on.
I read thousands of job descriptions a week while matching candidates for the companies I work with. The ones that get replies share a few habits. Here they are.
1. Lead with the problem, not the title
The first two sentences decide whether anyone keeps reading. Skip the company boilerplate and say what the hire is for.
Weak: "We are looking for a Senior Backend Engineer to join our growing team."
Better: "Our matching pipeline handles 40,000 candidate profiles a day and it is starting to creak. You will own the rewrite."
A specific problem tells a candidate three things at once: what they will work on, why it matters, and whether it is the kind of work they want.
"The job description is the first interview. Most companies fail it before the candidate ever shows up."
Matt Wilson, CEO, Jack & Jill
2. Cut the requirements list in half
Every requirement you add removes candidates, and the best ones self-select out first. Research on application behaviour has shown for years that many candidates only apply when they meet every listed requirement.
Keep the two or three things the job genuinely cannot be done without. Move everything else to a "nice to have" line, or delete it. If you would still interview someone without it, it is not a requirement.
3. Put the salary in
Roles with a published salary range get more applications, and the candidates who apply waste less of your time, because the ones who need more than you can pay never enter the pipeline. If you cannot publish a number, publish the range you would actually negotiate within. "Competitive salary" tells candidates one thing: the number is low.
4. Describe a real week
"Responsibilities" lists are abstractions. Candidates want to know what Tuesday looks like.
Instead of "Collaborate with cross-functional stakeholders," write "You will spend most of your time pairing with our two product engineers, and roughly one day a week with customers." One sentence of texture beats ten bullet points of duties.
5. Name the team
"You will report to the Head of Engineering" is a fact. "You will report to Dana, who joined from Monzo last year and runs a team of five" is information. Candidates research the people they would work with before they apply. Save them the search and they will trust the rest of the posting more.
6. Say what happens after they apply
The biggest source of candidate drop-off is silence. Tell people what the process is, how many steps it has, and how long it takes. "Three interviews over two weeks, and you will hear back within 48 hours of each" costs you one sentence and sets you apart from most of the market.
7. Read it as the candidate you want
Before you publish, read the posting as the specific person you hope will apply: someone employed, busy, and not desperate. Would they stop scrolling for this? If the honest answer is no, the fix is never more adjectives. It is more specifics.
The short version
A good job description is a trade. The candidate gives you minutes of attention; you give them real information: the problem, the pay, the people, the process. Most companies refuse to go first. The ones that do get better applicants with less effort.

If you would rather not write it alone, this is part of what I do. I draft the role with you, benchmark the salary against live market data, and bring you a shortlist of remarkable candidates from a network of over 150,000 professionals.