The job description is the first filter in your recruiting funnel. It’s also, in most companies, the worst-written document in the entire hiring process.
I’ve reviewed over 400 job descriptions across tech companies of all sizes. The patterns are so consistent they’re almost boring: a wall of requirements that no living human meets fully, a “company culture” paragraph that reads like it was written by the same AI everyone else used, and a comp range conspicuously absent.
This matters because candidates read your JD before they decide to apply — or not. The ones you lose at this stage are invisible. There’s no ghost, no feedback, no data. They just don’t show up.
The Requirement Inflation Problem
The average senior software engineer JD lists 14 required qualifications. The median years of experience demanded: 8 years. The median years required by the actual job duties: 4.
This isn’t hypothetical — it’s from an analysis of 1,200 JDs across FAANG-adjacent companies published in 2024. And it has a direct effect on who applies.
Research from LinkedIn’s Talent Insights team found that women are 16% less likely to apply for a job if they don’t meet 100% of listed requirements, versus men who apply if they meet roughly 60%. That’s not a diversity initiative problem. That’s a job description problem.
The fix: Separate requirements into two buckets. “You must have on day one” and “you’ll develop here.” Be brutally honest about which is which. If you’ve trained 6 people on that skill in the last 2 years, it’s not a requirement.
The Compensation Omission Problem
Hiding comp doesn’t create negotiating leverage. It creates dropout.
In markets where pay transparency laws don’t yet apply, about 60% of companies still omit salary ranges from job postings. The reasoning is usually “we want flexibility” or “we don’t want to anchor expectations.” Both arguments fall apart under scrutiny.
Candidates who don’t see compensation ranges in a post are increasingly just moving to the next listing. Your pipeline fills with people who either don’t know their market value or are hoping you’ll overpay. Neither is ideal.
Post the range. If your range is too wide to be meaningful (e.g., $80K–$160K), that’s a different problem — it means your leveling is unclear, and candidates will sense that disorganization in the interview process.
The Culture Paragraph Nobody Believes
“We’re a fast-paced, collaborative environment where we move fast and break things while caring deeply about work-life balance.”
Every candidate who has worked at more than one company has learned to mentally delete this paragraph. It signals nothing because it costs nothing to write. Culture claims without evidence are marketing, not information.
What works instead: specifics. “Our engineering team ships weekly. We do 30-minute standups, not hour-long meetings. Engineers rotate on-call every 6 weeks. The last three people in this role have been promoted within 18 months.”
That’s information a candidate can actually use to self-select in or out. Which is the point.
The JD Audit You Should Run This Week
Pull the last 10 JDs your team published. For each one, answer:
- If I removed the company name and logo, would a candidate know anything distinctive about this role?
- Can a qualified candidate read this in under 3 minutes and know whether to apply?
- Is compensation visible?
- Are requirements separated into must-have vs. nice-to-have?
If the answer to any of those is no, you have a filtration problem — and it’s invisible in your funnel metrics because the lost candidates never entered.