Back to blog
7 min readFebruary 19, 2026

How to Write a Job Description That Actually Attracts Talent

Most job descriptions are terrible — and they're costing you great candidates. Here's a practical guide to writing job posts that stand out, attract the right people, and don't waste anyone's time.

There's a painful irony in startup hiring: the companies that need great people the most are usually the worst at attracting them.

Not because the roles aren't exciting. Not because the pay is bad. But because the job description reads like it was written by a committee, copied from a Fortune 500 template, and published in a rush between two other fires.

If you're hiring at a startup, your job description is doing more work than you think. It's your pitch, your filter, and often the first real impression someone has of your company. Let's make it count.

Why most job descriptions fail

Before we fix anything, let's name the problem. Most job descriptions fail for one of three reasons:

They're generic. "We're looking for a passionate, self-driven team player who thrives in a fast-paced environment." This describes every job ever posted. Candidates scroll past it instantly because it tells them nothing about what makes this role different.

They're a wish list, not a role. Some postings read like a fantasy of the perfect human — 12 bullet points of required skills, 8 "nice-to-haves" that are clearly required, and 3 years of experience in a technology that's 2 years old. Strong candidates self-select out because they don't check every box. Weaker candidates apply anyway.

They focus on the company, not the candidate. Three paragraphs about your mission, your funding, your culture. Not a single sentence about what this person will actually do all day or why they should care.

The structure that works

After helping hundreds of startups think about their hiring, we've seen a clear pattern in the postings that get the best applicants. Here's the structure.

1. Start with the problem, not the title

Your opening line should answer one question: why does this role exist?

Don't start with "We're looking for a..." — start with the context that makes the role meaningful.

Weak:

We're looking for a Senior Frontend Engineer to join our growing team.

Strong:

Our users spend 3 hours a day in our dashboard, and the experience isn't good enough yet. We need a frontend engineer who can own the interface and make it fast, clear, and genuinely pleasant to use.

The second version tells the candidate exactly what they'd be working on and why it matters. It also signals that you've thought seriously about the role — which is exactly the kind of company good engineers want to join.

2. Be specific about what they'll do

Replace vague responsibilities with concrete outcomes. Think about what this person will do in their first 30, 60, and 90 days.

Vague:

  • Work closely with the product team
  • Build scalable frontend solutions
  • Participate in code reviews

Specific:

  • Redesign the reporting dashboard to cut load time from 4s to under 1s
  • Build the notification system that our top 3 customer requests are asking for
  • Set up component testing so we stop shipping visual regressions every sprint

Candidates can picture themselves in the second version. They can evaluate if they'd enjoy the work. That's the whole point.

3. Split requirements into "must-have" and "nice-to-have" — and mean it

This matters more than most people realize. Research consistently shows that underrepresented candidates are less likely to apply unless they meet 100% of the listed requirements, while others will apply at 60%.

If you list 15 requirements and only 5 are truly essential, you're accidentally filtering out exactly the people you should be trying to reach.

Be ruthless. Your must-haves should be 3-5 things that someone genuinely cannot do the job without. Everything else is a nice-to-have.

Must-have example:

  • 3+ years building production web applications with React
  • Experience with TypeScript in a real codebase (not just tutorials)
  • You can own a feature from design handoff to production

Nice-to-have example:

  • Experience with Next.js App Router
  • Familiarity with Tailwind CSS
  • You've worked at an early-stage startup before

4. Show the compensation — or explain why you can't

This is a contentious topic, but the data is clear: job postings with salary ranges get significantly more applicants. Many jurisdictions now require it by law, and candidates increasingly skip postings that hide compensation.

If you can share a range, do it. If you genuinely can't (some early-stage companies have flexible budgets based on experience), say that honestly:

Compensation: We're budgeting $120k-$150k base + equity, but we're flexible for the right person. Let's talk.

That's infinitely better than silence, which candidates interpret as "we're going to lowball you."

5. Describe the work environment honestly

Remote, hybrid, or in-office — say it clearly. If it's hybrid, say how many days. If it's remote with occasional travel, say how often.

Then go beyond logistics. What's it actually like to work here?

  • How big is the team they'd join?
  • Who would they report to?
  • What tools do you use?
  • How do you make decisions?
  • What's the pace like — honestly?

Skip the ping-pong tables and "unlimited PTO" clichés. Tell them something real:

We're a team of 8. Everyone ships to production. Decisions are fast because there's no bureaucracy, but that also means you'll wear more hats than at a bigger company. We work hard during the week and genuinely disconnect on weekends.

6. Make the application process clear and simple

Tell candidates exactly what to do and what to expect:

  • What to submit (resume, portfolio, cover letter — only ask for what you'll actually read)
  • What the process looks like (phone screen → technical → founder chat → offer)
  • How long it typically takes
  • When they'll hear back

And then follow through. Nothing damages your employer brand faster than ghosting candidates after they took the time to apply.

A quick checklist before you publish

Before you post, run through this:

  • [ ] Does the first sentence explain why this role exists?
  • [ ] Are the responsibilities specific enough that someone can picture the work?
  • [ ] Are must-haves limited to 3-5 genuine requirements?
  • [ ] Is compensation visible (or honestly addressed)?
  • [ ] Does a candidate know exactly what happens after they apply?
  • [ ] Would you apply to this job based on this description?

That last one is the real test. Read it as if you knew nothing about your company. Is it compelling? Is it clear? Would you click "Apply"?

Where your job description lives matters too

You've written a great job description. Now where does it go?

If it lives as a PDF attachment in a LinkedIn post, most candidates won't find it. If it's buried in a "Careers" section of your main website between your pricing page and your about page, it's getting minimal traffic.

The best setup for a startup is a dedicated career page — a clean, branded page that shows your open roles, communicates your culture, and makes it dead simple to apply.

You don't need to build this from scratch. If you already use Notion to manage your jobs and candidates, tools like Pipol can generate a professional career page directly from your Notion data. You keep managing everything in Notion — the career page stays in sync automatically.

The point is: a great job description deserves a great home. Don't let a mediocre publishing experience undermine the work you put into the writing.

The bottom line

Writing a good job description isn't a creative writing exercise. It's a clarity exercise. The best postings are specific about the problem, honest about the trade-offs, and respectful of the candidate's time.

Your startup might not have the brand recognition of Google or the salary budget of a hedge fund. But you have something most big companies don't: a real, tangible impact that a new hire can see from day one. Your job description should make that visible.

Take 30 extra minutes on your next job posting. Be specific. Be honest. Cut the fluff. The right candidate is out there — your job description just needs to help them find you.


Ready to give your job descriptions a proper home? Create your career page for free — powered by Notion, live in minutes.

Ready to build your career site?

Connect your Notion workspace and launch a professional career page in minutes.

Start for free