Software developers are key hires. You need outstanding technical talent on your team, but it’s tough to find the right candidates. In a survey of HR professionals, CodinGame found that 43% expect to have trouble recruiting DevOps positions and 41% have trouble finding back-end and full-stack developers.

Tech jobs, especially software positions, are increasingly in demand. As of December 2020, CompTIA reported 207,000 open information technology positions. Of those, 62,900 were developer job openings.

In this competitive job market, it’s tough to find an experienced developer with the skills and experience you need.

What are a software developer’s job responsibilities?

A developer is responsible for creating and maintaining software, which includes research, design, and testing applications. They should be able to write and understand specific coding languages. Developers are expected to consistently find ways to make software operate more efficiently, whether they or someone else wrote the code.

If that sounds like someone you’re looking for, a great job posting is vital.

The best developers have their pick of opportunities. As a hiring manager, you should know how to write a job posting that gets the right kind of attention.

Power up your workday

Reach your goals faster with time tracking and work management.

Try Hubstaff
power up with Hubstaff

Software developer job description example

Good developer job posting follow this basic template:

Job description

We’re looking for a software developer to join our team. Our company makes cool products and does specific things, and you’ll be part of the driving force behind our mission to do stuff.

As part of our team, you’ll do super interesting work with minimal supervision. We’re looking for someone who’s passionate about this very important thing our company does. This role is full-time, which means 40 hours per week.

About Our Company

We are Company Name, and we believe in things. Our offices are located in these places and cities, and our team either works remotely or it doesn’t. Our culture is important to us because of reasons. We have a mission to do things.

Our company history is interesting. We started in Year to do very important things, and now we’ve grown according to these milestones and have accomplished some of our very important things.

When you join our team, you can expect to be challenged to think in new ways and try new things. You want to work with us because we do awesome stuff.

Responsibilities and duties

Your day-to-day job looks like this:

  • Develop things in these coding languages
  • Look for ways to make these kinds of products better
  • Work with these teams in these ways
  • Stay on delivery schedules

In addition to these daily responsibilities, you can expect to do these things sometimes:

  • Talk to clients or stakeholders about the things you work on
  • Attend meetings and talk about these data points
  • Do these things that everyone at our company has to do

We measure success in ways. Here are any other things you need to know about what we expect you to do at this job.

Requirements

These are the things we need to know about you to consider you for this position.

Our must-have requirements are:

  • You have experience in these coding languages
  • You have this kind of work experience
  • You know how to do this specific thing
  • You have these important qualities and characteristics that will help you do this job well

These things aren’t requirements, but they are valuable. If you meet these criteria in addition to the list above, you will probably be one of our top candidates.

  • You are good at using these less common tools
  • You know these obscure coding languages
  • You have experience with this specific use case
  • You have worked in our industry
  • You have worked with companies that are structured like ours

Perks

These are the reasons you want to work for us. You’re obviously great at your job, so we know that you have a lot of choices about where to work. These are the things that you won’t find at other companies. We will pay you a fair amount. Our company culture has cool attributes that fit your personality. These are the things in our benefits package.

Using this template makes it easier to hit all the right points in your job posting.

Feel free to tweak it and make it your own. For example, if you want to talk a little bit about your company in the introduction, that’s fine. You can also use a bulleted list to talk about the perks you offer for this position.

Keep in mind that your posting should look different for each position and seniority level.

A senior software developer job description might include a section about direct reports, management responsibilities, or key performance indicators.

For an entry-level software developer job description, you should be especially careful not to use acronyms or jargon that your candidates might not know yet

Here’s an example of a job posting we used to find a QA engineer.

Description

We are looking for a Quality Assurance Engineer who will influence our engineering teams to deliver a high-quality product. You’ll be working closely with our engineers and product managers to write acceptance scenarios, create tooling and test cases.

Hubstaff is a time tracking, project management, and proof of work SaaS solution. We are on a mission to accelerate the digital transition of work and make it possible for even more kinds of work to be efficiently performed in a remote environment.

You’ll work 100% remotely. This is a long-term (years, our hope is forever) full-time (40 hrs/wk) 1099 (hourly) contract role. We care about job security for our team and we’re looking for people who can grow with our products for years to come.

Our tech stack:

  • Ruby on Rails
  • Rust
  • AWS, Heroku
  • PostgreSQL, Memcached, Redis, Solr
  • Git

