Why Soft Skills Matter When Hiring a Software Developer

article_img
This Article is Part of the Guide: How to Hire a Software Developer: The Ultimate Guide guide-cat-arrow
article_img

At least once, any director faced this problem. The potential candidate demonstrated well during the interview, answered all the technical questions, and fulfilled the practical task perfectly well. However, after a couple of months of his work, you realize that this person doesn’t suit you.

There are many reasons why people make mistakes when assessing a candidate in an interview. But, perhaps, the most important of them is underestimating the candidate’s soft skills.

Of course, professional skills are important to accomplish practical tasks. However, work is not only about technical assignments. A person should continuously communicate with other people, manage time correctly, prioritize work, learn, and develop continuously. Soft skills are important for all of these. That’s why underestimating them while choosing a potential candidate is a big mistake.

What are soft and hard skills

Any person should possess certain skills in order to fulfill any job. We can figuratively divide all soft skills into 2 categories:

Soft skills – personal qualities of a person. This includes communication skills, the ability to learn, creativity, the skill of working in a team, etc.

Hard skills – professional skills. For instance, for a developer, it is knowledge of programming languages and security standards. 

When hiring a potential candidate, you should pay thorough attention to both categories. However many people overlook this and here is why.


Not enough attention is paid to soft skills

The bottom line is that Hard Skills can be assessed. People have created many ways to assess knowledge in programming language or mathematics. 

There are plenty of certificates and diplomas confirming the Hard Skills of a developer. There are many questions and answers which will give you an understanding of the level of a developer.

At the same time, things are a bit more challenging with Soft Skills. No one institution gives a certificate that a person is nice and can arrange and manage time. Even “the right” answer to a question about a character doesn’t mean stress resistance. He could simply tell you what you wanted to hear. 

Many candidates write in their CVs that they are stress-resistant, learn fast, open-minded, etc. just because an employee wants to see all these features. Not because they are so in real life.

Because Hard Skills are easier to assess, in the interview people focus on them in particular. And on the contrary, are very superficial in terms of assessing candidates’ Soft Skills. 

In this article, we will show you that it is unnecessary to hire a person and job shadow his work in order to assess Soft Skills. It is possible to do this in the interview and save a ton of time for both yourself and the candidate.


Top 9 soft skills a software developer must have

In their study, Emerald Insight revealed the top-9 soft skills for a software developer from the employer’s standpoint.

To do this, they analyzed over 500 developers’ vacancies in different regions of the world and checked how often this or that skill is mentioned in the vacancy description. 

The study revealed that some soft skills are in higher demand than others. For instance, the demand for a developer’s communication skills is at a fairly high level, while the ability to learn quickly is practically not mentioned. 

Further on, we will try to figure out how each of the listed skills impacts the developer’s work. And is it fair that some of them are overlooked? 

Communication skills

Demand: > 85%
Required for:
Ability to effectively deliver one’s thoughts, listen and hear, and interlocutor.

Impact on developer’s work:
Communication skills play a key role in the developer’s work and deserve high demand among employers.

The work of a developer is always connected with communication with other colleagues. Whether it is chatting, sending emails, or writing documentation. Coordinated teamwork is determined by how concisely a person can deliver his thoughts.

How to check:
Watch the candidate’s behavior during the interview.
Assess verbal and non-verbal communication: check if the candidate can listen to the end of the statement, how short and concise are the given answers, if a person is under stress, etc.

Use cases to assess communication skills.
Propose a candidate in a modeled situation not necessarily related to his position directly.  

It is necessary to analyze this situation, describe a model of behavior, and outline an effective solution.

Answering this question, a candidate can start telling about not exactly what he would do in such a situation. And there is nothing surprising here since he wants to get this job. 

If a developer gives answers that are too ideal, pretend you disagree: «Why would you need to help someone? You spend your working time to back up a careless worker. Moreover, no one will learn about this and all your effort will not be appreciated”. 

The essence of this move is to understand whether the candidate sticks to his original opinion or changes it and adapts to your suggestion.

