SMALL BUSINESS · 6 MIN READ · APRIL 2026

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:

  1. 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.
  2. 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.
  3. 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:

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.

Template
We do high-end residential remodels in [neighborhood]. Most jobs are $80K-$300K kitchens and additions for repeat clients. We’re hiring because we’re booked through the year and our lead carpenter is expanding to manage two crews. Pay is $42-50/hr based on experience, 1099 or W2 your choice, with paid drive time.

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.

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.

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.

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.

Template
Email me: mike@example.com with:
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:

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

  1. Indeed — still the volume leader, free posts work, paid sponsored posts get more views
  2. Facebook Marketplace + local Facebook groups — surprisingly strong for trades; people you know recommend
  3. Your existing customer email list — “referral bonus $500” pulls more good candidates than any platform
  4. Trade-specific job boards (e.g., HVAC Career Connect for HVAC, Construction Junction for general trades)
  5. Local trade school job boards for entry-level

For office / professional roles

  1. LinkedIn — most expensive, also most candidate volume for white-collar; small business plan is reasonable
  2. Indeed — second-best for breadth
  3. AngelList / Wellfound for startup-y roles
  4. Niche job boards (Stack Overflow for engineering, Dribbble for design, We Work Remotely for remote, etc.)
  5. 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

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 →