6 tips for writing a great software developer job description

February 3, 2022
13 minutes
Reading time

The software engineering industry is nowhere near the saturation point. Developers can change jobs with ease, which means that employers have to put in more work to attract the best applicants.

Well-written job descriptions can help you get your message across and appeal to candidates that would make the best fit for your company.

However, the average time a candidate spends reading a job description page is less than two minutes, which means you have a limited time to show why they should work with you.

The following six tips will help you do just that. Let’s see how you can write an engaging job description to grab the attention of your ideal candidate.

Use job-specific keywords in the title

Generic titles can seem too vague and deter candidates from applying, so you should go for job-specific keywords instead.

During house-hunting, you’d probably immediately skip a listing titled house without even checking the location or price because the title tells you nothing about whether the property will suit your needs. 

Get unreal data to fix real issues in your app & web.

However, a listing titled “two-bedroom apartment” is something you might consider.

Similarly, skilled developers usually dismiss job advertisements where the position is only described as software developer in the title.

You’ll have more success grabbing their attention by using titles that reflect their seniority, such as Junior iOS Developer.

You can see a successful example of a job title done right in the following picture, where a Polish trading company listed the role as Senior Android Developer.

senior android developer job description screenshot
Source: Stack Overflow

Specifying the role in the title helps developers find relevant ads rather than sifting through hundreds of irrelevant postings.

As we’ve written in our post on attracting developer talent, skilled engineers rarely browse standard job marketplaces; instead, they turn to specialized communities.

Therefore, you should enable the interested developers to find you independently. Job-specific keywords in the title can help you here.

Google and other search engines analyze keywords to determine how relevant the content is. 

To show them your job ads are relevant to their users, you should include the words developers looking for a job would use.

For instance, not many people would simply look up developer jobs. They would at least search for a specific technology or location.

Suppose your company is located in Denver and is looking for a Unity dev. In that case, writing a job title such as Senior Unity Developer—Denver will increase the likelihood of your advertisement being shown to relevant candidates.

So, whichever role you’re looking for, make sure the candidates have a pretty good idea of the position before even clicking the advertisement.

Avoid empty phrases in your job description

Just like there are relevant keywords you should include in the job title and description, there are empty phrases it’s best to avoid.

Let’s kick this section off with an example of a job advertisement that could have been worded better.

The company is looking for a coding hero to program in C#. The aim of such wording is probably to make the company stand out from other job ads. It sure does, but for all the wrong reasons.

Terms such as ninja, hero, superstar, rockstar, and others make the employer look unprofessional. What’s more, you could even insult other potential candidates because you’re implying that regular people need not apply.

If you want to emphasize that your company has a hip and positive culture, there’s plenty of room in the job description to do so. But when it comes to titles, you’re better off with descriptors like software developer or engineer.

The vocabulary describing the qualities of potential employees is just as important.

Job adverts are often crammed with HR jargon that means nothing to developers. In fact, software engineers consider HR professionals who don’t understand tech the second most disliked element of the recruitment process.

statistics about what developers dislike about the recruitment process
Source: CodinGame

Take the term self-starter, for example. Frequently used in job postings in various industries, this phrase adds little value to a software developer advert.

It signals that the HR department either doesn’t understand the ideal candidate or just doesn’t care enough.

Instead of using the words candidates have to decode, you should make the ad clear and descriptive. Replace the phrase self-starter with more straightforward adjectives such as independent or motivated to make your ad clearer.

The same goes for the expression team player.

How could a developer not be a team player? Working in teams is in the nature of the job; no dev expects to be the only person to build the product on their own.

Overall, when writing a job description, remember that less is more. Filling the ad with buzzwords may confuse the candidates, and you risk ending up with some unfit ones who misunderstood the description.

To make the lives of both candidates and recruitment teams easier, try to always use easily understandable language.

Be clear on the job responsibilities

Once you captivate the candidates with a clear job title specifying the required level of seniority and technology, you have to continue describing the responsibilities in the same manner.

Candidates don’t like wasting time reading the job postings they may not apply for.

You can help them determine if you would make a good match by listing the technologies the candidate would use and mentioning the types of projects your company does.

A good example of a company that describes developer responsibilities clearly in the job posting is Teletech, a customer experience company.

Take a look at the following excerpt from their job advertisement for a Java Backend RESTful API Developer.

developer job advertisement screenshot
Source: Teletech

While listing the responsibilities, the company has also mentioned some of the technologies this position uses so that the candidates can determine whether to apply or not, based on their familiarity with them.

They have also noted that the new developer would work on building, configuring, and testing the product, as well as provide support to the client.

Our next example comes from Zoom.

In addition to specifying infrastructure technologies, they have also defined the exact part of the product the new Backend Java Engineer would work on, the Zoom Chat Admin Portal.

zoom backed java engineer job ad screenshot
Source: Zoom

If you are hiring help for a specific product, you could also make the job description more direct and tell candidates the particular product element they would be assigned to.

In this portion of the job description, you should also indicate the roles the new developer would report to and who they would collaborate with during day-to-day operations.

Finally, the description of role responsibilities goes hand in hand with the list of requirements.

A rising number of companies have stopped prioritizing computer science degrees as proof of skill. Still, you need some criteria to communicate your expectations for the position.

recommended method is listing your requirements in bullet points to increase readability. You could divide them into two categories: must-have skills and those that are nice to have but not obligatory.

However, make sure to only include the essential skills in the former category to expand the hiring funnel. If candidates have additional skills or experience that might be relevant, they will mention them on their own.

Describe the workplace organization

Workplace organization can be a determining factor that helps a candidate decide whether to apply.

To make their decision easier, you should be upfront about the work location and other work conditions and communicate those in your job advertisement.