What You’ll Do:

  • Provide quality and usability feedback to the engineering teams.
  • Help to discover issues and monitor fixes, and perform regression testing.
  • Design test cases and write automated tests.
  • Maintain and improve our automated test suites.
  • Help teams with test ownership, provide knowledge, explain best practices, and educate developers on using QA tools effectively.

Requirements

What You Should Have:

  • Experience with test automation frameworks like Cypress.
  • Hands-on experience with Web and API test automation.
  • Attention to detail and user experience.
  • Ability to dive into exploratory testing and get a deep understanding of the product.
  • High quality standards, but can balance quality, flexibility, and timely delivery.
  • Strong experience using Git and Github.

Nice to Have:

  • Experience working remotely.
  • Experience with Ruby on Rails.
  • Experience in testing mobile applications on iOS and Android.
  • Experience with CI/CD pipelines.

Benefits

Disillusioned with the grind of daily commutes and mindless work, our co-founder Dave Nevogt started his own business with a remote team. Yet managing this global team quickly became a challenge. He knew there had to be a better way to track hours, pay contractors, send invoices, and manage projects — and that’s how Hubstaff started.

Today, our team runs on the Hubstaff platform, so we know what it takes to collaborate effectively with colleagues on the other side of the globe. It’s how we’ve continued to grow since 2012, and how we’ve helped customers do the same.

Now Hubstaff is a remote-first team that consists of over 80 wonderful people representing over 18 countries. We are not afraid of sharing our KPIs: right now Hubstaff’s revenue is growing about 2% monthly.

We know the benefits of working from home and flexibly arranging work around our lives. Hubstaff is proud of its mission: help other people experience the same freedom and still effectively organize their work and reach business goals.

We also like to have fun while we work and our annual retreats are a big highlight of our year (when traveling is allowed…). Here’s a video from our last retreat: https://hubstaff.wistia.com/medias/9pyt01aemt

Notice that we didn’t include a section just to talk about our company, but we did talk about our story in other sections. We highlighted our culture and work environment as the main benefit of working with us.

We also added a section about our tech stack. This is important information for a new developer on our team, and they’ll want to know that before they apply.


Manage your remote developers effortlessly

Hubstaff gives you the visibility you need without getting in the way. Try it for free.

Try the free 14-day trial


What you should know before you start

An effective job posting follows these three rules:

  1. It acts as an advertisement. A candidate should feel a strong sense of desire. They want to get this job.
  2. The details speak directly to your ideal candidate. Try to speak their language and answer all of their most important questions.
  3. It paints a clear picture. Top candidates must be able to picture themselves in this role. People who aren’t a great fit should have enough information to rule themselves out.

Your goal is to attract the right developers while filtering out people who don’t have the necessary skills.

Excellent developers won’t give your position a second thought if it doesn’t pique their interest and include the correct information. Remember that software professionals are in high demand, so the best have their pick of jobs.

For highly qualified candidates, your job description must give them a solid reason to leave a current position. Assume that they’re already working for a great company with competitive pay. What can you offer that’s better than what they’ve already got?

No pressure.

“If the job post is not able to make the position seem like a great career move for candidates, they simply won’t apply.”

  • Miguel Marques / Founder, Remote Crew

Let’s break it down step-by-step. Here’s how to write a job posting that gets results.

How to write a winning software developer job description

As you write your job posting, think about the kind of team member you want to attract. What do they care about? It’s not all about you and what you want. They’re looking for something, too.

Developers care about their work-life balance. They want to do interesting work and get paid well for it. Be sure to highlight these things in your posting.

When you’re ready, start writing your web developer job description.

1. Get organized with a solid outline

Before you outline your developer job description, write down your answers to these two questions.

  1. Who are you trying to attract?
  2. What do they need to know before they apply?

Make a short list of things that the right candidate will want to know right away.

Cover technical answers that tell developers whether or not they can do a job, and include background information so they know if they want to do the job.

You’ll get more detailed in a few minutes. For now, jot down these high-level answers to help you focus on the most important things. Your list might look like this:

  • We use these tools regularly
  • Our software is built with these coding languages and on this platform
  • Our benefits package is more generous than other companies in our industry
  • The developer we hire will be responsible for a single product and will not do client work
  • Developers at our company can work remotely with flexible hours

