Monday, September 27, 2021

How to Write a Killer Remote Developer Job Description (+ Checklist)

Introduction

The hiring market for software developers is white hot — so your job opening needs to stand out!

But how can you get yours noticed in the flood of DMs and emails that developers are receiving?

By creating an amazing remote software developer job description, that’s how.

Jump to the Developer Remote Job Description Checklist

Although writing a great job description takes more time up front, it’s worth the investment. Remember the aim: to get better quality candidates who more closely match your job opening. This can only happen if you’re giving candidates the information they need in a format that’s easy to read. (And a lot of it will be recyclable information that you can use again in the future!)

A great remote developer job description combines two things: a great software developer JD and remote-specific JD requirements.

In this post, we unpack how to write one, including:

  • What to include,
  • What to leave out, and
  • Things that you need to take into account for remote JDs.

Ninjas Not Required (Job Titles Matter!)

Remember that trend of developers getting called titles like “Code Rockstar” and “Programming Ninja”? Let’s leave that trend in the past.

For starters, the great developers you want to attract won’t be using this kind of job title in their Google search terms — they’ll be using something that actually describes what they do.

So let’s match the developer’s expectations, and use a job title that makes sense. Make sure you’ve clearly covered:

  • Seniority level
  • Description of the developer (e.g., full stack, back-end, mobile)
  • Required tech stacks (if known)

Also consider including:

  • Company name
  • Description of the “remoteness” of the role (more on this later!)
  • Potentially a short hook to capture attention

Tl;dr: instead of “React Coding Ninja — Flexible Startup!”, you might end up with:

“Mid-Level Front-End React Developer (100% Remote) — Fast-Growing EdTech Startup”.

By giving some specifics in the title, you’ll help the job-seeking developer figure out if they should bother clicking to read more or not.

That said, job titles are an art, not a science. An opposing view is that short job titles get the most attention — although of course, this can also depend on the job in question. Just ensure that you’re covering core search terms that describe the role well, and front-load the most important information into the job title.

You should also take into account where you’re posting your job opening. Check out the competition — what’s everyone else writing, and how will your proposed job title look when displayed amongst the other search results? Can you make it stand out more?

Similarly, take into account the design of the job board(s) where you will post this role. If things like company name, tech stacks etc, are built into the design, then you can use a shorter job title, e.g. “Senior Staff Engineer”. Since the dev will have already filtered for e.g. “Front-end” and “React”, repeating these probably won’t be necessary.

Look Here! (The Opening Hook)

Have we got your attention? Great — because now we’re into the substance of it, your remote developer job description needs to start with a bang!

First thing to remember: this is a remote role that you’re advertising. The candidate won’t be able to walk into the office and just pick up on the company vibe. Instead, they need to figure out cultural fit based on what you write, and how you interview. And cultural fit is make or break for a hire.

So let’s give them what they need to make good decisions — and save you from the expense and hassle of making an inappropriate hire and having to re-run the process a month from now.

The reality is: good devs are in demand. You need to pitch your company to them, rather than just the other way around. So intrigue potential applicants:

  • Are you solving a problem that will make a difference in the world?
  • Are you working on something unique?
  • Are you helping to build something that will give the dev a chance to learn some new skills?

This kind of information will help you stand out!

So open strongly, and show off your company’s personality, and talk about what your company does. This means describing, at minimum:

Your industry

One sentence should cover it!

What you’re building

Here’s where it gets interesting: when we talk to Arc developers, they tell us that a great project is super attractive to them. So if you’re building something cool, interesting, or unique, now’s the time to tell the world!

If it’s going to require use of new technologies, new ways of doing things, or have plenty of opportunities for the dev to learn new skills, also point this out. A job that will give devs opportunities to grow and stay on top of trends is the best!

If you want to go above-and-beyond — and for remote jobs, we suggest you do — then also consider providing more specifics. What problems is the company working on? What’s a brief outline for the near-term product roadmap?

Transparency is a big part of successful remote work, so if your business situation allows you to let the world know a bit more about what you’re up to, this is also a good way to show that you “live” transparency culture as a company.

Your company’s mission/motivations

