Tracy Phillips

Tracy Phillips

CodeSubmit Team

Developer Assessment: The Ultimate Guide

HiringRecruitingCoding Assignments

Wondering how you can assess developers in the best way possible? Finding the right tech talent will save you money and have a big impact on your organization’s bottom line.

In today’s post, you will learn:

  • The best developer assessment strategies.
  • What NOT to do to avoid losing out on top talent.
  • The exact skills and qualities you should look for.

The best part? These strategies will help you get results like this:

"We've seen amazing results after using CodeSubmit for the last 9 months. The whole assessment process and hiring experience is just so much better for our hiring managers and candidates."

Ready to learn more? Let’s dive right in.

Chapters

Chapter 1: How do you choose the best developers?
Chapter 2: What should you look for in a developer?
Chapter 3: How do you assess software developers?

How to choose the best developers

You know just how hard it is to find great developers. Software development is both an art and a science, and it takes a good programmer to know a good programmer.

Here’s the thing:

Skills can vary a lot from one developer to the next.

And your tech talent is often your biggest operating expense. (Labor costs account for more than 60% of corporate expenses.)

Finding the right talent can also have a huge impact on your bottom line. According to research, top performers are 400% more productive than average workers.

These “10x developers” could be responsible for 80% of the work your team gets done.

That’s why assessing a developer’s skill before you make any hiring decision is a no-brainer to ensure that you’re hiring the right talent.

But what skills should you assess? That’s what we’ll look at next.

Skills to look for in a great developer

Developers need two different types of skills: Technical skills and soft skills. The best talent has both sets of skills. Here is the know-how you should look for in top talent.

Technical skills

Technical skills are the first set of skills we’ll take a look at. Some years ago, developers didn’t need a lot of extra knowledge. Today? The skills required for successful software development are getting much more complex. The most important tech skills include:

A programming language and frameworks

The first thing to look for in a developer is a strong background in at least one language, such as C#, C++, PHP, Java, and Python. The next thing to look for are skills in frameworks like React, Angular, Ruby on Rails, and Django.

Problem-solving skills

While knowing how to code is an essential skill, top developers are also good problem-solvers. You see, those developers who are good at spotting bugs can find problems in their code faster and fix them.

Integrated Development Environment

Integrated Development Environments (IDE) speed up the work. They help developers write, compile, run, and debug their code.

Databases

Skills in database management systems enable developers to backup, secure, and manage their database.

Source control

Source control or version control is a way to keep track of different file versions and the source code. It’s useful for coordinating efforts when multiple developers might be working on the same set of files. With version control tools, developers can manage, store, and secure their code.

System design

A developer who is skilled in system design understands information about the system and its elements. He or she has a better understanding of how changes can be made to the system .

Cloud services

Developers who have cloud computing skills use cloud platforms like Amazon Web Services and Google Cloud. A cloud developer understands how to use these platforms for your company’s cloud computing strategy.

Data security and data privacy

Data security and data privacy are increasingly important. A developer with data security and privacy skills can analyze risks and mitigate them.

Clean maintainable code

Developers spend a lot of time maintaining code. Great developers write maintainable code that lasts a long time. Their code doesn’t have to be rewritten anytime soon.

Algorithms

Developers who understand algorithms can organize data and use them to solve problems.

Soft skills

There are other, non-technical skills that will help a developer become a top performer. As the US National Bureau of Economic Research reports, certain soft skills, such as conscientiousness, predict success even more than a person’s cognitive abilities. The soft skills to look for in a software developer include:

Teamwork and cultural fit

A key skill is teamwork, so how well your developer works together with the rest of the team. Your team members need to be able to collaborate for the best results. In fact, research shows that collaboration improves motivation and performance.

Communication skills

A developer with great communication skills offers a lot of advantages. Teamwork will get a lot more effective if your tech talent can convey technical topics to non-technical stakeholders.

Adaptability

Can your developer adapt to new situations? Flexibility can’t be overlooked in today’s workplace.

Creative thinking

A Forum report, “The Future of Jobs”, shows that creativity is the third most important skill in today’s workplace. And it’s true, a developer who is able to think in an innovative way has a lot to give to your team.

3 ways to assess developers

Now you know what skills and qualities you are looking for in a developer. But how do you assess if a developer has these skills?

Your assessment process has several steps:

  • Step 1: A candidate submits their CV and any supporting material.
  • Step 2: You review the submission and invite the best candidates to a phone interview.
  • Step 3: You invite the candidate to complete a software developer assessment test.
  • Step 4: If the assessment goes well, the candidate then moves to a final phone interview.
  • Step 5: Last, the candidate is invited for a final onsite interview.

Remember: These days, developers have plenty of options. Your assessment process isn’t only about assessing them for a role. Instead, as a recruiter, you need to intentionally keep the best talent throughout the process.

After all, you don’t want to end up with plenty of bad reviews on Glassdoor.

Bad hiring process review

Bad reviews can quickly repel top candidates. And as Harvard Business Review reports, a bad reputation will cost you at least 10% more per hire.