Now, create the sections for your job posting. We recommend using this layout:

  • Summary – This is a short description of the role. It should be informative and appealing enough to grab attention, but you don’t need to pack every detail into this section.
  • Who we are – Tell potential applicants what you do and why. Talk about your history, culture, and mission. This is a great place to give more context about your industry and share details that make your open position more appealing.
  • What you will do in this job – This section is your developer job description. What will your developer do at work every day? What do they need to accomplish to succeed? The details in this section should tell potential applicants why you are hiring for this position.
  • Requirements and things you should know – Each of the things in this section tell a candidate whether or not they should apply. Explain what requirements a person must meet in order to be considered for this job.
  • Why you want to work for us – This is your chance to talk about all the perks and benefits you offer. Give the best candidates even more reasons to apply.

You don’t have to follow this order exactly. If you offer great perks, for example, consider moving that section to the top just after the summary.

Now, go back to your first list of things a great candidate needs to know. Organize those points under the appropriate headings, and try to keep them close to the top. The things you included on that list are more likely to get someone’s attention.

With those pieces added to your outline, you’re ready to add the rest. Jot down some rough notes in each section to remind yourself what to include.

It’s okay if your outline looks a little rough right now. We’ll clean it up in the next steps.

2. Write an attention-grabbing summary

An effective summary stops your top candidates from hitting the back button. It’s the first thing they see, so get to the point quickly.

Instead of trying to write something catchy, focus on including all the right information. Share the most important details. If you’re looking to outsource rather than hire a full-time employee, mention that here.

It’s also a good idea to avoid jargon, acronyms, and overly formal language. There are two good reasons behind this.

First, people should be able to find your posting.

If you use too much jargon or get too creative, it will be harder for the developers to find an opening like yours. Few people go to a job board and search “Multi-talented technical professional” or “Coding Ninja” to find a full-stack developer position. They search for a “full stack developer” posting.

Second, your candidate wants to know what it’s like to do that job.

If you use confusing language, it takes too much effort to figure out what you’re trying to say. They can’t picture themselves doing that work, and they won’t stick around trying to puzzle through your posting.

This description might confuse a potential applicant. Do they need a data analyst, a marketing specialist, or a junior developer?

Here’s one last tip to make your summary stand out:

Lots of job postings talk about “the candidate.” For example, you might see a description that says “The developer will be responsible for our mobile application.” This is okay, but it dehumanizes your posting a little bit.

Talk directly to the candidate. Instead of saying “he or she” or “the right candidate,” say “you.” This small change makes your posting more welcoming and relatable.

3. Describe the job with a list of responsibilities

When a candidate reads a job posting, they should be able to tell what the job is and whether or not they can do it. In this section, you’ll answer the first part of that question.

Most of the time, this section is a list of bullet points that describe software developer’s day-to-day duties and responsibilities.

You don’t have to include most routine administrative tasks like filing timesheets. Just talk about the specific things you want someone in this role to do. Include relevant information about your tech stack, programming languages, and your work style. If you’re Agile, mention that.

The clearer your job description is, the more likely you are to attract quality candidates.

What do developers want to know about a job? Miguel Marques from Remote Crew says that developers always ask these questions in interviews:

  • Do you use Scrum? If so, how long are Sprints?
  • What are your development practices?
  • Does your company have legacy code?
  • What tech stack does your company use?
  • What’s your company’s code coverage like?
  • Can developers contribute to open-source projects?
  • What environments are you using (testing, staging, beta)?
  • Will your developer solve bugs or work on new features?
  • Is your company using automated tests or continuous integration?
  • What version is your control system (Git, SVN, Perforce, Mercurial)?
  • Are there Sprint planning sessions and retrospectives? How long are sprints?
  • Do you use Agile, Scrum, or another effective development methodology? If so, which Agile project management software do you have?

You don’t have to include all of this information in your job posting. It’s okay to save a few answers for the interview, but keep in mind that many developers will skip your opportunity if there’s not enough detail.

Here’s an example of a responsibilities section that hits the right notes in a few bullet points:

With details like “the DevOps pipelines are created to run nightly automated builds/deployments,” this description answers a lot of important questions that a developer wants to know.

In other words, the developer knows what they’ll do and how they’ll do it.

4. Set realistic requirements

It’s tempting to exaggerate your requirements to increase candidate quality.

Unfortunately, that tends to backfire. Instead of attracting overqualified candidates, you scare away the people who would be the best fit for your open position.

Good developers know what it takes to do a job. If your requirements are over the top, that sends a message. They assume you are an overly demanding employer who probably won’t pay a fair price for good work.

Even if you are willing to pay a competitive salary for a top-tier developer, you might have trouble finding someone with the exact set of skills and experience you want.

