Writing better job descriptions to find the best engineers for your team

As a CTO or engineering leader, you know that building a strong team of engineers is crucial to the success of your company. But before you can start building your team, you need to attract the right candidates. And that starts with a killer job description.

A job description is more than just a list of responsibilities and requirements. It's a marketing document that tells potential candidates what your company is all about, what your team is working on, and what it's like to work in the engineering role you're looking to fill.

Don't outsource that to a recruiter or someone from HR; it's your chance to make sure the top of your candidate funnel is super effective.

In the past years, I also started including an initial scorecard for the role, outlining the first 6-9 months of the job (inspired by the book "Who" by Jeff Smart and Randy Street. More on that below.

But first, here are some tips for creating a job description that will attract top engineering talent:

An amazing job description

Start with the company mission

Your job description should start with a brief overview of your company's mission and values. This will give applicants a sense of what your company stands for and what kind of work they can expect to be doing. Be sure to highlight any unique aspects of your company culture or working environment that set you apart from other companies.

Highlight the values and culture of the engineering team

One of the most important things to include in your job description is a description of the values and culture of your engineering team. This could include things like a commitment to collaboration and teamwork, a focus on continuous learning, or a dedication to delivering high-quality code. By highlighting these values, you'll attract candidates who share your team's priorities and are likely to be a good fit. Be very careful not to overfit for culture, though, because there's a real risk of inadvertently excluding certain people or groups!

Describe the team and/or group mission

Next, describe what the specific team the candidate would join is working on and what their goals are. Ideally this is a team with a mission, and if so, you should definitely share it. This will give applicants a sense of the larger context of the role they're applying for and how their work will fit into the team's overall mission. Be specific about the technologies and tools your team uses, as well as any interesting challenges or projects they're working on.

Outline the individual role’s mission

Now it's time to get into the specifics of the role you're looking to fill. Describe the responsibilities and requirements of the role, but don't just list them out in bullet points.

Instead, paint a picture of what it would be like to be in the role. What kind of projects will the candidate be working on? Who will they be working with and in what capacity? What will their day-to-day look like? This will help applicants visualize themselves in the role and decide if it's a good fit for them.

Try to be as specific as possible here. I started doing this years ago after realizing that there were some pretty wild variations on what team members assumed a "Software Architect" should do after joining them. We added things like "write production code >50% of your time" and "deliver frameworks; not documents" to make sure we weren't attracting any Paper Architects.

We hired a great person, and one CTO in my network liked the format of the job description so much they reached out to discuss it and ended up adopting the same format (after joking they might actually apply to the role themselves).

Use inclusive language

Finally, it's important to use inclusive language in your job description. This means avoiding gendered language, using person-first language (e.g. "a person with experience in Java" instead of "a Java developer"), and avoiding bias in your job requirements. By using inclusive language, you'll attract a wider pool of candidates and create a more welcoming environment for everyone.

Creating an effective job description for engineering roles is not just about listing out responsibilities and requirements. It's about telling a story that will attract top talent and giving applicants a sense of what it's like to work on your team. By following these tips and putting in the effort to create a compelling job description, you'll be well on your way to building a strong engineering team.

To really improve your chances, add a scorecard:

The scorecard for a thoughtful first 6-9 month

Another important aspect of the hiring process for engineering roles is creating a scorecard for the role and sharing it with candidates later on in the process. Inspired by the book "Who", a scorecard is a plan that outlines the main activities and outcomes you're looking for from the new hire in their first 6-9 months. This scorecard is an invaluable tool for both the hiring team and the new hire, as it provides clear expectations and a roadmap for success.

While some may worry that sharing a scorecard with candidates during the interviewing stage may lead them to give the "right answers", in practice, candidates who are not a good fit for the role will not be able to fake their capabilities and interests in a high-accountability environment; they know they’re not going to make it through the first 6 months. Instead, sharing the scorecard with candidates demonstrates that your company is thoughtful about onboarding and is committed to setting new hires up for success.

Creating a scorecard also helps the hiring team be more thoughtful about the role they're hiring for. By clearly defining the outcomes they're looking for, the team can focus on finding candidates who have the skills and experience necessary to achieve those outcomes. This also helps the team avoid falling into the trap of hiring based solely on experience or qualifications, and instead hiring based on the candidate's ability to deliver results.

Once the new hire is onboarded, the scorecard serves as a tool for accountability and goal-setting. By regularly reviewing progress against the scorecard, both the new hire and the hiring team can ensure that the new hire is on track to meet their goals and deliver on the outcomes outlined in the scorecard.

While creating a scorecard may seem like a lot of work, it is an important tool for both the hiring team and the new hire. By clearly defining the outcomes and expectations for the role, the hiring team can find the right candidate for the job, and the new hire can be set up for success from day one.

Next
Next

Bake-off: How to pick the right front-end JavaScript library