
How to Write a Job Description: Step-by-Step + Templates
A poorly written job description doesn't just sit there, it actively works against you. It attracts unqualified applicants, repels strong candidates, and drags out your hiring cycle by weeks. Knowing how to write a job description that's clear, specific, and honest is one of the most underrated skills in recruiting. Yet most job posts still read like a copy-paste from five years ago, stuffed with vague responsibilities and unrealistic qualification lists that scare off the people you actually want.
The difference between a role that fills in two weeks and one that lingers for two months often comes down to how the description is written. A strong job description does three things well: it defines the role precisely, it speaks directly to the right candidates, and it sets expectations from day one. A weak one does none of that, and you end up screening hundreds of resumes that never should have landed in your pipeline.
This guide breaks down the entire process step by step, from structuring your job title to writing compelling descriptions that convert views into applications. You'll also find ready-to-use templates you can adapt immediately. And once your job descriptions are dialed in, platforms like Olibr make the next steps easier, with free job posting, AI-powered candidate matching, and a searchable database of 180,000+ profiles to help you move from description to hire faster.
What a strong job description includes
Before you learn how to write a job description that actually works, you need to know what one should contain. A strong job description is a structured document, not a free-form paragraph dump. It has a clear hierarchy of information that helps candidates quickly decide whether to apply. Every component serves a specific purpose, and leaving any of them out creates gaps that lead to misaligned applications and wasted screening time on both sides.
A job description is not just a list of tasks. It's the first real conversation between your company and a potential hire.
The core components
A complete job description has six distinct sections. Each one answers a different question the candidate is asking as they read through the posting. Here's what every job description needs:

- Job title and level (e.g., Senior Frontend Engineer, not just "Engineer")
- Job summary (2-4 sentences on what the role does and why it exists)
- Responsibilities (a focused list of what the person will actually do day to day)
- Required qualifications (hard skills, education, or experience that are genuinely non-negotiable)
- Preferred qualifications (nice-to-haves that add context without acting as gatekeepers)
- Compensation, location, and working conditions (pay range, remote/hybrid/on-site, schedule)
Each component builds on the last. The title sets expectations, the summary gives context, responsibilities confirm those expectations, and qualifications filter the pool to the right fit. Skipping or merging any of these sections forces candidates to make assumptions, and assumptions almost always lead to mismatches in interviews.
Tone and specificity
The way you write a job description matters as much as what you include. Vague language like "dynamic team player" or "fast-paced environment" has been overused to the point of meaninglessness. Candidates skim past it because it tells them nothing specific about the role or your company. Instead, be direct: describe the actual team, the actual tools, and the actual output you expect in the first 90 days.
Specificity also filters your applicant pool naturally. When you say "you'll own the onboarding email sequence and report weekly on open rates and conversion," you attract people who have done exactly that and know what it takes. When you write "manage communications," you get everyone. Use concrete action verbs like own, build, analyze, coordinate, and report rather than generic ones like manage, handle, or assist.
What weakens a job description
Most weak job descriptions share the same problems. Inflated qualification lists are the biggest offender: requiring a degree and ten years of experience for a mid-level role cuts off qualified candidates before they even get to the responsibilities section. Research on hiring behavior has shown that candidates, particularly women, are far less likely to apply when they don't meet every listed requirement. That means overloaded qualification sections directly shrink your applicant pool before you ever see a single resume.
The second common problem is unclear scope. If you list 20 responsibilities without any sense of priority, candidates can't tell what the role is actually about. They either apply anyway and turn out to be a poor fit, or they walk away because the description feels overwhelming. Keep your responsibilities list to six to eight items, focused on the outcomes that define success in the role, and your description becomes both cleaner and more compelling to the candidates you actually want to hear from.
Step 1. Do a quick job analysis
Before you write a single line, you need to understand what the role actually requires. Skipping this step is why so many job descriptions end up recycled from a previous posting or packed with tasks that don't reflect the real work. A job analysis takes about 30 minutes, and it saves you weeks of back-and-forth with a candidate who thought the job was something entirely different.
Talk to the hiring manager before you write anything
The hiring manager knows things that no existing job description captures. They know which tasks are genuinely critical, which ones can be learned on the job, and what the last person in the role struggled with. Before you write anything, sit down with them and ask three direct questions: What does success look like at 90 days? What does this person do every single week without fail? What went wrong with the last hire, if there was one?
The single best source of accuracy for any job description is the person who will manage the hire, not the last version of the posting.
Take notes and push for specifics. "Manages projects" is not useful input. "Runs weekly standups for a team of five and owns the project tracker" is. The more concrete your input at this stage, the more precise your description will be when you start writing.
Map the role's core outputs
Once you have the hiring manager's input, organize it by outputs rather than activities. An output is a measurable result the person produces, not just a thing they do. For example, "writes reports" is an activity. "Delivers a weekly performance summary to the VP of Sales every Monday" is an output.

