📜 ⬆️ ⬇️

Top 7 ways to quickly test the competence of IT-specialists before the interview

Hiring IT professionals is not an easy task. Firstly, there is a shortage of experienced personnel on the market now, they understand this. Candidates are often not ready to spend a lot of time on the employer's “qualifying events” if they are not previously interested. Previously, the popular practice of “giving test for 8+ hours” is no longer working. For the initial assessment of knowledge and the screening of candidates before a full-scale technical interview, it is necessary to use other, faster methods. Secondly, for a qualitative assessment of knowledge and skills, it is necessary to possess such skills yourself or to attract a colleague with such skills. These difficulties can be solved with the help of the methods that I will discuss in this article. I myself apply these methods and make up a sort of rating for myself.

So, my top 7 ways to quickly test the competence of IT-specialists before the interview:

7. Examine the portfolio, code samples, open candidate repositories.
')
6. Short test task for a while (performed in 30-60 minutes).

5. Short express interview about phone / skype skills (as a questionnaire, online and voice only).

4. Live-Doing (Coding) - we solve a simple real-time puzzle with a shared screen.

3. Questionnaires with open questions about experience.

2. Short tests with options, limited in time to pass.

1. Multi-stage test task, the first stage is carried out before the interview.

Next, I consider in detail these methods, their strengths and weaknesses, and the situations in which I use one or another method of quickly checking the competencies of programmers.

image

In a previous article about the funnel of hiring habr.com/ru/post/447826 I conducted a survey among readers about ways to quickly test the skills of IT specialists. In this article, I talk about the methods that I personally like, why I like them and how I apply them. I start from the first place and finish seventh.

1. Multistage test task, the first stage is performed before the interview


I think this is the best way to test developer competencies. In contrast to the traditional test task, when you say “hold the task and go do it”, in my version the process of performing the test task is divided into stages - discussion and understanding of the task, designing a solution and estimating the required resources, several stages of implementing the solution acceptance of the decision. This approach is closer to the normal modern software development technology than just “take it and do it”. Details below.

When do I use this method?


For my projects, I usually hire remote employees who develop a separate, separate and relatively independent part of the project. This reduces the need for communication between employees, often to zero. Employees do not communicate with each other, but with the project manager. Therefore, it is important for me to immediately assess a person’s ability to quickly understand the task, ask clarifying questions, independently develop an action plan to solve the problem, evaluate the necessary resources and time. A multistage test task helps me in this.

How to implement


We select and formulate an independent and original task related to the project on which the developer has to work. I usually describe as a task a simplified prototype of the main task or future product, for the implementation of which the developer will have to face the main problems and technologies of the project.

The first stage of the test is acquaintance with the task, clarification of the incomprehensible, design of the solution, planning steps to solve the problem and estimating the time to perform individual steps and the entire test task. At the exit, I expect a 1-2 page document, where the developer’s action plan and time estimate are written. I also ask the candidates to indicate which of the stages they would like to implement fully in order to prove their skills in practice. Programming does not need anything yet.

This task (the same) is distributed to several candidates. It is expected that the answers from the candidates will come the next day. Then, after 2-3 days, when all the answers are received, we analyze what the candidates sent us and what clarifying questions they asked before proceeding with the task. Based on this information, you can invite to the next stage any number of candidates you need.

The next step is a short interview. We already have something to talk about. The candidate already has some idea of ​​the subject area of ​​the project on which he is to work. The main task of this interview is to answer the technical questions of the candidate and motivate him to perform the main test task - programming the part of the task he chose. Or the part whose implementation you want to see.

It is always very interesting to see what part of the task the developer wants to implement. Some prefer to roll out the project structure, decompose the solution into modules and classes, that is, they move from top to bottom. Some - allocate a separate subtask, the most important in their opinion, without prescribing the decision as a whole. That is, they go from the bottom up - from the most difficult subtask to the whole solution.

Benefits


We can see the candidate's erudition, the applicability of his knowledge to our project, the development of communication skills. It is also easy for us to compare candidates with each other. Usually I discard those candidates who gave too optimistic and too pessimistic estimates of the time to complete the task. Of course, I have my own estimate of time. The small assessment of the candidate most likely indicates that the person did not properly understand the task and performed this test superficially. Too much time evaluation usually indicates that the candidate has a poor understanding of the subject area, does not have experience in the topics I need. I do not reject candidates immediately on the basis of their assessment, but I ask you to motivate your assessment if the assessment was not already sufficiently motivated.

To some, this method may seem complicated and costly. My assessment of the complexity of applying this method is the following: it takes 30-60 minutes to describe a test task and then 15-20 minutes to check the answer of each candidate. For candidates, the implementation of such a test task usually takes no more than 1-2 hours, while they are immersed with the essence of the tasks that they will have to solve in the future. Already at this stage the candidate may become uninteresting, and he refuses to communicate with you, spending a little time.

disadvantages