Likewise, people love a story. If you’re a mission-driven organization, telling your story and why your work matters can help inspire applicants and get them interested!

How about your company values? If you have these articulated, listing them out (or providing a link to them) is a great idea. Finally, if you’re a startup, now’s the time to chat about your growth trajectory, if you’re open to it!

If you’re looking for some inspiration when it comes to giving candidates genuine insight into your organization, check out these curated remote-first companies who do this really well:

To really, really stand out, you can also consider embedding a short video about your company (or the role itself — more on this in the next section!).

Check out this Arc Blog post to understand more about employer branding best practices and how they help with tech recruiting.

Hi, This Is Your Developer Job Role

OK, enough about you. Now it’s time to talk about your ideal developer.

Start with the basics

In this section, you need to help the prospective candidate quickly understand:

  • What they’ll be working on
  • Their main responsibilities
  • What their impact will be
  • And their level of seniority/who they will report to

Frankly, this is all bread-and-butter job description content — and if you’ve read our post on the Codementor Blog, you’ll already know what to write.

But since we’re talking about a remote developer job description here, there are a few more things to consider.

If you’re non-technical, get some technical input

Sure, you could copy-paste a generic list of developer duties. But that’s probably just going to attract generic candidates. That’ll mean a whole lot more applications to sift through, making your job much more difficult.

If you’re e.g. a hiring manager, now’s the time to get some technical specifics from the company CTO or Head of Engineering. (If you’re not sure, and you’re hiring through Arc, we can help you with that.)

Including more “daily” information than usual

Again, this developer won’t be co-located with the rest of the engineering team. They need to understand what day-to-day work would be like based on information only.

So consider including information like:

  • Team description — how many engineers, where are they based, etc.
  • Meeting cadences — do you have daily stand-ups? Meeting-free days? Is your company async-first?
  • Tool stacks used by the company — outline of the software you use to collaborate
  • The team’s approach to working together — is it hierarchical or flat? Do you use Agile? Do you need consensus to make decisions?
  • Future career path options

What defines success in this role?

Want to go above and beyond with this job description? Help the developer envisage themselves in the role by talking about what defines success. A common approach is:

What should the candidate achieve in the first week, first month, and first 90 days in the role?

Or similarly:

What does success in this role look like?

By setting out clear expectations, your potential candidates will have a better idea of whether they can fulfil your expectations — or even pitch to you how they might supersede them!

Got The Skills And Experience?

Required skills and experience are, of course, a critical part of the job description. There’s no point attracting Python developers if you’re actually looking for a React one!

In this section, you need to help the dev understand if they’re a good fit by outlining who you’re looking for in terms of:

  • Technical requirements of the role
  • Qualifications
  • Experience level
  • And any other requirements

Again, we’ll point you to the Codementor Blog post on this topic if you want to deep-dive on how to write these. But for a quick recap:

  • Specify your tech stack
  • Minimize the number of must-have skills or qualities
  • Focus on tasks to be done over very specific educational or experience requirements

For a remote developer job description, we’d urge you to take a few more things into account.

Consider NOT listing required skills

Hang on, what?! Yes, we just talked about writing out requirements — but actually, there’s another way of getting the same results by using more inclusive wording.

After all, we’re writing a remote job description — and since people from all over the world might be applying, it makes sense to write in a way with which everyone can identify.

Instead of a “required skills” list, consider listing “required results” or “your responsibilities”.

What does this look like in practice? Let’s compare the approaches when talking about the same skill requirement:

Example Required Skills Required Results Your Responsiblities
1 "You’ll need a degree in computer engineering from a top 200 university"

Positive: clearly outlines a qualification requirement;

Negative: excludes many hidden gem devs worldwide and self-taught devs
"You’ll need to produce and ship code to Silicon Valley standards"

Positive: inclusive and clear that requires senior-level skills

Negative: 'Silicon Valley standards' may not give a clear benchmark
"You’ll be responsible for creating products by testing frequently, shipping MVPs, and using current best practices"

Positive: inclusive and outlines that this person needs to have all major coding skills

Negative: lack of specificity around level of seniority
2 "3-5 years experience with AWS DynamoDB"