Use this simple framework to map the role before you start writing. Knowing how to write a job description well starts here, not at the blank page.
| Output | Frequency | Who depends on it |
|---|---|---|
| Weekly performance report | Weekly | VP of Sales |
| Client onboarding | As needed | Customer success team |
| CRM updates | Daily | Account managers |
Fill in this table with the hiring manager's input, and you'll have the backbone of your responsibilities section ready before you've written a single bullet point. This step eliminates vague, filler responsibilities that inflate descriptions without helping candidates understand what the role actually demands.
Step 2. Pick a clear job title and level
Your job title is the first thing a candidate sees, and it determines whether they click at all. A confusing or inflated title like "Rockstar Growth Ninja" or "Director of First Impressions" tells candidates nothing and performs poorly in search. The title is a functional label, not a branding exercise. When you understand how to write a job description that attracts qualified applicants, getting the title right is where it actually starts.
Keep your title searchable and specific
Most candidates search for jobs the same way they search for anything else: they type a clear phrase into a search bar. That means your title needs to match the exact terms your target candidates use, not internal company vocabulary or creative alternatives. "Customer Support Specialist" outperforms "Happiness Ambassador" every time because it shows up when people search.
The job title is not the place to express company culture. That comes later in the summary.
Use these guidelines when writing your title:
- Use the standard industry title for the role (e.g., "UX Designer" not "Experience Architect")
- Add a specific level or modifier when it matters (e.g., "Senior," "Lead," "Associate," "Entry-Level")
- Keep it to five words or fewer to avoid truncation in search results
- Skip internal codes or department prefixes that mean nothing outside your company
A title like "Senior Data Analyst, Revenue Operations" tells candidates exactly what the role is, where it sits, and what level of experience is expected before they read a single word of the description.
Match the level to real requirements
The level you add to a title sets the candidate's expectations about scope, autonomy, and compensation. If you write "Senior" but the role reports to a manager, has no direct reports, and pays at a mid-level rate, you'll get experienced candidates who leave when they realize the reality. That wastes everyone's time.
Before you finalize the title, check that the level matches what you're actually asking for in experience, output ownership, and pay range. A useful shorthand: entry-level roles have clear guidance and structured tasks, mid-level roles require independent problem-solving with some oversight, and senior roles involve owning outcomes and influencing strategy. If the role sits between levels, pick the one that reflects the majority of the work, then clarify the nuance in the job summary rather than the title.
Step 3. Write a job summary that sells the work
The job summary sits right below the title, and most candidates read it before they look at anything else. It needs to answer three questions fast: what this role does, who it serves, and why it matters to the business. If your summary takes more than four sentences to do that, you've already lost the candidates who skim, which is most of them. A tight, specific summary is one of the most overlooked parts of how to write a job description that converts views into applications.
What the summary needs to do
Your summary is not a preview of the responsibilities section. It's a short pitch for the role, written from the candidate's perspective. It should tell them what they'll own, who they'll work with, and what impact their work has on the business or the customer. Candidates decide whether a role is worth reading further in the first ten seconds, and your summary is where that decision happens.
A summary that leads with impact keeps strong candidates reading; one that leads with duties alone sends them elsewhere.
Keep the summary to two to four sentences. Avoid pasting company boilerplate from your About page here, because that tells the candidate nothing specific about the role. They need to understand the work, not your mission statement.
A template you can use immediately
Use this structure to write a summary that is clear and specific without taking more than a few minutes to draft. Fill in each bracket with real details from the job analysis you did in Step 1.

