How to Write a Good Job Description (Without Bullshit)

Posted on February 12, 2021 by P.K. Maric

Imagine if there was an easy way to filter out unsuitable candidates before you ever contact them. Seems impossible, right? How can you know that they’re not suited for the job if you haven’t even talked to them or know anything about their skills? Well, it is possible, and you can do it with a job description.

Fire and Forget: How Candidates Apply for Jobs

First, you need to understand how candidates look at a job description and apply for jobs in general. Many candidates apply for jobs even if they are not qualified. Why? Because they have nothing to lose – they already don’t have the job. In some cases, up to 75% of job candidates are not qualified for the job they applied for. Maybe they’re counting on slipping through the cracks in your interview process. Or perhaps they believe they would be good employees, even if they need additional training. Many companies are willing to train under qualified candidates.

But if you are getting many applicants who don’t meet even the basic criteria for the job, it might partially be your fault. If the job description isn’t clear enough, candidates may not even realize they’re not fully qualified and will only find during the interview. That way you’ve wasted both your time and theirs.

Another important thing to remember is that most candidates are not applying specifically to your job opening. They’re applying to any job opening, and yours happens to be one of many.

Depending on your industry and job type, the chances that someone specifically wants to work for you can be very low, especially if the job-seeker is currently unemployed. When unemployed people look for jobs, they tend to use the “fire and forget” approach: send as many applications to as many employers as possible and wait to see who replies.

This situation can be summed up with this meme:

Job interview

The chances are that most of your candidates don’t want to work for
you; they want to work for anyone. You might think it’s different for employed candidates seeking another job, but that’s not necessarily the case. The most common reason people quit jobs is because of bad management, not the work itself. Depending on how badly a candidate wants to leave their current job, they may be in a similar situation to an unemployed job-seeker and are just looking for anything that sounds better than their current work environment.

Key Things That Make a Good Job Description

Have you ever had a candidate that seems excellent only to find out a key detail about them that ends up being a dealbreaker and the reason you can’t hire them? Maybe you can’t afford to pay them what they’re asking, or they lack one specific skill that’s essential to the job, even though they’re qualified in other aspects. If you find out these things in the later stages of the interview process, then you’ve wasted both your time and theirs. We’ve written before about how to optimize your hiring process to avoid these kinds of mistakes and detect critical issues as early as possible, so you don’t waste time. You can eliminate a lot of deal breakers with a good job description. Here are some key things you should mention:

Required Education, Skills, and Experience

Some jobs require formal education or a license, such as medical or legal jobs. A degree may be expected for others, but it’s not strictly needed: such as in many IT and programming jobs. If you’re hiring a doctor, you probably wouldn’t consider a candidate who doesn’t have a medical degree. No matter how much he insists that his self-taught experience is equivalent to a degree. But for most IT and programming jobs, many good candidates don’t have a degree. Most new programmers are at least partially self-taught. So consider your needs and your industry. If a degree isn’t required by law, and if the position you’re hiring for has a tradition of people learning on their own, perhaps you don’t need to list a formal education requirement.

Be specific about which skills are mandatory and what level of skill you require. Some skill requirements are easier to define than others. If you’re hiring a web developer, it’s easy to specify five years of experience building websites with the MEAN stack. However, many job descriptions list things like “ability to work under pressure,” – but this is too vague. What kind of pressure are we talking about? Pressure from tight deadlines, or pressure from an overwhelming boss who micromanages your every task and yells at you if you don’t get it right immediately? Many candidates will see “working under pressure” as a red flag unless you specify exactly where the pressure comes from. For soft skills like this, try to phrase them so that candidates know what you’re referring to. Instead of “ability to work under pressure,” write “ability to meet strict deadlines.”

Years of experience is a bit trickier. If you’re looking for a minimum of 5 years of experience, but a candidate has four and a half, will you automatically reject them? Probably not, and most candidates that are close to the requirement would apply anyway.

Bonus Skills

List skills you’d prefer an ideal candidate to have but would still accept a candidate that doesn’t have them. In most cases, these are skills that a new employee would learn on the job or skills you are willing to provide training for.

Salary Range