Positive: specific skill set and tooling requirement

Negative: excludes many developers who have skills and experience in more prominent, competing products (e.g. MongoDB)
"You’ll need to be able to handle complex querying and scaling of NoSQL databases in the cloud"

Positive: opens up the requirement to a broader set of, equally qualified, developers

Negative: excludes direct experience with your specific tooling (if required)
"You’ll be responsible for the security, integrity, storage and retrieval of all data stored by our NoSQL app"

Positive: details the real world requirements for a developer in this role

Negative: non-specific on the products and technologies or the level of experience required

As you can see, each approach has its positives and negatives. We’ll leave it to you to decide whether to use one, or a combination, of these ways of discussing skills!

Do be specific about (human) language and communication skills

Does your team also require a certain proficiency level in a particular (human) language? If so, be straight up about it, and write this requirement in a way that is clear. “Intermediate level” isn’t very objective! Some options include:

  • Years of language speaking experience,
  • A formal qualification (generally not necessary!),
  • An estimation based on e.g. CEFR levels,
  • Or, for a more inclusive approach, a description of what the developer needs to be able to achieve with their language skills to succeed at your company (e.g. being able to produce clear written communication to collaborate asynchronously with other team members.)

This way, your developer has a better picture of what “fluency” means to you as an employer if they’re going to be working in a non-native language.

Speaking of writing skills — and communication skills in general — while every job description traditionally includes things like “team player” and “great communicator”, for a remote developer, this is so fundamental that it’s non-negotiable.

Since you can’t walk past their desk and have a quick chat to clarify instructions, you need someone who:

  • Has a collaborative mindset,
  • Can interpret instructions easily, and
  • Can create clear written messages asking for clarification, discussing issues, and reporting on progress

...and more!

Without these types of attributes, your new remote team member will not succeed. Remote workers need to be great writers.

How to describe these skills is up to you, and depends on the level and nature of the job role.

Does this person need to be great at describing things or telling stories? Does this person need to be able to drive consensus and run meetings? Do they need to be able to communicate and explain complex technical issues?

Start with what you need this person to be able to do!

Remote experience required?

Another thing to consider is whether or not you need your team member to have previous experience working in a remote team. Since COVID-19, a lot of developers have worked from home — although a lot of them were “remote temporary” rather than in teams optimized for full-time, long-term remote work. The required skills and processes can be a bit different.

Either way, it’s probably not a deal-breaker. Just make sure you test they have the basic skills to be successful at remote work, e.g. clear communication, ability to pivot when stuck, ability to solve their own problems, and build personal links with people they’ve never physically met.

Wrapping up on skills

When you get to the end of the required skills section of the job description, take a moment to step back and consider it objectively. Here are some questions that might help:

  • Have you considered the developer you need for the actual job to be done, and not just written something generic to attract an “ultimate coding ninja whizkid”?
  • Have you removed all merely “nice-to-have” skills? (Put these in the next section!) Keeping this list short will mean fewer people self-exclude their application.
  • Have you checked that any experience requirements are genuinely achievable? (I.e., no “entry level requiring 5 years’ experience” or “10 years’ experience in Flutter?”)
  • Have you removed as much unnecessary gatekeeping as possible? This might be requiring specific schools, using exclusionary language, or using gendered language. Try to write as inclusively as possible!

Optional Sections: Bonus Skills & Standout Factors

Now that you’ve covered the must-have hard and soft skills that your remote developer needs to bring to the table, it’s up to you whether or not you want to add some more.

Bonus skills

Some job descriptions include a list of “bonus skills”, which tend to be a bit more whimsical or nice-to-have only. Put them here!

What would make you stand out

Another approach is to actively list things that would really push an applicant to the top of the candidates pile. Here you can put anything your heart desires — within reason — such as “completed side passion projects,” “prior experience scaling a startup,” or “proof of ongoing professional development.” Up to you!

Detailed Job Factors