Summary template:
We're looking for a [Level + Title] to [primary function] on our [team name] team.
You'll [key responsibility #1] and [key responsibility #2], working closely with
[key stakeholder or team]. This role [explains why it matters to the business
or the customer].
Here's a completed example for a marketing hire:
We're looking for a Mid-Level Content Strategist to own the editorial calendar
for our demand generation team. You'll plan and publish 12 pieces of content per
month and work closely with the SEO and product teams to align messaging with
pipeline goals. This role directly influences how prospects first discover and
evaluate our product.
The example is specific about output, team context, and business impact without running long. Apply the same formula to any role, and you'll have a summary that tells candidates exactly what they're committing to before they reach the responsibilities section.
Step 4. List responsibilities as outcomes
Most responsibility sections read like a task dump, a long list of everything the last person in the role touched. That approach tells candidates what they'll be doing but not what they're actually accountable for. When you understand how to write a job description that filters for the right candidates, the responsibilities section is where you earn the most ground by reframing tasks as outcomes the person owns.
Candidates read responsibilities to picture themselves in the role. If every bullet sounds like a chore, the strongest applicants stop reading.
Turn activities into owned outcomes
Every bullet in your responsibilities list should describe something the person produces or owns, not just something they do. The shift is simple: replace process language with ownership language. Instead of "assists with reporting," write "delivers a weekly pipeline report to the VP of Marketing every Monday." Instead of "manages social media," write "owns the LinkedIn content calendar and publishes four posts per week." The result is a list that reads as a set of commitments, not a job shadow agenda.
Use this conversion pattern to rewrite weak bullets before you publish:
| Weak (activity) | Strong (outcome) |
|---|---|
| Assists with onboarding new clients | Owns onboarding for all new accounts within the first 30 days |
| Helps manage the support queue | Maintains a response time under four hours for all tier-one tickets |
| Works on content production | Publishes eight SEO articles per month aligned to the editorial calendar |
| Participates in sprint planning | Leads weekly sprint planning for a four-person engineering pod |
Apply this pattern to every bullet in your draft and you'll immediately see which responsibilities are real accountabilities and which ones are filler you can cut.
Keep the list short and prioritized
Six to eight bullets is the right range for most roles. Going beyond eight signals to candidates that the scope is unclear or that the role is stretched across too many functions. If you find yourself writing twelve bullets, group related items or cut anything that's truly secondary to the role's core output.
Order your bullets by importance, not frequency. The first bullet should reflect the work that defines whether someone succeeds in the role, not the task they'll do most often. A candidate who reads the first three bullets should already have a clear picture of what the role is actually about and who it serves within the organization.
Step 5. Set qualifications without overfiltering
The qualifications section is where most job descriptions lose strong candidates before they ever apply. When you learn how to write a job description that attracts the right people, you quickly realize that longer qualification lists do not mean better candidates; they mean fewer candidates. Requiring a master's degree and eight years of experience for a role that a sharp four-year professional could handle cuts your pipeline in half before a single resume lands in your inbox.
The goal of your qualifications section is to define a real threshold, not to describe the most impressive person you can imagine.
Separate required from preferred
Splitting qualifications into two distinct groups is the single most practical fix you can make to an overloaded section. Required qualifications are the hard stops: skills, certifications, or experience levels without which the person genuinely cannot do the job. Preferred qualifications are the extras that would help but are not dealbreakers. Keeping these in separate lists signals to candidates that you've thought carefully about what the role actually needs.

