How to Write an Effective Software Engineer Job Description (+Example)

Jason Price
6 min readMay 6, 2020

--

Hi there! In this short article I’m going to share with you my thoughts on how to write an effective software developer job description. I hope this article can give technical recruiters some ideas of how to improve job descriptions and, as a result, technical recruiting.

As a technical recruiter I often communicate with software developers about the tech recruitment and how to improve it. Usually the first thing developers get from you is a job description (or a job posting). And there’s one thing that I noticed — developers don’t read job descriptions, they are just casually browsing job descriptions for the information they are interested in. In most cases they spend only a few seconds looking at job descriptions and if they don’t find any important information for them you probably have no chances they respond you back.

So, what top things are they looking for in your job description? In this article we are going to figure out this.

But before that, let’s answer a question.

What Is an Effective Job Description?

From a developer’s perspective, an effective job description is a job description that facilitates a developer spend as less time as possible to find the information they are interested in the most. For example, salary range, what company does, tech stack, requirements, interview process, etc. That means that job descriptions should have a priority and structure. Also, from a developer’s perspective, an effective job description should be professional and interesting.

From a recruiter’s perspective, an effective job description is a job description that attracts a developer and they apply or respond a recruiter back.

As a result, an effective job description optimizes a recruiter’s work and a developer’s time.

Top 5 Things Developers are Looking for In Your Job Description

According to the Stack Overflow Developer Surveys (2018, 2019), that surveyed more than 100,000 software engineers around the world, we can figure out their job priorities or, in other words, how they assess potential jobs.

If we combine data from both years (2018, 2019) we can figure out top 5 things developers may look for in your job descriptions:

  • Compensation and benefits
  • Technology stack
  • Office environment or company culture
  • Professional development opportunities
  • Flex time (flexible schedule) and Remote work options

That means that to make your job descriptions more effective you have to somehow describe and highlight these items there. And you shouldn’t skip any of them in your job descriptions.

Also, it’s better to keep the correct order of these items, from higher priority to lower priority. For example, start from the “salary range”, then specify the “tech stack”, etc. Alternatively, you can keep the visual priority by highlighting the most important information with bold styling, if it’s possible.

Let’s briefly go over these items so that you can understand what to write about each of them.

#1. Compensation and Benefits

Most job descriptions don’t have a salary range because employers just want to keep this information private.

But here’s one life hack, if you cannot specify the salary range you can just put the “competitive salary” statement instead of it. That will tell your potential candidates that you care about it and are ready to discuss it. Implicitly developers will feel that they found the salary range and can go further in the job description browsing.

Recommendations:

  1. Place the salary range at the top of your job description and highlight it somehow if it’s possible
  2. If you don’t want or cannot specify the salary range just specify the “competitive salary” statement
  3. Don’t forget to mention top 3–5 benefits the company is offering, you can specify some of them in the beginning of the job description and some of them at the end

#2. Technology Stack

Tech stack is not a list of requirements the potential candidate have to comply. It’s more about technologies that are used in the project.

When specifying the tech stack in a job description don’t write too much about it. Modern products and services utilize a lot of frameworks, programming languages, libraries, cloud solutions, and more, but you shouldn’t specify all of them in your job description. Keep it high level and specify only the most important items.

Recommendations:

  1. Put the technology stack somewhere after the job description title and salary range
  2. Specify 5–10 tech stack items

#3. Office Environment or Company Culture

It’s hard enough to describe office environment or company culture in details in a job description, so try to share at least a few company core values.

The company description section is probably the best place to highlight your office environment or company culture in basic terms. So, in addition to an overview of a company write about its core values.

Recommendations:

  1. Use company description section to share company values
  2. Place company description section after the tech stack
  3. Mention 3–5 core company values

#4. Professional Development Opportunities

In this section write what professional development opportunities a company offers. If as a recruiter you don’t have such information but know that the company has some kind of professional/career development plan for employees, you can just write “professional development opportunities” or “career development plan”.

Recommendations:

  1. If it’s a few words like “Professional development opportunities” or “Career development plan” you can place them close to the job description title, otherwise place this information as an addition to company description section as well as in benefits section at the bottom of the job description
  2. Write a few words like “Professional development plan”, “Career development plan” or something like that in the beginning of job description and describe this in more details in benefits/perks section

#5. Flex Time (flexible schedule) and Remote Work Options

In this section you mention somehow that you offer flexible working hours and remote work options.

Recommendations:

  1. If it’s a few words like “Remote OK” or “Flex time” you can place them close to the job description title, otherwise place this section after the professional development opportunities or company description section
  2. Basically a few words like “Remote OK”, “Remote working days”, “Flex time” is enough to describe such kind of information

Effective Job Description Example

Senior Backend (Python) Engineer

Widget Company, widget-company.com, Mountain View, CA

$150K — $162K + stock options

Our tech stack:

Python, Flask, PostgreSQL, GraphQL, React, TypeScript, Docker, Kubernetes

Job details:

- Job type: Full-time

- Professional development options: Personal development budget, career & professional development plan

- Working hours: Flexible schedule

- Remote options: Onsite and remote working days

- Vacation: 30 days of planned leave annually

What we do:

Widget Company is looking for a backend engineer to help change the world — join us on our mission to provide the next generation online payment processing.

Our culture:

Our team consists of highly technical, collaborative and driven individuals. We keep our code base in high quality and often contribute to opensource projects. We embrace diversity and welcome people from all backgrounds and communities.

Requirements:

- Bachelor’s degree or higher in computer science, similar technical field of study or equivalent experience.

- 5+ years of experience building large-scale backend systems or providing backend development to enterprise software.

- Solid understanding of Python fundamentals. Experience working with one or more general purpose programming languages, including but not limited to: C/C++, Java, C#, Ruby or Go.

- Interest and ability to learn other coding languages, frameworks and tools as needed.

Interview process:

- 20-minute call to learn more about what you are looking for, tell you about Widget Company, and answer any questions that you have

- 1-hour coding exercise in Python that we designed to measure your understanding of Python fundamentals

- 3 hours of remote interviews over video chat across multiple days

- Short culture call with the team you will be working with

Benefits:

- Competitive compensation package

- Professional development plan

- 30 days of planned leave annually

- $1,000/year personal development budget

- 15 weeks paid parental leave

- Work with a talented team

Hiring contact:

John Appleseed — Founder & CEO. For more information and to apply, please contact me directly.

john.appleseed@widgetcompany.com

Conclusion

While other technical recruiters attract developers with standard job descriptions try to experiment. The idea of structuring information that I described above is just one of possible ways to improve software developer job descriptions (or job postings, job ads).

Happy recruiting! ✌️

Follow me on Medium to read more about tech recruiting!

--

--