Over the past 6 years, my job has been a lot to find the right people for my team, and in that time I’ve developed a set of questions and markers that help me quite easily determine whether a candidate is a good fit or not. Conventionally, these markers can be divided into several points:
-
Teamwork: I don’t build solo teams, I assemble effective teams that can get the job done. Each member of the team should be able to communicate and at the same time not go into conflict, disagreements happen to everyone, but they need to be resolved peacefully;
-
The ability to convey your thoughts: working in a team on one project involves a lot of communication and the ability to explain your ideas, ask the right questions is critical;
-
The ability get things done: any task is of value only when completed, read “available to users”;
-
Involvement, interest: I do not want to educate everyone, I need people in the team who are interested in what they do, they themselves study the language / framework / database / other related technologies to make their projects the best on the market;
Teamwork
Communication is a mandatory skill when working in a team, as a good team resolves issues within itself and at the same time, discussions do not turn into conflict. But what makes a good team different from a great one? At a minimum, it is open to discussion not only internally, but also with external customers/executors. It doesn’t matter whether it’s a new product feature that seems overcomplicated and needs to be explained to the customer, or the API that the backend team implemented seems primitive to you and does not take into account the needs of your mobile team. (Commands are fiction, %username%). All members of such a team are open to discussions, they know how to discuss and will tell other members about what they think is important.
To find out about this quality, try asking the candidate about what was his role in the team? Who gave him tasks? Did he participate in the assessment of tasks, did he have to explain to customers or contractors what and why should be done, or vice versa, what should not be done?
The ability to convey your thoughts
Here it is important to understand how the candidate can convey his ideas to the interlocutor, whether he works with feedback, whether he is convinced that his interlocutor understood the idea as closely as possible. For example, an employee has a task to solve which he needs to assign a task to another developer. He describes it in JIRA, appoints the performer and … that’s it. Thinks the job is done. He may even try to explain it in a chat or by phone, but he forgets the key point: to make sure that the task is really understood as it stands? Or, understanding is far from the original goal.
How can you find out about this in an interview? Ask about whether the candidates assigned tasks to other developers? Were all the tasks done correctly the first time, or did you need a lot of clarifications in the process? What would he do next time? If we are talking about entry-level developers, then they, as a rule, do not set tasks, but are the final performers, however, even they must convey their thoughts to colleagues and team leaders. Can you ask them about what they did if the tasks were not clear? Have the requirements been successfully clarified?
Ability to get things done
Many at the beginning of their professional career quite often change jobs, projects, periodically declaring that they have reached their ceiling and they have nowhere else to develop. At the same time, the projects they were working on at the time of their departure may be far from complete, and they themselves, as part of their work in the company, have already changed more than one project, because they were bored with them.
I don’t see it as a problem, it’s normal when we’re young and full of energy. There is so much energy that we cannot concentrate on one task for a long time, having launched the first prototype, we are already in a hurry to declare that the work is done and quickly switch to the next one.
However, as a rule, when searching, companies need programmers of “middle” and higher levels, which means that I expect people to be able to solve problems on their own and certainly not leave them halfway.
How to find out about this in an interview? Ask questions related to any completed tasks. Find out if a person has their own pet projects? Perhaps he developed some kind of internal project in the company where he worked? Maybe a friends project where he helped with some part? This does not have to be development, because here you are not interested in the qualities of a programmer, but in purposefulness.
Involvement, interest
When recruiting people to a team, we always aim to make this team stronger and more efficient in the long term. Of course, technical competencies play a key role, but let’s just assume that they are absolutely suitable for us and leave this issue outside the scope of this article. So, how can you strengthen the team by hiring a new person? This may be the strongest technical specialist, maybe he has excellent analytical skills, maybe he studies everything related to his area of expertise and tries to bring new things to work, or maybe all at once and something else from above. One thing is clear, he is interested in his work and he is trying to make it even better by developing from one side or another. If so, feel free to hire!
How to know about it? Ask about what the candidate has learned during the six months/year; why did he study it? How does he find out about the latest in his field? Ask him what he changed in the work of his previous company, within his job or department?
Questions
These are just examples of questions, you can adjust them to suit your team.
Teamwork
- What was your role on the team?
- Have you ever had to explain why a task would take longer?
- Have you assigned tasks to other people in the company?
The ability to convey your thoughts
- Were there moments that you did not like? How did you try to solve them?
Ability to get things done
- Do you have open projects on GitHub/Gitlab? What problems do they solve?
- What products have you created or would like to create? It can be anything: an application, a book, a blog, music, etc.
Involvement, interest
- What recent have you studied or read?
- How do you find out about new technologies?
How to use it
Well, you have two options:
- You can evaluate your current employees on these points - I mean those who you hired in the past.
- If you are actively hiring employees, you can try evaluating them using this technique.