What to Look for When Hiring a Software Developer in 2021

Leadership

2021-09-17T18:24:51.943Z

Zigzag

Most businesses need software development talent, but most businesses are not managed by software developers.

ZigzagMailDots

Your inbox deserves the best!

Sign up for design, dev, & product trends.

Instead, industry experts, financial gurus, and entrepreneurs lead most growing businesses today. When you need to hire developers, you put up a job description or recruit. But what happens next? What should you look for in a software developer and how can you assess their qualifications?

Especially in startup or growth stages, non-technical hiring managers (sales, product, people) participate in the hiring process for engineering. However, these types of employees may look for standard hiring traits (personable, charismatic, enthusiastic). These characteristics are irrelevant for a good software developer.

To address this common problem, we decided to make a guide for hiring software engineers.

How to Understand Your Needs Now & Later

There are many different kinds of developers. Junior boot camp grads, computer scientists, senior engineers, managers, and solutions architects. Who do you need now and who do you need in the future? Can it be the same person (after professional development) or two distinct individuals?

We wrote a bit about this in our post, “Do I Need a Developer, CTO, or a Hybrid?” so check that out if you’re a startup looking to make your first technical hire.

Tips for Writing a Developer Job Description

Here are a few pointers for creating a job description:

  1. Try to avoid overly masculine words. It’s been shown that women are less likely to apply when words like “dominant” and “tough” are used throughout.
  2. Avoid “must-haves.” Similarly, women apply to jobs that they’re 100% qualified for while men apply if they meet 60% of the requirements. Removing this language and replacing it with “responsibilities” can help.
  3. Explicitly state diversity preferences. We sometimes include language like, “candidates from diverse backgrounds are encouraged to apply.”

A Four-Part Assessment

You should assess software developers in four ways:

  1. Goals alignment
  2. A quick-and-dirty skills test
  3. An in-depth technical interview
  4. A traditional interview

A goals alignment ensures that what you both are looking for align. If your candidate wants to manage people, but that’s not part of the responsibilities, no one will have a good time. The second should quickly sort those who can code. We use HackerRank to test our candidate’s skills. The third should demonstrate how they solve problems, work through challenges, and collaborate with team members.  And the fourth should help you get to know their communication and working style.

What to Look for When Hiring a Software Developer

So they’ve completed each of your interviews, now what? How can a non-technical professional assess a technical one?

We highly recommend using a standardized interview rubric so you can ask the right questions and assess the right categories (the ones that matter the most).

In our interview rubric, here are the things we look for in a software engineer:

Communication: Can we understand them? Do they understand us? For a junior developer, we want to know that working with them isn’t going to be a frustrating process full of misunderstandings. For a senior role, we want to know that we can leave them alone in a room with a client and not be worried about it.

**Culture Fit:**Do they share our core values? Beyond that, are the people we want to work with? This is not intended to screen for “do I want to get a beer with this person?”. Devetry has a professional and supportive work culture, and we don’t want to undermine that by hiring technically competent jerks.

Technical Knowledge & Skills: Do they know things about the language and framework we use? What about other languages and frameworks? Databases? Anything else interesting? Let’s find out!

Wisdom/Problem-Solving: The technical knowledge and skills section is about determining what the candidate knows. This one is about whether or not they can find the right answer when they don’t already know it.

Experience: Has the candidate’s past experience prepared them for a job here? Even if not directly related to this position, which of their experiences are beneficial?

Quality Assurance: Was there anything significant about this candidate (either positive or negative) that wasn’t captured by any of the above questions?

What We Look for in a Software Developer

Here are some of the essential things we look for in our software developers:

  1. Ability to contribute high-quality, tested code in a collaborative environment
  2. Leave a codebase better than you found it
  3. Write great tests
  4. Desire to learn new things, including new languages, frameworks, platforms, industries, and business affairs

Jr vs. Mid vs. Sr Developer

We created a guide on the differences between juniors, mids, and senior developers, but here’s a shortened version:

For junior developers, we expect proficiency in one or two languages and exposure to one or two more. In our mid-level developers, we expect full-stack experience (front end, back end, databases). And then for seniors, we want at least five years of experience and knowledge in most languages (or the ability to quickly pick them up). Architecture knowledge is also important. If we want a senior to manage other team members, they should have management skills. However, not all senior engineers have a desire to manage, so clarify that during their interview.