How to Write Job DescriptionsThat Attract Top Talent in 2026
The average job post gets 250 applications. Most are unqualified. The problem isn't the candidates. It's the job description. Here's how to fix that with data, templates, and real examples.
Updated March 26, 2026 · Includes 2026 salary transparency laws
Requirements (3 of 3)
AI Analysis
Salary included
+30% applications
Specific title
+21% click rate
3 requirements
Inclusive range
JD Quality Score
94%
30%
More applicants with salary listed
11
US states require pay transparency
3-5
Ideal number of requirements
300-700
Optimal word count
Why Most Job Descriptions Fail
Most job descriptions are written defensively. HR writes them to protect the company, not to attract candidates. The result is a document full of legal hedging, vague requirements, and zero personality. Candidates scan it for 14 seconds, see nothing compelling, and move on.
The numbers tell the story. According to LinkedIn Talent Solutions, job posts with salary ranges receive 30% more applications. Yet only about half of US job postings include compensation. That's leaving qualified candidates on the table because you wouldn't share a number.
The other killer? Requirements inflation. A Hewlett-Packard internal study found that men apply to jobs when they meet 60% of the qualifications. Women apply only when they meet 100%. Every unnecessary requirement you add shrinks your pool and skews it toward overconfident applicants who may not be your best hires.
A good job description does three things: it tells candidates what they will build, what they need to know, and what they will earn. Everything else is noise.
Anatomy of a Great Job Description
Every strong job description has six parts. Here's what each one does and how to write it well.
1. Job Title
The job title is your headline. It determines whether candidates click or scroll past. The rules are simple: be specific, be searchable, skip the creativity.
“Senior Backend Engineer” works because candidates search for those exact words. “Backend Wizard” does not. Include the seniority level (Senior, Staff, Lead) and the specialty (Backend, Frontend, Full-Stack, iOS). If there's a relevant domain, add it: “Product Designer (B2B SaaS)” or “Full-Stack Engineer, Payments.”
Avoid internal leveling (IC3, L6) that means nothing outside your company. Avoid buzzwords (Rockstar, Ninja, Guru) that signal an immature hiring culture. Keep it under 80 characters so it displays fully on job boards.
Job title examples
- Senior Backend Engineer
- Product Designer (B2B SaaS)
- Full-Stack Engineer, Payments
- Staff Software Engineer, Infrastructure
- Coding Ninja
- IC3 Engineer
- Rockstar Developer
- Senior Full-Stack Backend Frontend DevOps Engineer II
2. Opening Hook
The first paragraph is your pitch. You have one shot to answer the candidate's real question: “Why should I care about this job?”
Lead with impact, not boilerplate. Tell them what they will build and why it matters. “You'll architect the checkout system that processes $2M in daily transactions” beats “We are seeking a highly motivated engineer to join our dynamic team.” The first gives a candidate a reason to keep reading. The second is filler they've seen a thousand times.
Keep it to 2-3 sentences. Cover three things: the project, the scale, and why now. If you can name a specific product, metric, or deadline, do it. Specificity builds trust.
Opening paragraph examples
- You'll build the checkout flow used by 10,000 customers daily. Our payments team ships weekly and owns the full stack from API to UI.
- We're rebuilding our mobile app from scratch. You'll lead the iOS rewrite, ship to the App Store, and own the roadmap for v2.
- We are looking for a highly motivated individual to join our team.
- Are you passionate about technology? Do you thrive in a fast-paced environment?
3. Responsibilities
List 4-6 concrete things this person will do in their first 6-12 months. Use verbs that describe real work: build, ship, design, lead, optimize. Avoid vague corporate verbs like “leverage,” “facilitate,” or “drive synergies.”
Each bullet should pass the “so what” test. If a candidate reads it and thinks “that could be any job,” rewrite it. “Collaborate with cross-functional teams” fails this test. “Partner with the design team to ship a new dashboard for enterprise clients” passes.
Order matters. Put the most exciting, highest-impact work first. If the role involves some less glamorous tasks (on-call, documentation), include them honestly but don't lead with them.
Responsibility bullets
- Design and build the API layer for our AI screening product
- Reduce page load time from 3s to under 500ms across the candidate portal
- Mentor two junior engineers and lead weekly architecture reviews
- Collaborate with cross-functional stakeholders
- Drive innovation and thought leadership
- Other duties as assigned
4. Requirements
This is where most job descriptions go wrong. They list 15 requirements when 4 would do. For each item on your list, ask one question: “Would I reject an otherwise great candidate who lacked this?” If the answer is no, move it to “nice to have.”
Three to five requirements is the sweet spot. Research consistently shows that longer lists discourage qualified applicants, particularly women and candidates from underrepresented backgrounds. The HP study on this is over a decade old now, but follow-up research from Harvard Business Review confirms the pattern holds.
Separate “must-haves” from “nice-to-haves” clearly. Be specific about years of experience only when it genuinely matters. “4+ years building production web applications” tells you something. “10+ years required” is often arbitrary gatekeeping.
Requirements section
- 4+ years building production web applications
- Strong experience with React and TypeScript
- You've designed and maintained APIs used by external customers
- 10+ years of experience required
- Must know Java, Python, Go, Rust, C++, and Kotlin
- CS degree from top-tier university required
5. Compensation & Benefits
Include the salary range. Full stop.
LinkedIn data shows posts with salary ranges get 30% more applicants. Beyond the numbers, including pay signals respect. Candidates know you value their time. And it saves your recruiters dozens of hours that would otherwise go to screening candidates who expect twice your budget.
Don't use comically wide ranges ($80K-$200K) to technically comply. That signals you either don't know what the role is worth or you're trying to game transparency laws. A 20-25% spread is reasonable. $150K-$185K gives candidates useful information while leaving room for experience and negotiation.
Beyond base salary, mention equity (with specifics like 0.1-0.3%), key benefits (health insurance, 401k match, remote stipend), and location requirements. These details help candidates self-select, which is exactly what you want.
Compensation sections
- $150K-$180K base + 0.2-0.4% equity, refreshed annually
- Full health/dental/vision, $500/mo remote stipend, 4 weeks PTO
- Remote (US timezones) with optional NYC office access
- Competitive salary
- DOE (Depends on Experience)
- Salary: $60K-$250K
6. Company Description
Keep this to 3-4 sentences. Candidates can research your full story on your website and LinkedIn. The job description is not the place for your origin story.
Cover four things: what you build, who uses it, your stage or traction, and what makes you different. If you have notable customers, funding, or growth metrics, mention them. Numbers are more credible than adjectives. “Used by 2,000 companies” beats “fast-growing startup.”
Company descriptions
- Prepzo builds AI-powered hiring tools used by 500+ companies. Series A, 25 employees, growing 3x year over year.
- We make developer tools for infrastructure teams. 10,000 weekly active users. Backed by Sequoia.
- Founded in 2015, we are an innovative, cutting-edge, disruptive technology company...
- We are a passionate team of dedicated professionals committed to excellence in all we do.
Salary Transparency Laws in 2026
Pay transparency is no longer optional in much of the United States. As of 2026, eleven states require employers to include salary ranges in job postings: California, Colorado, Connecticut, Hawaii, Illinois, Maryland, Nevada, New York, Rhode Island, Vermont, and Washington.
The trend is accelerating. Several additional states have pay transparency legislation pending. The EU Pay Transparency Directive, which takes effect in 2026, requires salary disclosure for all job postings across EU member states. If you hire internationally, this affects you.
Compliance matters
Non-compliance penalties range from $500 to $10,000 per violation depending on the state. New York City can fine up to $250,000 for repeated violations. Including salary is not just good practice anymore. In many places, it's the law.
Even if your state doesn't require it yet, posting salary ranges is a competitive advantage. Candidates increasingly expect it, and companies that withhold pay information look like they have something to hide. If you are managing compliance across multiple states, an applicant tracking system can help standardize your postings and flag missing fields before they go live.
Writing Inclusive Job Descriptions
The words you choose shape who applies. Research from the Journal of Personality and Social Psychology shows that masculine-coded words like “competitive,” “dominant,” and “aggressive” measurably reduce female application rates. This isn't about political correctness. It's about not accidentally filtering out half your talent pool with a word choice.
Practical steps that work:
- Run the gender decoder. Use the free tool to check your language before posting.
- Replace “culture fit” with “values alignment.” Culture fit has been shown to reinforce homogeneity. Describe the actual values.
- Drop degree requirements unless legally necessary. Google, Apple, and IBM dropped degree requirements years ago. Skills predict performance better than credentials.
- Use “you” instead of “the ideal candidate.” Second person feels more inviting and personal. It signals that the JD was written for a real person, not a legal file.
- Add an EEO statement with substance. A generic boilerplate EEO statement is the minimum. Better: describe specific inclusion initiatives your company runs.
For more on reducing bias throughout the hiring funnel, see our guide on unconscious bias in hiring. And if you want to evaluate candidates on what they can actually do, read about skills-based hiring.
SEO for Job Postings
A great job description that nobody finds is a waste. Most candidates start their search on Google, Indeed, or LinkedIn. Your JD needs to rank where they're looking.
- Use standard job titles. “Senior Software Engineer” gets searched. “Code Artisan” does not. Google for Jobs parses standard titles and matches them to candidate queries.
- Include location details. Even for remote roles, specify the timezone, country, or region. “Remote (US, EST-PST)” helps Google for Jobs surface your listing to the right candidates.
- Add JobPosting schema. Structured data markup gets your listing into Google's rich results. Include title, salary, location, company, and date posted. Tools like Prepzo generate this automatically.
- Keep it fresh. Job boards penalize stale listings. Repost or refresh every 30 days if the role is still open. Update the “date posted” in your schema markup.
If you're posting jobs across multiple boards, an automated recruitment workflow saves hours of manual reposting. Prepzo's job board integrations distribute your JDs to top platforms with one click.
Before & After: Full Job Description Rewrite
Theory is nice. Practice is better. Here's a real before-and-after comparison of a backend engineering JD.
Software Developer
We are a fast-growing, innovative technology company looking for a highly motivated software developer to join our dynamic team. The ideal candidate is a self-starter who thrives in a fast-paced environment.
Requirements:
- 10+ years of experience
- BS/MS in Computer Science from a top university
- Java, Python, Go, Rust, C++, JavaScript, TypeScript
- Experience with AWS, GCP, and Azure
- Strong communication skills
- Team player who works independently
- Other duties as assigned
Competitive salary. DOE.
Senior Backend Engineer, Payments
You'll build the payment processing system that handles $3M in daily transactions. Our 4-person payments team ships weekly and owns the full stack from Stripe integration to the merchant dashboard.
You'll need:
- 4+ years building backend services in Python or Go
- Experience designing APIs used by external clients
- Familiarity with payment systems or financial data
Nice to have:
- Stripe or Adyen integration experience
- PCI compliance knowledge
$160K-$190K + 0.2% equity. Remote (US, EST-PST). Full benefits.
The rewrite is shorter, more specific, and includes salary. It tells candidates exactly what they will work on, what they need to know, and what they will earn. That's the formula.
Copy-Paste Template
Use this as your starting framework. Fill in the brackets, delete anything that doesn't apply, and add specifics about your team and projects.
# [Job Title] at [Company]
[One sentence: what they'll build and why it matters]
[One sentence: team size, shipping cadence, tech stack]
## What You'll Do
- [Highest-impact project or responsibility]
- [Second most important responsibility]
- [Third responsibility]
- [Fourth responsibility]
## What You'll Need
- [Must-have skill #1 with years if relevant]
- [Must-have skill #2]
- [Must-have skill #3]
## Nice to Have
- [Bonus skill or experience]
- [Bonus skill or experience]
## Compensation
$[X]-[Y]K base + [equity details]
[Benefits: health, PTO, stipends]
[Location: Remote/Hybrid/Onsite + timezone]
## About [Company]
[What you build. Who uses it. Stage/traction. 2-3 sentences max.]Using AI to Write Job Descriptions
AI tools can cut JD writing time from hours to minutes. The question is whether the output is any good.
Generic AI writing produces generic job descriptions. The same bland sentences, the same buzzwords, the same structure as every other AI-generated JD on the internet. That defeats the purpose.
The better approach: use AI to generate a structured first draft, then add the specifics that only you know. The team dynamics, the specific projects, the real numbers. AI handles the format and compliance. You add the substance.
Prepzo's AI job description generator takes a different approach than generic tools. It analyzes your existing team data, role requirements, and salary benchmarks to produce JDs tailored to your company. It flags missing fields (salary, location, requirements count) and scores your JD on inclusivity and clarity before you post.
Whether you use AI or write from scratch, the principles in this guide apply. Clear title. Specific hook. Short requirements. Salary included. Company context. That framework works regardless of who (or what) writes the first draft.
Frequently Asked Questions
How long should a job description be?
Between 300 and 700 words. LinkedIn data shows posts in the 150-300 word range get the most applications per view, but longer posts (601+) also perform above average when the extra length adds useful detail like salary, team info, and growth opportunities.
Should I include salary in a job description?
Yes. Posts with salary ranges get up to 30% more applicants according to LinkedIn. As of 2026, eleven US states legally require salary disclosure in job postings, including California, New York, Colorado, and Illinois. Even where not required, transparency builds trust and filters out mismatched candidates early.
How many requirements should a job description list?
Three to five true must-haves. Research shows that women apply to jobs only when they meet 100% of listed qualifications, while men apply at 60%. Long requirements lists shrink your talent pool and disproportionately exclude underrepresented candidates.
What words should I avoid in job descriptions?
Avoid gendered language like 'rockstar,' 'ninja,' 'aggressive,' and 'dominant,' which research links to lower female application rates. Skip vague terms like 'fast-paced environment' and 'self-starter' that add no useful information. Also avoid jargon and internal titles that candidates won't recognize.
Can AI write good job descriptions?
AI tools like Prepzo can generate solid first drafts in seconds by analyzing role requirements and suggesting optimized language. The key is reviewing the output for accuracy, removing generic filler, and adding specific details about your team and projects that only a human would know.
The bottom line
A job description is a sales pitch for your role. The best ones are specific, honest, and short. They tell candidates what they will build, what they need to know, and what they will earn. Every word beyond that is noise.
Start with the template above. Add your specifics. Cut everything that doesn't help a candidate decide whether to apply. Then prepare your interviews so the process matches the promise.
Generate job descriptions in seconds
Prepzo's AI writes tailored JDs, checks for bias, includes salary benchmarks, and posts to top job boards. Try it free.
Try free