I have been to many bad interviews, both as a candidate and as a facilitator, and as an observer. As a result, a very subjective set of notes was formulated about how it is worthwhile and how not to conduct a developer interview.
Interview is an exam
The leader is a strict teacher, and the candidate is a student. Classic setting. It usually goes like this. They asked where you were from, that you were, and then the technical interview went.
It starts with simple questions on the buildup, like these:
“How to write the accumulated amount in pure sql? Using analytic functions? ”
“What is the difference between a hash container and a tree-based container? Why it is impossible to manage only one? Can tree_map work faster than hash_map? In which cases?"
')
Question. Next question. The examiner is always right and strict. Is the student candidate worried, sweating? Well, that's what he needs. The examiner frowns: “Well, here, here it was necessary, everything is simple.” So, let's all go on. And so two hours.
The interviewer focuses on asking relatively complex and specific questions. Questions and answers are important to him. What kind of person answers them and how he joins the team care less. The teacher of the rules of the game is always right, always smarter and more experienced. Therefore, there is often a fear of being stupid. What provokes asking questions smarter and more interesting. And the richer the experience and knowledge in the resume, the more elaborate and more difficult the questions will be. The decision is made according to the principle “who better answered, that we take”.
The candidate focuses on answering difficult technical questions. And often he sees nothing but questions. When he goes to the interview prepares for them, trying to learn in advance. It turns out from the interview, scrolls, what did he answer, did he answer correctly, and “what grade did I get”? Often it floats and stresses, because the behavior model familiar from the school and the university works: “on the exam”. Asks about the place of work a little, a little and messy. He does not try to find out, especially if he answered poorly whether the working conditions are suitable for him. The main thing is to pass the exam, and then we'll figure it out.
In this kind of caricature interviews are rarely held. But the shadow of the exam often hovers. The interview should answer the question “Are we suitable for each other?” And the exam setting prevents this.
Thanks to this remarkable approach, we have a unique opportunity to work with very clever assholes, professional rogues of a guard, we are lucky to get a mentor who perfectly answered all technical questions and completed all the test tasks of a land dealer and amateur conspiracy theories. And they are spared working with many good people who would do their job well. But they didn’t have the same specific experience as the interviewee, or the person wasn’t as well prepared as it should have been.
Actually, the interview is a date. And for one hour appointment, you must decide whether you are ready to live together in grief and joy, if not the rest of your life, then at least a year.
The purpose of the exam is to evaluate knowledge as objectively as possible. The purpose of the interview is to find out if you are suited to each other. Knowledge is only one of the variables that are worth looking at. It is necessary to look for a person suitable for a specific leader, in a specific role for a specific project, in a specific team.
While you interview the candidate, he will interview you
Interview is a mutual, mutual process. The candidate sells his skills, the company sells his place of work. And the same applies to the trial period. The trial period is for both the candidate and the company.
But when you sell a company and a job, you shouldn't overdo it. Selling is one thing, lying is quite another.
Why talk about bigdatu, interesting cool tasks and freedom of creativity, if when a person goes to work, all this will not happen? The main thing to lure, and then at least the flood? It turns out solid minuses for the company. A person will work for several weeks or even a month, he will understand that everything is not so and will go away. This is a direct loss in hiring, withdrawal and employee training. And then at each next interview he will tell why in the company “Horns and Hooves” he worked for only a couple of months and how these assholes have deceived him.
Happiness occurs when the company adequately assesses the candidate, and when the candidate adequately assesses the company and place of work.
The best selling is to honestly show what specific tasks you are doing, of course, with an emphasis on points of interest and importance to the candidate. To acquaint with the team, or to give the team the opportunity to study the most. To tell about real tasks, about what features are in work, both good and so bad. So a person will not have cognitive dissonance, the effect of unwarranted expectations. And his decision will be adequate.
Honesty and openness is a prerequisite for both a happy marriage and an interview. From honesty and openness, everybody wins in the end.
How many robots that switch lamps in rooms of an infinite tunnel need to exhaust a candidate, kill a lot of time and get nothing at the same time?
What will the candidate show in solving the lamp / Olympiad problem about robots? Do we find out how suitable the candidate is to perform the work that we can or want to offer him? Will we understand, for example, the candidate's ability to write services on golang? Or how suitable is a person for writing an internal intranet from scratch? Not. No, this question shows no human abilities, except one - the ability to solve lamp issues. The ability to solve Olympiad problems is not transferred to the ability to develop industrial code. Unfortunately.
There is a myth that such a task will show the mind and intellect, the ability of a person to reason. Not really. Experience shows that in such problems the one who solved such problems would be the best to argue. And the usual standard task can show itself to a reasonable person.
What does the answer to the question show “What sort of sorting in linear time do you know? Is quick sorting sustainable? What algorithms are stable? How to make unstable sustainable? ”For a person who wants to entrust 90 percent of the time to rivet forms? Algorithmic erudition and good basic knowledge - yes. Do we find out how suitable the candidate is for us? No, we will not know. In this case, it is a useless question for us. And this is a great question if we are looking for a system developer to create a high-performance server with complex algorithms.
“What is singleton? How do metaclasses work in python? And write decorator? ”. Wonderful, delightful questions. If you want to find a person who writes singltons on metaclasses and wraps them in decorators every day or at least several times a week. In all other cases, you will find out if the person has prepared for the meeting or if the person has recent, not relevant experience.
What technical skills and knowledge will reveal the question “What is the difference between select count (*), select count (1) and select count (column)”? Not so much. That person has already answered him at other interviews or a couple of times in his development life he has come across this difference.
How to understand that a person will do well with that job? Surprisingly, the best way to find out is to give him tasks as close as possible to those that he will have to solve 99% of the time, every day.
Have to program? Give the task to implement a simple algorithm. Have to write simple queries in SQL? Give a simple puzzle on left join. Have to develop a web application? Ask how at least http works. Have to make predictive models? Ask the Lyapunov center limit theorem and the maximum likelihood method (in fact, no).
Simple and clear questions are good because they show the basic knowledge and skills that are used every day. Plus, simple questions are much less likely to catch a stupor and frustration with a candidate. Stress interview - this is what you need the least in the interview developer.
How on not difficult questions to understand how good the programmer is? It's simple. A good, experienced programmer will solve a faster, clearer and better simple task.
Difficult questions and difficult interviews can sometimes be arranged, but only as an element of sale, and very, very carefully.
Lighthead is more important than the framework, and teamwork is more important than the hash table
You hired a person and suddenly it turned out that he knows your favorite framework not so well. Wrong, it happens. What is worth fixing? The developer devotes several hours a day to working with frameworks and programming. Learning a framework or another sorting method is a matter of time.
You hired a person and suddenly it turned out that the knowledge of the internal structure of the hash tables did not help him, and the person just understands meedelayeeeeeno. Wrong, it happens. Just add the brain is no longer possible.
The price of the error is different. It is necessary to pay attention to the fact that it is difficult or impossible to change within the framework of work. This is a mindset, interaction style, basic attitudes, ambitions, way of thinking. Teaching to work in a team is difficult, driving cockroaches out of one's head is difficult, fixing an asshole or a corporate psychopath is impossible, forcibly changing the motivation system is impossible, adding proactiveness anreal, introducing a new pattern of behavior is hard.
Lack of knowledge and experience is a matter of time. Therefore, proactivity, intelligence, overall adequacy and good basic knowledge barbar hard skills in the long run.
But, unfortunately, most often soft skills at interviews are underestimated, and the technical part is overestimated.
Communicate and represent the company should be the one who makes the decision
HR-s, no matter how good they are, do not understand the specifics of the work, and therefore will not be able to sell the company properly to the developer. Most are not even able to competently tell about the company, so as to create a pleasant impression.
It is desirable that HRs do not take part in the negotiation process in the case of counter-referees or doubts of the candidate. Most often, they will not be able to find the right words, the right arguments and give the team and company in the right light. Because they do not have the whole context - they know less well how things are going on the team, they understand the motivation of a particular person worse than compared to a person who works directly in a team and who has already communicated for at least an hour. If possible, it is desirable to take this part of the interview in the hands of the interviewee. Only he can do it best.
In the eyes of the candidate, the words of the person who interviewed him, who is the same as he is the developer, the engineer, who can speak the same language, who actually knows what they have to do, and not a 25-year-old girl, will have more weight which like a parrot repeats “hayloud, blockchain, bigdata, dms, office, buns, young dynamic company” and which will say anything, just to close the vacancy.
It is advisable to exclude preliminary interviews with HRs. And then suddenly it turns out that half of the candidates are eliminated, because “piercing and tattoos, he is most likely a drug addict”, “the girl was dressed too defiantly”, “I did not see his desire to work in our company”, etc. As well as minimize the participation of HRs in the selection of resumes. But suddenly it turns out that half of the candidates are sifted out, because “I worked 5 years in one place - it’s a bell!”, “Over 40 - probably the brain is old and wants a lot of money”, “the student means nifiga does not know, don’t look will be. "
This happens because HRs cannot correctly assess the culture and specifics of working in a team in which they do not work 24 to 7. And they will add their own to the prejudice of the leader.
Communicate and represent the company should be the one who makes the decision.
There is a lie, a blatant lie, and there is a summary
The problem with the summary is that it’s not true. Those. from a formal point of view, it may be true. But there is not much to be seen in the summary - not how the intelligent works, nor how a person interacts with the team, nor what real experience is, or what a person is right now. Without seeing the full picture, the human brain draws everything else and believes in the folded image in the head. Only this image is formed on the basis of personal prejudice.
“He wrote in PHP for several years, well, bydlokoder”
“10 years on C, but now he wants to write on the reactor, seriously?”
“It works in some unknown state offices, no experience, I will not waste time”
“Oh, wow, the man worked at Rambler, Meile, and he managed to guide him. At conferences made a report. Cool man should be ”
“The Chief data scientist is not bad, he worked in Yandex, and was noted on the kagla, and the github is leading, cool, most likely it will suit us”
“Couldn't finish higher? I will not even look at them; I need people who can finish things to the end. ”
Often it turns out most of these prejudices have nothing to do with a real person. And work against us. Often, in the resume - Leo Tolstoy, and the interview turns out to be easier. Or vice versa. According to the resume is a weak candidate, but in the end you make an offer during the meeting.
Cognitive dissonance between the image in the head and the real person often plays a cruel joke. A person could be suitable, but because did not meet expectations, and therefore do not take. True, the opposite is true. A person is not so strong, but he has surpassed expectations, therefore his opinion about him is better at once, and the probability of an ofer increases. Moreover, if the resume is absolutely bad, they may not even call.
Life is much more interesting, more voluminous and unexpected than textual squeeze from xx.ru.
Do not read the resume before the interview. Yes, and on the interview, too. Any conclusions made on the basis of the summary - divide by 100, or even by 1000. If possible, filter people based on the summary as little as possible.
A good illustration of how candidates are selected by resume, though from a staged program from Ukrainian TV.
Do you work with your computer in a laptop while communicating with a candidate?
Know that you are not Caesar, you are a schmuck that behaves disrespectfully. What is the point of coming to the interview and blunt on Facebook, troll in a telegram or code? It looks not very nice and not very effective.
Why not use the maximum time to understand what a person is? When you give a task at an interview to a person or ask a question - this is a unique opportunity to watch him. How will he do real task right here and now? Will he ask questions? What kind of questions will he ask? How does he respond to criticism? How effective is communication? How does gray matter work?
But, of course, it is more interesting to talk with colleagues, comment on the hapiness in fat, revise the June. Only then do not be surprised at the quality of the typed “material”.
Never call back a candidate
Just give feedback at the end of the interview. Honest, open and immediately. Understand that man is suitable? So immediately say, “today, tomorrow, expect an offer to the post office”. Not suitable? Tell me too. Do you doubt? Tell them you are in doubt and discuss with the candidate how to resolve your doubts. Just do not need this “Our hr will contact you in a week with a decision”.
Many find it hard to refuse the seemingly decent guys personally, looking into their eyes. If you say no, you also need to explain. But it is your responsibility. Who makes the decision, he communicates. Squeeze the eggs into a fist and give honest and open feedback.
Yes, it also needs to be able to do. “You are the bottom, which does not know how to program, so let's end the network” is not the best feedback. You - the face of the company, insults and rudeness will be remembered for a long time and will affect the reputation. In general, the ability to give feedback is a necessary skill for any team leader.
People who are comfortable with soft skills usually take positive feedback in this form: “Unfortunately, we are not ready to offer you a job, because we need someone with a slightly different set of skills and abilities. If you liked us, pull it up and that, pull it up - come. ”
If suddenly on the interview met an asshole, corporate psychopath or flat land, then the feedback of such a person will be perceived poorly and traumatic. Here you need to be very neat.
If a person begins to argue that he is actually “senor” and not “jun,” then it is usually better not to get involved, but simply to say the truth: “An hour is too short to get to know a person well, his skills and abilities. It is likely that we are mistaken in your account. But such is life, we need to make a decision in this hour. And we understand that it may be a mistake, but this error will be on our conscience. ”
You should not blame a person for his inability or ignorance, that he spent our precious time. Such accusations speak only about the immaturity of the accuser. The fact that someone does not know how or does not know, does not make a person a bad, useless material or a scoundrel. Today does not know, tomorrow will learn. Just now you have nothing to offer him. And the man is not to blame. Do a person a favor, give feedback, to adequate and good people, this is important. Why not help a good man?
And yes, if you really would like to look at other options. Tell the truth: “You are ok, but we would like to see more candidates. If we don’t call by the end of the week, it means - no. If yes, then we will call and say. ”
Hour is too little
Even two or three. The interview shows no more and no less than what the person was able to answer specific questions and solve specific problems in the conditions of the interview for the allotted time. The fact that we are already trying to make long-playing conclusions on the basis of this is our problem. And to be honest, we do not draw these conclusions very well.
In the classic interview, with all the desire to bring the environment to the battle will not work. And a lot of things we do not see. There are people who fail to open up due to stress. There are professional crooks - who have a well-developed interviewing skill, but other skills are poor. I had many situations when I did not take it, then I bit my elbows. Or take, but then fired.
It is necessary to trust and own subjective feelings. Man is usually smarter than his own brain. And if intuition says it’s not worth it, it means it’s really not worth it.
An hour is too short to get to know a person well, his skills. It is likely that we are mistaken to the account of the candidate. But such is life, we need to make a decision in this hour. And we understand that it may be a mistake, but this error will be on our conscience.