According to SHRM, the salary is the most important part of the job description. It’s the first thing candidates look for when checking job ads and the first thing they want to hear about if they get a message from a recruiter. Leaving out the salary range will make candidates think you don’t pay very well. But what if you’re a small startup and can’t afford to pay much? In that case, not listing the salary range means you’ll waste your time interviewing candidates only to find a great candidate that you can’t afford.

There is no point in hiding the salary range. Candidates will try to find it out anyway on websites like Glassdoor or Be upfront about it, and candidates will value your transparency.

Work Schedule

Specify working hours and location. If the job requires additional work outside of regular working hours, such as overtime or working on weekends, mention it and specify how often it’s needed. Some candidates may not like overtime or weekend work, but you shouldn’t hide this because otherwise, you risk hiring someone who may be a great employee but is unhappy with their work schedule. Dissatisfied employees are not employees for long.

Tasks and Responsibilities

What tasks the candidate will perform regularly and everything they need to be responsible for. Be concise. You can break down the percentage of time an employee would need to spend on each task to make things clearer. For example, if the job requires ~10% of work hours spent contacting customers, even if it’s not a customer service job, be upfront about it. Some jobs require additional tasks if something unexpected happens. That’s normal, and you can mention likely scenarios as well, but don’t neglect to say anything the job would typically require candidates to do on a daily and weekly basis.


Mention the good things about working at your company. You should always list standard things, such as days of paid vacation per year. But don’t forget things unique to your company as well. If you offer unlimited coffee or monthly pizza parties, then mention it. For example, Airbnb gives employees a $2000 yearly travel stipend, and Tesla loans its cars to employees. According to an article from Harvard Business Review, some of the most desirable benefits for job seekers are relatively low-cost for employers, such as flexible working hours and work-from-home options:

Most valued benefits by Job Seekers

Avoid Buzzwords and Useless Jargon

Smart, qualified candidates will see right through commonly used phrases that don’t mean what they say or mean nothing at all. Here are a few examples:

  • Detail-oriented: All jobs require paying attention to details. Nobody wants to hire someone who only looks at the big picture and lets important information slip by. Everybody thinks they’re detail-oriented, so you’re not narrowing down the number of people applying to the job.
  • Dynamic/Fast-paced environment: In other words, “stressful environment.” Nobody wants that. If the work environment is too stressful, then there may be a deeper problem that your company needs to address.
  • Team-player: Almost all jobs require teamwork. Some more, some less, but there are very few jobs where you can work alone with barely any contact or communication with others. So “team-player” means nothing.
  • Self-starter: This usually means a lack of direction or dysfunctional leadership until it’s time to criticize employees when they do something wrong.
  • Ninja, rockstar, guru, and similar nonsense words: You can often see these in descriptions for programming jobs, for example, “Rockstar Developer” or “JavaScript Ninja.” Even some non-technical jobs use bullshit phrases like “Customer Support Guru.” Don’t do this if you want candidates to take you seriously. Words like these scream that you’re trying too hard to sound fun and “cool,” often in an attempt to appeal to a younger audience. It doesn’t work.

Now maybe you’re not trying to misrepresent the job or lie to candidates, and you’re using some of these phrases honestly. But unless it’s their first job, candidates are not naive. Many have negative experiences with companies that use such buzzwords, so it’s best to avoid using them entirely. Instead, write more accurate descriptions of what you require candidates to do and what the work environment is like.

What to Do Next?

Job descriptions are often written as a way to attract as many candidates as possible. But this is the wrong approach because attracting the right candidates is only half of their purpose; the other half is filtering out the wrong ones. Posting a job ad is just the first step in the hiring process, but what should you do next? The most common approach is to filter resumes and then invite candidates to an interview. But this isn’t necessarily the best approach. We recommend sending all candidates a short skill test after they apply for your job. If you’d like to make your hiring process as effective and data-driven as possible to find the best candidates, take a look at our free ebook: Evidence-Based Hiring.

Share this:
Facebook Twitter Linkedin Reddit Email

Free book

Would you like to learn more on how to screen the top talent? Our Evidence-Based Hiring book explains a new and scientific screening process that bases hiring decisions on evidence and data. Step-by-step examples of job ads, questions, tests, and interview scripts will teach you how to remove hidden biases, ask the right questions, and create completely automated screening tests.

Read Evidence-Based Hiring for free