First, you need to come up with an original, isolated and capacious test task, this is not always possible. Secondly, not all candidates immediately realize that at the first stage it is not required to program. Some start programming immediately and disappear for a few days, then they send a fully completed test task. Formally, they did not cope with this test task, because they did not do what was required of them. But at the same time, they coped if they sent an adequate solution to the entire test task. To exclude such incidents, I usually ring up all the candidates who have received the assignment, 2 days after the assignment is issued, and find out how they are doing.

2. Time-limited short tests with answers


I rarely use this method, although I really like it, and I consider it one of the best ways to quickly check competencies. I will write about this method a separate article in the near future. Such tests are widely used in various fields of knowledge. The most vivid and typical example is a theoretical exam for obtaining a driver's license. In Russia, this exam contains 20 questions that need to be answered in 20 minutes. One mistake is allowed. In case of two errors, it is necessary to correctly answer 10 additional questions. This method is perfectly automated.

Unfortunately, I have not seen good implementations of such tests for programmers. If you know good ready-made implementations of such tests for programmers, please write in the comments.

How to implement


I worked with independent implementations of such tests by employers when fulfilling orders as an outsource recruiter. To implement such a test is quite possible. For example, using Google Forms. The main problem is in compiling questions and answer choices. Usually employers' imaginations are enough for 10 questions. Unfortunately, in Google Forms it is impossible to implement a rotation of questions from the pool and a time limit. If you know a good online tool for creating your own tests, where you can limit the time for passing the test and organize the selection of different questions for different candidates, please write about such services in the comments.

When do I use this method?


Now I use this method at the request of employers, if they have ready-made tests that can be given to candidates. It is also possible to combine such tests with the fourth method from my rating - we ask the candidate to share his screen and pass the test. In this case, you can discuss with him questions and answers.

Benefits


With good implementation, this method is autonomous. A candidate can choose a convenient time for him to pass the test and you do not need to spend a lot of your time.

disadvantages


High-quality implementation of this method is quite expensive and it is not very convenient for a small company, occasionally hiring new employees.

3. Questionnaires with open questions about experience


This is a set of open questions that offer the candidate to reason based on their experience. However, we do not offer answers. Open questions are those that cannot be answered simply and in monosyllables. For example, remember the most difficult task that you solved using the framework of such and such? What was the main difficulty for you? Such questions cannot be answered in monosyllables. More precisely, the only simple answer - I have no such experience, did not work with this tool.

How to implement


Easily implemented using Google Forms. The main thing is to come up with questions. I use several standard designs.
Tell us about the last project that you did with the help of , what was the most difficult for you in this project?

What are the main advantages of technology XXX for you, give examples from your experience?
Choosing technology XXX, what other alternatives did you consider and why did you choose XXX?

In what situations would you prefer AAA technology rather than BBB?
Tell us about the most difficult task that you solved with the help of XXX, what was the main difficulty?
Accordingly, these constructions can be applied to many technologies from your working stack. It is not easy to answer such questions with standard phrases from the network, as they are personal and about personal experience. Answering these questions, the candidate usually keeps in mind the idea that during the interview any of his answers can be developed in the form of additional questions. Therefore, if there is no experience, the candidates often withdraw themselves, realizing that further conversation may be meaningless.

When do I use this method?


When working with orders for the selection of specialists, if the customer has not proposed his own method of initial verification of competencies, I use this method. I already have prepared questionnaires on a number of topics and it does not cost me to apply this method to a new customer.

Benefits


Easy to implement using Google Forms. Moreover, a new survey can be made on the basis of the previous one, replacing the names of technologies and tools with others. For example, a survey about experience with React will differ little from a survey about experience with Angular.

Compiling such a questionnaire takes 15–20 minutes, and candidates usually spend 15–30 minutes on responses. The time spent is small, but we get information about the personal experience of the candidate, from which we can push off and make each interview with the candidates unique and more interesting. Usually, the duration of the interview after such a questionnaire is less, since it is not necessary to ask simple questions of the same type.

disadvantages


In order to distinguish the candidate’s own response from the “googled one”, one needs to understand the subject matter. But it quickly comes with experience. After viewing 10-20 answers, you will learn to distinguish your own original answers from candidates found on the network.

4. Live-Doing (Coding) - we solve a simple real-time puzzle with a shared screen


The essence of this method is to ask the candidate to solve a simple task and observe the process. The candidate can use anything, there is no ban on finding information on the network. A candidate may be under stress from being watched. Not all candidates agree to this option of assessing their skills. But, on the other hand, this method allows you to see what kind of knowledge a person has in his head, what he can use even in a stressful situation and for what information he will go to a search engine. Almost immediately noticeable level of the candidate. Beginners use the most basic, even primitive features of the language, often begin to implement the functionality of the basic libraries manually. More experienced candidates are well-versed in base classes, methods, and functions and can quickly solve a simple task — 2-3 times faster than beginners, using the familiar functionality of the core library of the language. Even more experienced candidates usually start with arguments about different approaches to solving a problem and tell several solutions, ask - what version of the options I want to see. All that makes the candidate can be discussed. Even on the basis of the same task, the interviews are very different, as are the decisions of the candidates.