Use questionnaires to determine a type of personality.
For example, the Myers-Briggs test is frequently used while selecting candidates. The test result will give you a brief description of the person, and an idea of ​​his abilities, including his communication skills.

Interpersonal Skills

Demand: 60-80%
Required for:
The ability of an employee to get along well in a team, negotiate, solve conflicts, and share knowledge.

Impact on developer’s work:
As mentioned before, every developer works in a team and a team is about people above all.

Every person has their own mood, problems, and fears. The overall atmosphere in a team depends on how well interpersonal skills are developed.

A negative atmosphere predisposes to stagnation and destruction of the team, a good one, on the contrary, to its growth and development.

How to check:
Use projective questions.
The essence of the projective questions is to offer a candidate to assess another person or a persona rather than assessing oneself. It is common for people to transfer their own life experiences and understandings to other people or cases. Therefore, the given answer characterizes the person and not the abstract person.

The answer will help to find out if a candidate treats peers as a resource for achieving his own goals or as a source of new knowledge. There are many possible answers to this question: commercial benefit, obtaining new opportunities, the ability to knowledge exchange, etc.

Organizational skills

Demand: 30-50%
Required for:
The ability of a person to prioritize work, accomplish tasks in due time, and close projects. 

Impact on developer’s work:
Quite often developers work on several tasks simultaneously. Organizational skills help to prioritize work to have everything done within timelines.

The developer’s work speed is also important, as in most cases the work of other people is determined by it. A new task can’t be started unless the previous one is finished.

How to check:
Use questionnaires.
For instance, the How Organized Are You test can help you check a candidate’s organizational skills.

Learn how your candidate organizes his work.

Giving an answer, a candidate is supposed to tell about the methods of work organization and also explain why the chosen methods are used in particular.

It is important for a developer to mention several ways of organization. It will speak in favor of his flexibility. After all, one method might work for one project but might be inappropriate for another one.

For example, a developer can use a couple of online or desktop tools to keep organized, define the core tasks from the extensive list, set reminders, and create to-do lists and step-by-step manuals to reach the goal. 

Analytical thinking and problem solving

Demand: 40-60%
Required for:
Ability to decompose the task into integral parts, estimate them, and plan the stages of the solution that would meet the customer’s needs. 

Impact on developer’s work:
Within the course of work, a developer permanently faces certain tasks to solve.

The ability to think analytically and solve these tasks in the most efficient way determines the level of a developer to a great extent.

How to check:
Behavioral interview following the STAR method (situation-task-action-results).

The core of the method is that questions are to be related to real-life situations. 

Ask a developer to tell about the real examples when he managed a complicated task. The candidate should start by describing the situation, then determine the tasks to be solved, and specify certain actions leading to the definite result. The answer will demonstrate the level of the soft skill.

The answer will help you understand the candidate’s analytical thinking, honesty, and frankness, as well as the ability to make conclusions and learn from their own mistakes. Anyone can make a mistake, most important is to make the right conclusions. 

By the candidate’s conclusions, we can judge if a person understands the reason for the mistake and if he blames someone else. Give preference to those who are willing to frankly talk about the failures.

Ability to learn quickly

Demand: 0-10%
Required for:
People who are constantly developing, growing, and using new strategies to solve more and more complex tasks as well as learn from their own mistakes and mistakes made by other people.

Impact on developer’s work:
Often a new task of a developer differs from the previous ones. They might have general contours, and solution principles, but will differ in some details.

The ability of a developer to quickly get around an unfamiliar environment directly influences the speed and quality of a performed task. Therefore, we can say that overlooking the ability to learn can have negative consequences for employers.

How to check:
Study certificates of education, diplomas, etc.
Anxiety about knowledge is a primary sign of the ability to learn. Before an interview check how many courses the candidate has recently taken and passed. Check what technologies he masters, how deep his knowledge of them is, and how often he switches to new technologies. 