Remote work has been important for developers for quite some time. Back in 2011, Stack Overflow found that job postings with the keyword “telecommute” received twice as many views and applications.

According to a more up-to-date 2021 developer survey, 95% of developers are interested in remote work.

So, if your company offers remote work, emphasize that piece of information in your job description.

For instance, Slite, a collaborative documentation platform, takes pride in being a fully remote company. They highlight this fact in each job posting as a benefit of working there.

list of benefits of working for slite
Source: Slite

They prompt candidates to apply by highlighting that the company covers the costs of setting up a home office. 

However, Slite is also aware that some employees prefer working from offices, so they also support those who decide to commute to co-working spaces.

Google has a similar approach, with the difference of possibility of working from Google’s own offices. Their hybrid workplace enables employees to choose the place of work depending on the role.

google job ad screenshot
Source: Google

Besides the location aspect, workplace organization also covers whether a role works independently or in a team. Most developers work as part of a team, and Slite has a creative approach to the topic.

In the ad for a Site Reliability Engineer, they have gone the extra mile and listed all team members the new engineer would work with.

site reliability engineer job ad excerpt
Source: Slite

Such an approach is also indicative of the company culture; it’s clear that Slite views all employees as individuals and recognizes their contribution to the company.

Company culture is an optional element to describe in a job description. 

Experts from Stack Overflow advise writing about yours only if you have a positive one. If not, first work towards creating a good company culture, and then talk about it.

Don’t skirt the subject of salary

While listing the salary is not mandatory in every state and country, it shows the employer’s transparency and helps attract skilled engineers.

Salary is a significant factor in job seeking, and for most developers, it’s the most important one.

CodinGame has asked developers to list their priorities when considering a job offer, and the leading answer was salary (75%), followed by flexible working hours and a good work-life balance (66%).

a graphic listing developer job priorities
Source: Shake

It’s worth noting that programming is a well-paid job, and a higher salary is a top motivator for changing jobs for more than half of developers.

In other words, candidates probably won’t bother with applying unless they know what they can expect regarding compensation.

“Most people have choices in this job market. They don’t want to waste their time with a role where pay and benefits don’t meet what they’re after.”

Kara Yarnot, HireClix

Regardless of the range you can offer, it’s always better to include salary information.

The data from Stack Overflow shows that the job ads displaying salary get 75% more clicks than ads without that information. Moreover, this isn’t only true for high wages.

Dice reports that even those developer ads with salaries listed below $100,000 get a 60% increase in click-through rates compared to ads with no salary information.

So, even if the salary range you offer isn’t comparable to that of Google, you’re still better off including it in the job description.

Don’t forget that you can further boost the appeal of your job description by listing other perks and benefits employees get in your company. 

For instance, some developers may care more about flexible working hours or access to the latest hardware than about pay.

All in all, candidates are always interested in how they will be compensated for their work.

By listing the salary or salary range, you get to show you know what matters to developers and demonstrate transparency about the subject.

That way, you’ll get more relevant applications from candidates receptive to the terms you offer.

Have your team review the job description

Composing the job description should be a joint effort between various roles. Developers are there to check on the technologies mentioned, HR shapes the language—everyone brings something to the table.

Delegating the job description to HR may sound efficient. After all, they are the recruiting professionals.

However, excluding the technical staff from the process can result in mistakes that affect your image as an employer.

For instance, the creator of the web framework FastAPI himself wasn’t eligible for a relevant job because it required 4+ years of experience, and even he, as the person who created the framework, only had a year and a half of experience.

a twitter post screenshot about fastapi experience
Source: Twitter

Such an oversight can discourage knowledgeable candidates from applying because they may find the employer unknowledgeable.

So, get a developer or a team lead to read the job description and ensure everything is correct in terms of technology.

On the other hand, leaving the job description to technical roles alone is not a sufficient approach, either.

HR professionals make the job post sound appealing and list all the right elements. They also make sure the job descriptions don’t violate any anti-discrimination laws.

If you’ve been browsing remote developer jobs, you may have seen that German employers specify they accept applicants of different genders.

This is because all companies in Germany have been required to advertise jobs in a gender-neutral way since 2019.

American employers have a different approach to the subject. Rather than crowding the job title with the specifics, they usually attach a disclaimer to each job posting. 

Here’s how Apple did it in an iOS developer ad.

ios developer ad screenshot
Source: Apple

Either way, it’s the responsibility of the HR team to make sure that a job description is compliant with the local anti-discrimination regulations.

After the technical and recruiting staff have gone through the job description, you could also ask the current role holder to take a glance.

As they are the ones in the trenches, they will be able to tell you if you’ve missed vital pieces of information or if there are irrelevant bits you can do without.


The job description is the first element a candidate associates with your company, so leaving a great first impression is essential.

Sure, a descriptive title packed with relevant keywords will help candidates find you, but the rest of the job ad aims to convert and inspire them to apply. 

Remember that job ads are like storefronts.

Candidates are window shopping, and they want to learn as much as possible about your company from that one advertisement page. That is the only way they can imagine themselves in a new position, working for you. 

So, try to provide as much information as you can. Describe the responsibilities accurately, and try to provide some insights into your organization and culture.

Including your current engineers in crafting the perfect job description will help you do so.

Overall, writing a great job description for software developer roles takes some trial and error, but hopefully, our tips and examples will help you skip making some of the common mistakes and upgrade all of your following job advertisements.

About Shake

From internal bug reporting to production and customer support, our all-in-one SDK gets you all the right clues to fix issues in your mobile app and website.

We love to think it makes CTOs life easier, QA tester’s reports better and dev’s coding faster. If you agree that user feedback is key – Shake is your door lock.

Read more about us here.

Bug and crash reporting tool you’ve been looking for.

Add to app in minutes

Doesn’t affect app speed

GDPR & CCPA compliant