As a variation of this method, you can ask a candidate to undergo some kind of test to check their professional competencies, justifying the choice of one or another of the answers. Unlike conventional testing, you will find out how reasonable the choice of answers was. You can think up the versions of this way taking into account features of your vacancy.

How to implement


This method is easily implemented using Skype or another similar video communication system that allows you to display the screen. Tasks can be created independently or use sites like Code Wars, a variety of ready-made tests.

When do I use this method?


When I select programmers and from the summary it’s not at all clear what level of knowledge a candidate has, I offer candidates an interview in this format. In my experience - about 90% of developers do not mind. They are pleased that communication about programming begins from the very first interview, and not stupid questions like “who do you see yourself in 5 years”.

Benefits


Despite the stress and excitement of the candidate, the general level of the candidate’s skills is immediately and clearly visible. Communicative skills of the candidate are also clearly visible - as he reasons, as he explains and motivates his decision. If you need to discuss the candidate with your colleagues, it is easy to make a video from your screen and then show the interview to other people.

disadvantages


Communication may be interrupted. Because of the excitement, the candidate may start to blunt. In this situation, you can stop and give him time to reflect on the task alone, call back in 10 minutes and continue. If the candidate behaves strangely after that, then it’s worth trying a different way of assessing skills.

5. Short express interview about phone / skype skills


This is just a voice conversation on the phone, skype or other voice communication system. At the same time, we can evaluate the candidate’s communicative skills, his erudition and horizons. As a conversation plan, you can use the questionnaire. As an option, you can discuss with the candidate his answers to your questionnaire in more detail.

How to implement


We agree with the candidate about the conversation and call. Ask questions, fix the answers.

When do I use this method?


I usually use this method together with the questionnaire, when the candidate’s answers seemed original or not convincing enough. I talk with the candidate around the questions from the questionnaire and find out his opinion in more detail. I consider such a conversation mandatory when the candidate’s communicative skills are important, the ability to simply and intelligibly formulate their thoughts.

Benefits


Without a voice conversation on professional topics, it is usually impossible to determine how well a candidate knows how to express her thoughts.

disadvantages


The main disadvantage is the extra time. Therefore, I use this method in addition to others, if necessary. In addition, there are candidates who speak excellent professional topics, but in practice they know little. If you need a programmer who will consistently and efficiently solve problems, it is better to choose another method of initial verification of competencies. If you need a manager or an analyst, that is, an expert who translates from the human language to the “programmer” language and vice versa, then this method of testing competencies will be very useful.

6. Short test task for a while (performed in 30-60 minutes)


For a number of professions, it is important that a specialist be able to quickly find a solution to a problem. As a rule, simple tasks are solved, but the time for solving the problem is important.

How to implement


We agree with the candidate on the time of the test. At the appointed time we send the candidate the conditions of the problem and find out whether he understood what was required of him. We notice the time spent by the candidate to solve the problem. Analyze the solution and time.

When do I use this method?


In my practice, this method was used to test the competencies of technical support specialists, SQL programmers and testers (QA). Tasks were like “find problem areas and figure out how to fix the problem”, “optimize the SQL query so that it works 3 times faster,” and so on. Of course, you can come up with your own tasks. For novice developers, this method can also be applied.

Benefits


We spend our time only on the preparation and verification of tasks. The candidate can choose the most convenient time for him to complete the task.

disadvantages


The main disadvantage is that solutions of your tasks or similar ones can be placed on the network, so you need to have a number of options and periodically come up with new tasks. If I need to test the reaction speed and horizons, I personally choose tests for a while (method number 2).

7. Examine the portfolio, sample code, open candidate repositories


This is perhaps the most understandable way to test competencies, provided that your candidates have a portfolio and you have specialists in the selection team who can evaluate a portfolio.

How to implement


We study the resume of candidates. If we find links to a portfolio, then we study. If there is no indication of the portfolio in the resume, then we request the portfolio from the candidate.

When do I use this method?


In my practice, this method was used very rarely. Often in the portfolio of candidates you can find work on the desired topic. Experienced candidates often prefer this method instead of a typical and uninteresting test task. They say - “look at my rap, there are dozens of examples of my solutions to different problems, you will see how I write code”.

Benefits


Saved time candidates. If you have time, the professionals in your team can quickly and without communication with candidates weed out the inappropriate ones. While the recruiter is looking for candidates, his colleague is evaluating the portfolio. It turns out quite fast and parallel work.

disadvantages


Apply this method is not for all IT-professions. To evaluate a portfolio you need to have advanced skills yourself. If you are not a specialist, then you will not be able to assess the portfolio qualitatively.

Colleagues, I invite you to discuss read in the comments. Tell us, what other methods of quick competency check do you use?

Source: https://habr.com/ru/post/450810/


All Articles