The hard part is over! Congratulations on making it this far. Now it’s time for some of the details of this role. You’ll need to cover, at minimum:

  • Description of the kind of remote work available to this person (e.g. 100% remote, part-time in office, etc)
  • Whether the dev will be working fixed hours, has fully asynchronous control over their own schedule, or something in between
  • If the team has “core hours” where everyone must be online at the same time
  • Any time zone overlap requirements (or other limits on the developer’s location)
  • Any mandatory on-sites/team activities
  • If relevant, the type of employment (e.g. full-time permanent employment, contractor etc.)

Show Me The Money! (Compensation)

Finally, compensation. Traditionally, a lot of job descriptions don’t provide too much detail here — but bear in mind that jobs that do include hard pay numbers get up to 30% more attention.

Also, be aware that some parts of the world now require salary/compensation information to be included in job descriptions!

Things to consider including:

  • Base pay and/or salary range
  • Description of bonuses, equity opportunities, etc
  • Any additional benefits

Basically, if your offered package is better than market standard, this is the time to show that off! By doing so, you’ll increase the attractiveness of your job to potential applicants.

Benefits to list can include:

  • Providing equipment
  • Home office or internet service stipends
  • Coworking space (or cafe) stipends
  • Travel allowances
  • Health insurance
  • Learning stipends
  • Pension plans
  • Maternity/paternity leave
  • Company retreats
  • Healthy living stipends
  • Work flexibility
  • Generous vacation policies or sabbatical policies

...and more!

Other Policies & Processes — And Don’t Forget The DEI Statement

Last but not least, many companies will include specific policy statements in their job descriptions. One in particular is their hiring policy regarding Diversity, Equity, and Inclusion. For more about DEI and remote work, check out these Arc posts:

For bonus points, this is also the time to talk about your job application process, and set clear expectations around this. Will the developer have to do a coding challenge or other skills test? How many rounds of interviews will be required? Consider also including contact details of who applicants can contact if they have questions about the job description.

Finally, end with a call to action — a quick sentence encouraging the developer to actually send in a job application. They’ve put in the effort to read all the way to the end of the JD, so they’ve obviously still interested. Give them a quick nudge to remind them it’s time to apply!

Wrapping Up

Although a good job description takes a surprisingly long time to craft, it’s time well-spent. By front-loading the work, you can more accurately target the developer you want — and spend less time sifting through inappropriate resumes.

Some final tips before hitting the publish button on your job description:

  • If possible, have a developer read it and give feedback
  • Check you’ve included remote work keywords throughout (e.g. WFH, remote job, flexible work)
  • Remember to proof-read!

Good luck with finding your perfect developer. If you have any feedback or more tips for strengthening a remote dev JD, let us know in the comments below!

For the shortcut to recruiting success, come chat with Arc’s Hiring Consultants. They can get your job search started ASAP, including helping with your remote job description. Get started now!


Developer Remote Job Description Checklist

Note: you don’t need to include all of this information — context still matters! But we’ve included many things you should consider including in your JD.

Job title

  • Seniority
  • Developer Type
  • Key Tech Stack(s)

More: company name, remote work type, short hook; consider removing information already covered by job board filters

About the company

  • Name
  • Industry
  • Product/Services
  • Mission/Vision

More: product roadmap, company values, company trajectory, etc.

Your role

  • What you’ll be working on
  • Main responsibilities/impact
  • Seniority
  • Who you’ll report to

More: what you will learn, engineering team description, meeting cadences, tools, future career path, definition of success in role, first 90 days on the job

Required skills & experience / Required results / Your responsibilities

  • Technical requirements
  • Qualification(s)
  • Experience level
  • Other requirements related to tasks/working

Optional: Bonus skills & experience / What would make you stand out

About working here

  • Remote work type
  • Hour flexibility/core hours/time zone overlap requirements
  • Limits on location
  • Mandatory on-sites/team activities etc.

Compensation Package

  • Base pay/salary range
  • Bonuses/equity etc
  • Any additional benefits

Policies & Processes

  • Hiring policy/DEI statement etc.
  • Job application process description
  • Company contact details

Close-out

  • Call to action (invitation to send application)
  • Contact details (optional)

(And don’t forget to proof-read!)



from Hacker News https://ift.tt/2XVY8QE

No comments:

Post a Comment

Note: Only a member of this blog may post a comment.