A great job description does three things: it attracts qualified candidates, it filters out poor fits, and it sets expectations for the role. Most job postings fail at all three - they're either so generic they attract everyone, so demanding they scare off good candidates, or so vague no one knows what the job actually involves.
This guide will help you write job descriptions that work. Whether you're hiring for the first time or refining an existing process, you'll learn the structure, language, and strategy that leads to better applicants.
Why Job Descriptions Matter
Your job posting is doing more work than you might realize. It's simultaneously:
- A marketing document - selling the role and company to potential candidates
- A filter - helping people self-select in or out
- A legal document - defining the role for compliance and compensation purposes
- A search target - appearing (or not) in job board search results
- A first impression - shaping how candidates perceive your company
The impact is measurable. Companies that invest in their job descriptions see:
Yet most companies write job descriptions as an afterthought. They copy-paste from competitors, list every possible requirement, use jargon-heavy corporate speak, and wonder why they're not attracting great candidates.
Anatomy of a Great Job Post
Every effective job description contains the same core elements - though the order and emphasis can vary based on your company and role.
Job Title
Clear, searchable, accurate to seniority level. Skip the clever internal titles.
Opening Hook
2-3 sentences on what makes this role compelling. Why would someone want this job?
About the Company
Brief context on who you are, what you do, and your stage/size. Keep it short.
What You'll Do
Specific responsibilities and projects. Paint a picture of day-to-day work.
Requirements
Must-haves only. Be honest about what's truly required vs. nice-to-have.
Nice-to-Haves
Skills that would be a bonus but aren't dealbreakers. Explicitly label these.
Compensation & Benefits
Salary range, equity if applicable, benefits highlights. Be specific.
How to Apply
Clear instructions and what to expect in the process.
The length sweet spot is 700-1000 words. Shorter than that and you're probably missing important details. Longer and candidates start skimming or bouncing entirely.
The Writing Process
Don't start with a blank page or a competitor's job posting. Start with conversations.
Step 1: Talk to the Hiring Manager
What does success look like in this role? What projects will this person own? What challenges will they face? What kind of person thrives on this team? These conversations surface the real requirements - not the theoretical wish list.
Step 2: Talk to People in the Role
If you're backfilling or expanding a team, the people currently doing the job are your best source. What do they actually do day-to-day? What skills turned out to matter most? What do they wish they'd known before starting?
Step 3: Define Must-Haves vs. Nice-to-Haves
This is where most job descriptions go wrong. List every possible skill and you'll scare off qualified candidates (especially women and underrepresented groups, who are less likely to apply unless they meet 100% of requirements). Be ruthless about what's truly required.
Step 4: Write, Then Cut
Get everything down, then edit aggressively. Remove corporate jargon. Cut redundant phrases. Make every sentence earn its place.
Step 5: Get Feedback
Have someone outside the hiring team read it. Do they understand what the job is? Does it sound like a place they'd want to work? What questions do they still have?
Crafting the Job Title
The title is your first (and sometimes only) chance to grab attention. It also determines whether your posting appears in search results.
Do
- Use standard industry titles (Software Engineer, Product Manager)
- Include seniority level (Senior, Lead, Junior)
- Add specialization if relevant (Frontend Engineer, Growth Marketing Manager)
- Keep it under 60 characters for search visibility
Don't
- Use internal titles no one searches for ("Engineering Ninja")
- Stuff keywords ("Senior Software Engineer Developer Programmer")
- Be vague ("Team Member", "Associate")
- Include location or salary in the title
Think about what candidates actually search for. No one searches "Code Wizard" or "Customer Happiness Hero" - they search "Senior Software Engineer" and "Customer Support Manager."
Requirements vs. Nice-to-Haves
This distinction matters more than almost anything else in your job description. Research consistently shows:
Men apply for jobs when they meet 60% of the requirements. Women apply only when they meet 100%.
— Hewlett Packard internal study
Long requirements lists don't just reduce applications - they reduce applications from specific groups, narrowing your candidate pool in ways that hurt diversity.
The fix is straightforward: be honest about what's truly required. A "requirement" should be something that, if missing, would make success impossible. Everything else is a nice-to-have.
| Instead of This | Write This |
|---|---|
| 5+ years of experience required | Experience level: mid to senior (we care more about what you've done than years) |
| Must have CS degree | Strong programming fundamentals (degree optional) |
| Expert in React, TypeScript, GraphQL, AWS... | Proficient in modern frontend development; our stack is React + TypeScript |
| Excellent communication skills | Can explain technical concepts to non-technical stakeholders |
Salary Transparency
Should you include salary in your job posting? The data is increasingly clear: yes.
Postings with salary ranges get more applications - and more qualified applications. Candidates can self-select based on compensation fit, saving everyone time. It also signals that your company values transparency and fairness.
Beyond preference, it's increasingly required by law. Colorado, California, New York City, and Washington state all have salary transparency requirements, with more states following. Even if you're not legally required, including compensation puts you ahead of competitors who don't.
The common objection - "but our ranges are wide" - usually means your ranges are too wide. A "$80,000-$180,000" range signals internal confusion about the role level more than it protects flexibility.
Inclusive Language
The words you use affect who applies. Certain language patterns - often unintentional - signal that some candidates aren't welcome or wouldn't fit.
Watch for Gendered Language
Words like "aggressive," "dominant," and "competitive" are associated with masculinity and can discourage women from applying. Similarly, "supportive," "collaborative," and "nurturing" skew feminine. The goal isn't to avoid all adjectives - it's to ensure your language doesn't inadvertently narrow your pool.
Tools like Textio and Gender Decoder can analyze your postings for bias.
Avoid Unnecessary Qualifiers
"Young and energetic team" signals age bias. "Cultural fit" can be code for "people like us." "Native English speaker" excludes fluent non-native speakers unnecessarily. Question every qualifier - is it actually required, or is it limiting your pool?
Make Accessibility Clear
Include a line about accommodations: "We're committed to providing accommodations for candidates with disabilities. Please let us know if you need any adjustments to the interview process."
Common Mistakes
Even experienced recruiters make these errors. Avoid them and you're already ahead of most postings.
The Wish List
Listing every possible skill, creating unrealistic expectations. No one has 10 years of experience in a 5-year-old technology.
Copy-Paste Syndrome
Using the same generic description for years, or copying competitors without adaptation. If your posting could be from any company, it won't attract anyone specific.
All About You
Focusing entirely on what you need without showing what candidates get. The best people have options - why should they choose you?
Jargon Overload
"Synergize cross-functional stakeholders to drive paradigm-shifting innovation." Please stop.
Hidden Process
Not explaining what happens after someone applies. Candidates are interviewing you too - being clear about your process shows respect for their time.
Templates by Role
Ready to write? Start with one of our role-specific templates. Each includes the key sections, example language, and customization notes.
Software Engineer
Frontend, backend, full-stack - junior through staff level.
Product Manager
Technical and non-technical product roles.
Sales Representative
SDR, AE, and sales leadership positions.
Marketing Manager
Growth, content, brand, and performance marketing.
Customer Success
CSM, support, and customer experience roles.
Data Scientist
Analytics, ML engineering, and data roles.