📜 ⬆️ ⬇️

Why we do not test. Practice conducting a technical interview

I have been in charge of software development for quite a few years. Over the years I had to conduct more than a thousand interviews and I was lucky to have more than a hundred cool programmers. Naturally, I had a certain practice of conducting technical interviews, which I am going to share. Perhaps it will be useful to someone.

Set the task
Who are we looking for? We are looking for effective fighters. It is known that the effectiveness of programmers with similar experience may differ 10 times ( F. Brooks ) or even 27 times ( R. Glass ). Immediately, I will make a reservation, efficiency is not only the number of corpses of enemies of the implemented software requirements per unit of labor costs, but also the ability to effectively interact with others. This is important because, according to my observations, 50% of project man-hours is spent on communication. We call this “synchronization of mental models”.

Therefore, the task that we set ourselves when conducting a technical interview is to try to evaluate the effectiveness of a fighter.

')
If people are hired at factories for skills and trained in the right attitude to business, then in software development, you should do the opposite. Hire for the right attitude and teach the necessary skills. You should not take people who know and know how, and then engage in washing their brains and try to motivate them to work effectively. Their knowledge and skills will cost nothing in six months or a year.
Ideally, of course, you should try to attract and knowledgeable, and able, and suitable in their life positions. But if you have to choose, then choose a life position more correctly. We are looking for those who want to develop and grow, and then, if necessary, help them to get the required technical skills. We offer not work, but opportunities.

Why do not we test
As a rule, technical tests are focused on the verification of highly specialized knowledge: data structures, algorithms, specific standards and APIs, etc. The correct / incorrect answer to the question: “i = 1; i = i ++ + ++ i; what is i? ”, - little evidence of that. Moreover, there is no right answer to this question, and God forbid to write this in a production code!
Attempts to give candidates olympiad programming tasks, or puzzles from the Math Puzzles book, I usually associate with the desire of yesterday’s not-so-successful students to assert themselves or with the desire to demonstrate the inconsistency of the candidate, then to lower the salary proposal .

Technical tests demonstrate the level of IQ and the effectiveness of the left hemisphere, the possibilities of which are confirmed, as a rule, by a diploma of higher education and all successful previous work experience.

Creativity and human efficiency in team development depend primarily on the level of his emotional intelligence ( EQ ) and the activity of the right hemisphere, which is responsible for dedication, will, empathy, intuition, ability to heuristic judgments. But, unfortunately, there are no reliable tests of the right hemisphere.

Therefore, we listen, we listen and once again we listen. And most importantly we hear!

Principles
When conducting a technical interview, we try to adhere to the following basic principles:

We usually conduct an interview with the person who will directly lead or work with the candidate. This allows you to be more objective, look at the candidate from different sides and better understand him.

Getting started
Introduce who we are. Do not forget that a job change is always a “stress”, which, according to psychologists, takes the 3rd place after the divorce of the family and the fire. We help the candidate to recover. Otherwise, we will talk with another person.

By the way, in the interview process you should not sit across the table from the candidate, since this creates a formal barrier and prevents him from relaxing. Better on the side of the candidate or near.

Asking
Why are considering job offers? What are you looking for? What can you tell about your most successful project (if a student, then the topic of the diploma or the most interesting academic subject)? What do you consider your highest professional achievement?
What did you like the least to do in your previous job?

We clarify the details, even if we know what a “conformal mapping” is, ask the candidate to explain what he had in mind in two words.

We propose an incorrect problem (which, under the given conditions, has many solutions). For example, determine the number of gas stations in Moscow ( “How to move Mount Fuji” ).

We try to doubt something obvious for the candidate and start a discussion with him.

We evaluate
Emotions and interest of the candidate in the responses. No "burning" - minus. “In full, projects are not being made.” It is unlikely that we will be able to "ignite" it. He will treat our work in the same way. The desire to "just work" is not enough. Most likely, a person is motivated to avoid failures, and not to achieve success. From this it is difficult to expect initiative, search for new opportunities and creativity.

Logical sequence, conciseness and clarity of the story. The ability to analyze a problem, carry out its decomposition into simpler components, determine the sequence of actions, synthesize and justify the proposed solution.

Personality Maturity If a candidate blames his colleagues for his failures, the entourage and the bosses are an independent person. If he doesn’t remember colleagues when telling about his achievements, he may underestimate the importance of teamwork.

Purposefulness. If the candidate does not know what he wants, he should not be taken. Most likely, we are dealing with a person who has not become a leader in his personal life. If the candidate has a clear vision of his professional goals and strategies to achieve them, and we have a project on which he can realize his goals, most likely, this is “our person”. Even if knowledge and skills is not enough.

Ability to dialogue and effective interaction. The ability to reason, ask questions, analyze the answers, find a mutually beneficial solution in conflict situations.

Answer
The interview should be two-way. You are trying to understand whether the candidate is right for you. Candidate - is the job you are offering suitable for him? If the candidate asks questions, that's good.

Questions that are usually expected. What a project in which to work: What are the goals? When started? What is the condition? How many people are constantly on the project? Experienced team? Distribution of roles? What is fluidity? How is the software development process organized? Used technologies and approaches? Automation tools? Technical support? Making decisions? Setting goals? Reporting and evaluating results? Avraly? Overtime? Motivation system?

The fact that there are questions indicates the active position and interest of the candidate in the work. The right questions indicate the experience of a specialist.

Decide
"I can offer you ...", followed by a description of the position, duties and the amount of compensation. Perhaps this will be a different position, and not the one for which the candidate initially positioned himself, if, in our opinion, in this role he will be more effective.

Or "I can offer you ...", then a list of specific missing knowledge and skills, the acquisition of which will allow the candidate to take this position in the future. Candidates are back!

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


All Articles