If you’re looking for someone with specific experience, but willing to work with someone who can learn on the job, make that clear.

One way to let potential candidates know the difference between your minimum requirements and your ideal is to add a “nice to have” section.

Here’s an example of solid requirements and a “nice to have” section that isn’t over the top:

The priorities in this section are clear. The most important qualification is at least 5 years of C++ experience, and someone who satisfies the requirements in both lists knows that they are a top candidate.

5. Present your company and its culture

Company culture is one of the top concerns when developers evaluate a new position. Before they apply, they want to know that a company is a good place to work.

In this section, prove that you’re worth the effort to apply. Talk about what you do, why you do it, and who you are. Share your mission; you might find people who are just as excited about it as you are.

Highlight the best things about your culture. At Hubstaff, we talk about our virtual retreat. If your company is close-knit and often goes out for lunch or cooks together virtually, that might be something to mention.

This is a cooking class from our 2020 Virtual Retreat.

Give specific, concrete details. Add more context by linking to articles on your blog so candidates can dig deeper into your company’s vibe.

If you’re not sure what to talk about, use these questions as a guide to help you get started:

  • How big is your team?
  • How formal or casual is your company?
  • What’s important to your company? What does it stand for?
  • Why was this company founded?
  • What cool things has your team accomplished?

If your company supports remote work, this is another place to emphasize that. Flexible working options are popular, especially for developers and other people who do focused individual work.

Here’s a great example of a company showing off who they are:

6. Showcase your perks

A 2018 study by Appcast found that 70% of job seekers immediately look for salary information in a job posting. Money is the main reason that people are willing to leave their current position, and it’s the top motivator to apply for a specific position.

If you offer a competitive salary, mention it.

But don’t worry if you can’t compete with the most extravagant salaries at bigger companies. The study also found that postings that listed at least four non-cash benefits received 20% more applications.

Here are some other perks that software developers want to see:

  • Remote work opportunities
  • Top-notch hardware and software
  • Budget for industry events, workshops, or training
  • Free or subsidized meals
  • Health and wellness benefits like insurance or gym memberships
  • Flexible schedules
  • Above-average vacation or paid time off days

Here’s an example of the perks section we use in our postings, just like the one at the beginning of this article.

Hubstaff is a remote-first team that consists of over 80 wonderful people representing over 18 countries. We are not afraid of sharing our KPIs: right now Hubstaff’s revenue is growing about 2% monthly.

We know the benefits of working from home and flexibly arranging work around our lives. Hubstaff is proud of its mission: help other people experience the same freedom and still effectively organize their work and reach business goals.

Each year, our team members earn an annual Freedom Stipend. We encourage you to use your stipend to upgrade your equipment, take time off, or do whatever else is right for you.

We also like to have fun while we work and our annual retreats are a big highlight of our year (when traveling is allowed…). Here’s a video from our last retreat.

Remember, this job posting is an advertisement. Every section should be packed with information that makes a developer want to click the Apply button.

Once you’ve written your perks section, go back through the rest of your posting and add details that you missed before.

7. Get a senior developer to do a final review

Congratulations! The hardest part is over.

If you’re not a technical person, this step is very important. Developers have little patience for slip-ups like this:

Oops.

Talk to the most senior developers on your team to make sure you have included enough information about the technical requirements. They can help you to determine whether your position is realistic or if you’re asking for too much.

If you don’t have a developer on your team already, get an opinion from someone else in your network with technical knowledge.

You may be able to find help in a professional group on social media if you really don’t know anyone who can help.

While you’re at it, proofread your posting. A typo can be the difference between “running a large team” and “ruining a large team.”

While typos and little errors might not seem like a big deal, they can subtly hint that you’re not concerned about professionalism or attention to detail.

Next steps

Your job posting is ready. Congratulations! Here’s what you should do next:

  1. Save your template. You can reuse some of these sections later. For example, your company information can be the same in every job posting. Bookmark this article if you think you might hire more developers in the near future.
  2. Leverage LinkedIn. Since most developers know that their skills are in high demand, they’re less likely to frequent job boards. LinkedIn is a popular resource for developers who are open to new opportunities.
  3. Get ready to hire remotely. Remote hiring can be tricky. Check out our comprehensive remote hiring guide for help.

Want more great advice like this? Subscribe to the Hubstaff Blog.


Don’t miss out!

Get the best leadership advice sent to your inbox.



This post was originally published in July 2019. It was updated in May 2021.