Ask to tell more about work experience.
Discussing episodes of previous work with the candidate, wonder what was tough and what achievements is he proud of. It’s worth thinking about if difficulty to comprehend new information (“it was difficult to transfer to new projects”, “it took me long to dive into…”, etc.) are listed among the issues.

Team play

Demand: 50-80%
Required for: 
Determination if a person is a team player or not. Reveals how a person interacts with other people, and how sensitive to others’ problems this person is.

Impact on developer’s work:
As we have mentioned before, it is a rare case when a developer works alone. The ability to hearken to peers, support other team members, and help them is an integral part of their work.

How to check:
Use questionnaire tests to reveal a team player.
The 3 Types of Employees test is a good example that can help find out if a person is a team player or is more inclined to work alone.

Pay attention to what a candidate says. 
If in the interview a person often uses words and expressions like “we”, “our team”, or “together” most likely he is a team player and not a loner.

Situational interview.

Teamwork has its challenges. After all, not every team member fulfills duties efficiently and in a timely manner. Let a candidate suggest a solution to such a situation. This will help to figure out if a person knows how to work in a team or is an individualist.

Independence

Demand: 30-50%
Required for:
The ability of a worker to plan and successfully fulfill the tasks independently. 

Impact on developer’s work:
Everything should be balanced. Teamwork is good only when it improves the efficacy of the whole team.

Experienced developers should be able to work independently. Only by being able to make effective decisions independently, a person can manage other parts of the team. 

Independence is a key factor that distinguishes seniors from middle developers. Learn more about the difference between the levels of developers in our article 5 Software Developer Levels: whom to choose.

How to check:
STAR method behavioral interview.
Question: Have you made decisions without all the necessary information?

The answer to this question helps to better evaluate the independence skills of candidates. The situation will show how the candidate coped with the task. Pay attention to whether he talked about the impact of his decision on the project and the company as a whole, how and where solutions were found, and whether a creative approach was used.

Innovation and Creative Thinking

Demand: 20-25%
Required for:
Awareness of the current technological trends, ability to create and suggest new creative and practical solutions to fulfill work tasks.

Impact on developer’s work:
Software development is constantly evolving, and what was considered normal five years ago is obsolete now.

Knowledge of new programming languages, frameworks, and their best practices influences the speed and quality of work. Creative thinking and finding out-of-the-box solutions independently can be added here as well.

How to check:
Use the “brainstorming” technique.
Give a pen and some paper to your candidate. Give him 10-15 minutes to come up with all the solutions to the task, even the most incredible and unreal ones.

When evaluating the answer, take the following into consideration:

  • Note if a person started disassembling or breaking a chair to give more options;
  • Most of the solutions should be applicable in real life (approximate ratio of 80% to 20%);
  • An ideal situation is if a candidate not only suggests his ideas but also tells how they can be realized.

Frankness and quick adaptation

Demand: 0-10%
Required for:
Ability to effectively adapt to new tasks, roles, and challenges.

Impact on developer’s work:
The context a developer is in can often change within the course of development: new project requirements, team members, responsibilities of a programmer, etc.

Being open and flexible to all these changes greatly impacts workers’ motivation and the general atmosphere in a team.

How to check:
Change the course of an interview on the go.
Example: Ask a developer to switch roles. In the case of an experienced developer, asked him to interview another developer.

The reaction of a developer will demonstrate his “openness” to something new and his ability to quickly adapt to a changing environment. It is important to understand whether a person accepts the new rules of the game with interest, or looks overwhelmed. 


Don’t overlook soft skills 

Developers’ work is aligned with soft skills to the same, and sometimes even greater extent, than with hard skills.  

These are namely the soft skills that determine how a person works in a team, whether is he capable of analytical thinking, learning fast, and adapting to new conditions.

To evaluate the candidate’s soft skills in the interview:

  • Observe his behavior;
  • Ask questions about his previous work experience;
  • Use questions about real candidate’s experience;
  • Model extraordinary work situations;
  • Ask projective questions;
  • Use psychological tests.

A combination of various techniques will help you know the “human” side of your candidate better.

Good luck!

Tags:

dev-info
logo-single