How to Write a Job Posting That Actually Attracts Good Candidates
The reason your last job posting got 80 applications and zero good candidates isn’t the labor market — it’s usually the post itself. Generic, jargon-stuffed job descriptions filter for spray-and-pray applicants and filter out the people you actually want. Here’s a structure that pulls in qualified candidates, even from a small applicant pool.
Why most job postings fail
Three common patterns kill applications from good candidates:
- The post is a checklist of requirements with no humanity. Strong candidates skim it and think “I’m not 100% match” and don’t apply. Weak candidates apply to everything regardless.
- The post hides salary and location. Good candidates with options won’t reach out for a salary “based on experience.” They have other opportunities that lead with the number.
- The post sounds like a generic Indeed template. If it could be reused for any company, no candidate gets pulled in by it.
The fix is structural. A job post is marketing copy aimed at one specific person — the candidate you wish you could clone. Write to them.
The 6-section structure
1. The headline (one line)
Skip “Job Opening: Senior Carpenter Wanted (Full-Time, Boston).” Try one of these instead:
- “Senior Carpenter — high-end residential, Boston North Shore”
- “Lead Designer for a 4-person agency that ships fast”
- “Fix our broken billing process — Bookkeeper, 30 hr/week”
The headline filters. Specific work, specific environment, specific standard. Generic headlines pull generic applicants.
2. The hook (2-3 sentences)
Tell them in plain English what makes this role good. Not aspirational nonsense — tangible reasons.
The hook should answer: What kind of work? What kind of company? Why are you hiring? What’s the comp range?
3. What you’ll do (3-5 bullets, day-in-the-life)
Not job requirements. The actual work, in normal language. The candidate is mentally trying it on.
- Frame and finish for a typical 2-3 month custom kitchen
- Coordinate with our cabinetmaker, electrician, and tile installer on schedule
- Walk new clients through the build progress weekly
- Problem-solve weird old-house surprises (none of these houses are level)
- Train and mentor a junior carpenter as they ramp up
4. What you bring (the actual minimums)
The minimum stuff. Not your wishlist. If you wouldn’t reject a great candidate for missing it, leave it off.
- 5+ years residential carpentry, including some custom work
- Solid finish skills (we don’t do rough-only jobs)
- Truck and basic hand tools (we provide the rest)
- Valid driver’s license, clean enough that you can drive a company truck (we’ll talk about it)
What to skip: “detail-oriented,” “team player,” “fast-paced environment,” “self-starter.” Empty phrases that filter no one. If those traits matter, show them in the work bullets.
5. What we offer (real things, not marketing)
The actual compensation, benefits, and intangibles. Not vague culture statements.
- $42-50/hr based on experience
- 40-45 hours most weeks; we don’t do weekend emergencies
- Paid drive time between jobsites
- Paid holidays + 2 weeks PTO after year one (W2 employees)
- Health insurance stipend or W2 with employer-sponsored plan, your choice
- Tool budget of $500/year for blades, bits, and consumables
- Most importantly: we hand you a project and trust you to run it
The last line is the kind of thing that pulls senior people. Treat them like adults; they’ll show up.
6. How to apply (specific, low-friction)
Don’t make them write a cover letter, fill out a 12-field form, and submit references upfront. Make the first step easy.
- One paragraph about a recent job you’re proud of (link to a photo if you have one)
- Your hourly rate target
- When you could start
No resume needed for the first contact. If we’re a fit I’ll reply within 48 hours.
A specific easy first step gets 5x more good applicants than a generic “send your resume.” You’re asking for the smallest signal of fit, not a full application.
Always include the salary range
California, New York, Colorado, Washington, and a growing number of states require it by law. But even where it’s not required, posting the range is the single highest-impact change you can make. Reasons:
- Quality candidates with options won’t apply blind. They have other choices that lead with comp.
- Hiding it filters against experienced candidates and for candidates desperate enough to apply anywhere
- You waste hours on phone screens with people who’d never accept your range
- Your competitors who post ranges look more legitimate and trustworthy
Post a range. Even a wide one ($50K-$80K) is better than “DOE.”
Where to post (best to worst, for small business)
For trades and local services
- Indeed — still the volume leader, free posts work, paid sponsored posts get more views
- Facebook Marketplace + local Facebook groups — surprisingly strong for trades; people you know recommend
- Your existing customer email list — “referral bonus $500” pulls more good candidates than any platform
- Trade-specific job boards (e.g., HVAC Career Connect for HVAC, Construction Junction for general trades)
- Local trade school job boards for entry-level
For office / professional roles
- LinkedIn — most expensive, also most candidate volume for white-collar; small business plan is reasonable
- Indeed — second-best for breadth
- AngelList / Wellfound for startup-y roles
- Niche job boards (Stack Overflow for engineering, Dribbble for design, We Work Remotely for remote, etc.)
- Industry slack groups and newsletters — high quality, low volume
The hidden filter: response time
Once you’ve posted, the difference between getting good candidates and losing them is response time. Reply within 24 hours to every legitimate-looking application — even just “received, I’ll be in touch within 3 days” works.
Quality candidates have other irons in the fire. The ones still available a week after you ghost them are the ones nobody else wanted. If you’re too busy to reply quickly, you’re too busy to hire — wait until you’re not.
Quick recap
- Headline: specific work, specific environment
- Hook: real reasons this is a good role, with comp range
- What you’ll do: day-in-the-life, not requirements
- What you bring: actual minimums only, no “team player” filler
- What we offer: real compensation, benefits, intangibles
- How to apply: easy first step, not a 12-field form
- Always post the salary range
- Reply within 24 hours or quality candidates disappear
Stop staring at a blank job posting template.
Operaite’s Job Posting Generator builds custom 6-section postings from your role description — and posts to Indeed automatically — for $29/mo.
See how it works →