Here below, we look at what you need to evaluate in a developer and how to create an attractive assessment process for job applicants.

1. Programmer portfolios

First up:

To assess your developer, look at what he or she has already created. A portfolio is often the first clue to understanding the quality of work a developer puts out there.

A portfolio consists of pet projects, examples of code, blogs, open-source projects, and/or GitHub or StackOverflow activity.

With the portfolios you receive, you can start weeding out candidates and decide who gets to the first round of interviews.

2. Interviews

Interviews are the next step in assessing how suitable a developer is for the role. Interviews are great for getting some form of understanding of how a developer handles his or her work. You also get a feel for the person and their soft skills.

The pre-screen interview (often done over the phone) can be used to:

  • Assess the applicant’s communication skills.
  • Ask about the applicant’s resume and clarify anything that needs to be clarified.
  • Understand the applicant’s salary requirements.

The in-person interview is behavioral and competency-based. Questions include:

  • “Give me an example of a time when you were faced with a stressful situation that demonstrated your coping skills.”
  • “Tell me about a time when you set a goal and were able to achieve it.”
  • “Describe a time when you encouraged others to contribute opinions or ideas. How did you get everyone to contribute? What was the end result?”

3. Software developer assessment tests

What’s the best way to assess a developer’s technical skills?

That’s right, a developer assessment test.

After all, portfolios, work samples, and interviews will only tell you so much about a candidate.

By seeing how a developer works on real-life tasks will tell you a lot about how good of a fit he or she is for your company.

To create a successful assessment test, you need to:

  • Make it as real as possible with tasks that resemble real work. Let the developer use tools he or she would be working with on the job.
  • Ensure you know what you’re assessing and why before you send the test. You should remove anything that doesn’t fit the skills you are evaluating.
  • Keep it concise. You will be able to determine someone’s skills with a shorter test, so don’t waste your own or applicants’ time.

A developer assessment test can either be an in-person or take-home test.

In-person coding assignment

An in-person coding assignment is completed at your premises, usually on a whiteboard.

The problem with these types of assessments? They’re limited to local talent (not necessarily the best talent). Plus, as they can be stressful for the candidate, they don’t show you how good someone is in a real-life situation.

The worst part is that applicants don’t enjoy these types of assessments. According to Dice, the thing that 42% of applicants dislike the most in tech interviews are whiteboard tasks.

Take-home coding assignment

The other option is a take-home coding assignment. This is a coding test that developers complete at home and at their own pace.

For example, companies like Basecamp are strong advocates for take-home assignments.

The benefits are clear:

  • You reach a bigger pool of developers.
  • You reduce the risk of bias because you assess the actual work and not the situation in which applicants complete their work.
  • They simulate real-world tasks better than other coding assignments.
  • They are a candidate-friendly alternative. (Read more about why developers love these assignments.)

Take one of our clients, a big tech company. The development team had to assess 150 candidates for one of its entry-level programs. They ended up choosing CodeSubmit because of our candidate-centric and scalable approach.

The result? The candidates were left with a great experience and the company streamlined its developer assessment.

As one candidate put it:

"I found the two tasks very fun to do and adequately challenging. They were presented nicely, the tests were very clear and obvious for the first one, and the option to complete the task in a language of choosing is also great. Very happy with my experience, overall."

At the same time, one of the biggest concerns for hiring managers is that take-home assignments can be misused because the tests are easy to plagiarize.

But with the right tools, take-home assignments are risk-free. Our own tool, CodeSubmit, ensures that candidates can’t plagiarize our tasks.

Avoid these developer assessment mistakes!

But what should you avoid when it comes to assessing developers?

There are a few things that will hurt your assessments. These are:

Screenings

Screening tools, such as algorithmic quizzes, are designed to filter out applicants. They are ineffective for two reasons: Applicants, especially senior candidates, don’t enjoy them. Also, they’re not the best way to demonstrate someone’s skills.

Plus, you miss out on a lot of talent if you ask candidates to complete a task before any interviews. Just like you, candidates don’t want to waste their time. That's why using tests later on in the process is better for them and for you.

Making tests too long

Sometimes, companies opt to use tests that are 20-30 hours long -- and they’re unpaid. The problem? These tests take up far too much time. Instead, applicants should be able to complete your assignment in one sitting.

Not giving feedback

And finally, remember that even a test that is 3-5 hours long is a big commitment for applicants. If you turn them down without any feedback, this won’t reflect well on your recruitment process. Instead, take the time to give a bit of feedback.

How? CodePair follow-ups are a great way to give personalized feedback to candidates. You import a take-home assignment into a CodePair instance and work collaboratively on it there. Here's how it works.


Over to you! There you have it. Now you know how to assess developers. In the end, this is how you find the best talent for your team.

What it comes down to is that you look for the right skills to assess. Then, you use a combination of interviews and developer assessment tools like take-home assignments to find the perfect fit.

Want to get started today?

Sign up for a free trial to find the best developers.