Use this structure as your template:
Required qualifications:
- [Non-negotiable skill or credential]
- [Non-negotiable skill or credential]
- [Non-negotiable skill or credential]
Preferred qualifications:
- [Helpful but not required]
- [Helpful but not required]
Aim for three to five items in the required list and no more than four in the preferred list. If you find yourself writing ten required items, go back to your job analysis from Step 1 and ask which of those are genuinely day-one requirements versus things the person can develop in the first six months.
Write requirements that reflect real minimums
Each requirement you list should reflect the lowest bar someone needs to clear to start producing results, not the credentials of an ideal fantasy hire. Before you add a requirement, ask yourself one question: would you reject an otherwise strong candidate who lacks only this? If the answer is no, it belongs in the preferred list or off the list entirely.
Avoid degree requirements when skills are the real threshold. If the role needs someone who can analyze data in SQL, require SQL proficiency, not a computer science degree. Requiring the degree when the skill is what matters filters out self-taught candidates and bootcamp graduates who may outperform degree holders in the actual work. Write what the job demands, not what looks impressive on a job board.
Step 6. Add pay, location, and working conditions
Most job descriptions treat compensation and logistics as an afterthought, burying them at the bottom or leaving them out entirely. This is a mistake. Pay transparency and clear working conditions are among the top factors candidates use to decide whether to apply. When you think through how to write a job description from a candidate's perspective, you quickly realize that hiding this information does not protect your negotiating position; it just sends strong candidates to postings that don't waste their time.
Candidates who reach the interview stage without knowing the pay range often back out when the number finally appears, costing you weeks of pipeline progress.
Be transparent about pay range
Publishing a salary range, not a single number, signals that you know what the role is worth and that you respect the candidate's time. A range also gives you room to differentiate between candidates based on experience without starting every offer conversation from scratch. If your company has a policy against disclosing pay, list a range at minimum, even a broad one, rather than nothing at all.
Use this template to format the compensation section cleanly:
Compensation:
- Base salary: $[low] - $[high] (commensurate with experience)
- Bonus: [Yes/No + brief description if applicable]
- Equity: [Yes/No + brief description if applicable]
- Benefits: [Health, dental, vision, 401k, PTO summary]
Keep the benefits summary brief and factual. Listing "unlimited PTO" without context is less useful than "20 days PTO plus 10 company holidays." Specificity builds credibility in the same way it does throughout the rest of the description.
Spell out where and how the work happens
Location and schedule expectations belong in the description, not in a follow-up email after the first interview. Candidates evaluate remote, hybrid, and on-site roles differently, and many are actively filtering by these criteria before they read another word. Be direct about what the role actually requires.
Cover these four points in a short block at the end of the description:
- Work location: fully remote, hybrid (specify days on-site), or fully on-site with the office address
- Time zone requirements: if the team spans multiple zones, state which one the candidate must overlap with
- Schedule: standard hours, flex hours, or shift-based with expected start and end times
- Travel: percentage of time or trips per quarter if any travel is involved
A candidate who sees these details up front can make an informed decision before applying, which means the people who do apply have already cleared the basic logistics bar and are genuinely interested in the role.
Templates and examples for common roles
The fastest way to put everything in this guide into practice is to work from a proven structure rather than a blank page. The templates below apply every principle covered in how to write a job description: clear titles, outcome-based responsibilities, and split qualification lists. Adapt each one to your specific role by replacing the bracketed sections with real details from your job analysis.
A template only works if you replace every placeholder with specifics. Generic filler defeats the whole purpose.
Software engineer
This template works for individual contributor engineering roles at the mid to senior level. Adjust the title modifier and output volume to match the actual scope of the position.
Job Title: [Mid-Level / Senior] Software Engineer, [Team Name]
Summary:
We're looking for a [level] Software Engineer to build and maintain
[product or system] on our [team name] team. You'll [primary output]
and work closely with [key stakeholder], directly improving
[business or user outcome].
Responsibilities:
- Own development of [specific feature or system component]
- Ship [X] production releases per [sprint/month] with full test coverage
- Review pull requests for [X] engineers on the team
- Debug and resolve critical issues within [X]-hour SLA
- Collaborate with product and design in sprint planning each week
Required qualifications:
- [X]+ years of experience with [primary language or stack]
- Demonstrated ability to ship features in a [team size]-person team
Preferred qualifications:
- Experience with [secondary tool or framework]
- Familiarity with [relevant domain]
Compensation: $[low] - $[high] | [Remote/Hybrid/On-site] | [Time zone]
Marketing manager
Marketing roles vary significantly by function, so use this template for demand generation, content, or product marketing by swapping the channel-specific outputs.
Job Title: [Content / Demand Gen / Product] Marketing Manager
Summary:
We're hiring a Marketing Manager to own [channel or program]
for our [team size]-person marketing team. You'll [primary output]
and report directly to [title], with impact on [pipeline metric
or brand goal].
Responsibilities:
- Manage and execute [specific campaign or content program]
- Deliver [measurable output] per [week/month]
- Collaborate with sales to align messaging with active pipeline
- Track and report on [specific KPIs] weekly
Required qualifications:
- [X]+ years in [specific marketing function]
- Hands-on experience with [tool, e.g., HubSpot, Google Analytics]
Preferred qualifications:
- Experience in [industry vertical]
- Familiarity with [secondary tool]
Compensation: $[low] - $[high] | [Remote/Hybrid/On-site]
How to adapt these templates
Both templates follow the same logic: title, summary, outcomes, thresholds, and logistics in that order. Before you publish, replace every bracket with a real detail, trim any responsibility that duplicates another, and confirm your required list reflects genuine minimum thresholds. Run the final draft past your hiring manager before it goes live.

Wrap it up and publish
You now have everything you need to apply how to write a job description from scratch: a job analysis, a clear title, a tight summary, outcome-based responsibilities, honest qualifications, and full compensation details. Review the final draft with your hiring manager before it goes live, and cut anything that still sounds vague or generic. One pass focused purely on cutting weak language will improve your application rate more than any addition will.
Once you publish, track which sections generate the most questions from candidates during screening calls. If you keep answering the same question about pay, schedule, or team structure, that detail belongs in the description. Treat every hire as a feedback loop that sharpens your next posting.
When your description is ready, post it for free on Olibr and reach a searchable database of 180,000+ candidates. AI-powered matching and automated screening mean you spend less time sorting resumes and more time talking to people who are actually right for the role.