The perfect technical interview script





Disclaimer: This is the perfect technical interview scenario at Delivery Club Tech. The opinion of our team may not coincide with the opinion of the readers.


Hello, Habr! My name is Vasily Kozlov, I am an iOS Tech Lead at Delivery Club. I interview a lot and often. In this article, I have collected the accumulated experience and my own observations, which I want to share. In the second part of the article I will give an example of social security with comments from my side. So, let's begin.



1. Social security is different: yellow, green, red (lyrical digression)



It is believed that complex technical social welfare programs do not work. Aline Lerner, co-founder of the recruiting platform Interviewing.io, previously wrote that companies that recruit employees based on complex technical interviews "waste resources on many candidates who do not understand the game nature of interviews . " As a result, candidates who are good at passing interviews come to the finish line in such companies.



Add to that the stress of interviews, the variety and unpredictability of technical interview questions across companies. And remember your unexpected failures in those meetings. Statistics only confirm this: only about 25% of candidates are able to reveal and demonstrate their potential, and even first-class specialists fail technical interviews in 22% of cases .



This feature is to ask complex, unrelated, puzzling questions during technical interviews.questions - originated in the 1950s in the United States during the Cold War. The trend was set by the Shockley semiconductor laboratory from the valley, which did not yet bear the name of Silicon Valley, forced to recruit mad geniuses to confront the "red threat". The inability to write code in a tech interview over the phone forced interviewers to look for alternatives to quickly assess the analytical ability, intelligence, and potential of the interviewee. This is how problems about a counterfeit coin and two weighings appeared.



With the dot-com boom in the 1990s, tech recruiting increased, and Microsoft adopted the approach of yesteryear. Google followed suit for a while.



Subsequently, Google and Microsoft abandoned the popular "how to move Mount Fuji" puzzle series.“When it comes to hiring, we've found puzzles to be a waste of time. How many golf balls can you carry on a plane? How many gas stations are there in Manhattan? A complete waste of time. They don't predict anything. They serve primarily to make the interviewer feel smart , " admitted the senior vice president of HR at Google in an interview with the New York Times.



So, there is an opinion that difficult technical social securitydo not work, and I share it, so I conducted all technical interviews at Delivery Club without asking such questions. It is impossible to take and pass one without appropriate preparation for an interview. Practical training can take 1-2 months of walking. This is a normal process, with which all the colleagues I interviewed agree in one way or another.



The advent of computers allows us to solve problems that did not appear before their existence. So preparation for interviews allows you to solve problems that often arise only during interviews. This is very often the case.



The IT industry in Russia is not standardized in any way in terms of IT recruitment. Methods for assessing knowledge often take very sophisticated forms. One of the dumbest examples I can remember is a telephone interview with an HR specialist who recorded a candidate's responses to technical questions to be passed on to a technician. In this case, any dialogue is completely excluded, and it is impossible to share either an opinion or dispute the answer option. Any dialogue is also excluded when an online test with a choice of prepared answers is presented to the applicant, which is also sometimes a product of the mind of another technical specialist with his own unique experience and knowledge of the English language. In my opinion, English is so important in development that it is sometimes easier to explain in it at a social security interview .



Another example of an interview, on the one hand, quite understandable, is the desire of employers to get a psychological portrait of a job seeker, preventing a “substantive interview” with a meeting with a psychologist. The smartest employer in my practice still conducted a technical interview, and then offered to pass a lie detector test, arguing that this service is paid, and there are many candidates.



It should be admitted that these are rare cases, and the whole set of testing technical knowledge is reduced, in the end, to a test task or face-to-face meeting. How can you make these simple tools effective in finding the right techie? To begin with, as in any technical task, you should decide on the requirements for the candidate ... and for the social security .



2. Ideal format, ideal candidate (formulating requirements)



“After each interview, you should have a clear sense of whether this person can increase the likelihood of your company's success ,” says Neil Roseman in Anatomy of a Perfect Tech Interview from a Former Amazon Vice President. Let these words sound pompous for someone, especially from the vice president, albeit a former one, but it's true. Ultimately, it is you or your colleague who will have to work with this candidate if he successfully passes the social security interview .



A technical problem can be solved by refreshing the materiel, and working out a mutually beneficial solution for each stakeholder is a task that requires the candidate to understand a common goal, cognitive and communication skills. They won't write about this in books, or rather - they will, but without their own experience it doesn't work. Therefore, soft skills, or personal qualities, become an integral part of a technical interview, along with the candidate's professional knowledge (hard skills).



Teamwork has shown itself to be excellent in times of crisis, when new challenges and uncertainties prepare many questions. In such an environment, the ability to engage in dialogue, hypothesize, and ask becomes fundamental to an effective employee. The idea to combine in one interview acquaintance with software and hardwarecandidate, to arrange a miniature working day, seemed very attractive, but seemingly unattainable. Not everyone and by no means always have so much time, have the legal ability to invite a candidate to plunge into the boiling waters of developing their product.



A long-standing approach pioneered at Harvard Business School in 1924 - the situational interview , or case interview - came to the rescue . It can be conditionally divided into three large parts:



  • values ​​and views of the candidate, soft skills;
  • professional skills and abilities, hard skills;
  • behavioral patterns and individual personality traits.


The question of how to combine situational interviews with known approaches to assessing technical knowledge remained open. It is important to offer the candidate a structured, transparent social security plan and fit it into the tight schedule of a modern developer.



According to statistics from Zety, a resume-writing consultancy, the most common approach in 2017 was iterative, with multiple rounds of interviews. The most popular version contained three interviews.



Half-hour call each other on Skype - the so-called screening - allows you to get a general idea about the candidate to make a decision about the desire to communicate more, both on the first date. What if not an effective demonstrationsoft skills , is there an agreement on the next meeting? It is very important that it was just a video call, and not guessing from a photo. The questions that will be asked at the screening should also be aimed at forming a picture of the candidate's values: an idea of ​​the roles in the team, the effectiveness of interaction, their role, effectiveness and competence. It will not be superfluous to personally ask a question about the motives for changing jobs and find intersections by running through the candidate 's personal technical radar , like your favorite TV series.



Of course, the epidemiological situation in the world has made its own adjustments, and Zoom ousted Skype, but screening was and remains our permanent first stage.



I will run ahead, leaving the most delicious for later, and I will mention the third stage - the final, which not everyone is destined to reach. It's like meeting your parents, if you continue the dating analogy. This is also a kind of screening, but with a department head or technical director. At this stage, it is important to convey to the candidate the values ​​of the company, the project development strategy. Check it out again, counter-questions about plans and values ​​if you have doubts about the candidate.



Let's leave the details of this process at the mercy of the managers themselves, let's move on to the technical interview - the main stage in the developer interview.



“A great interview is a job. It takes time to get ready, interview, and then summarize effectively. If you don’t want to do this job, don’t interview. "- continuing to quote Neil Roseman, it is worth agreeing that this is really a job, and, regardless of which format you choose, you will have to conduct a dialogue with the candidate. In addition to those who actually trained in hiring - HRs - the technical interviewer should also improve their hiring skills .



3. On a poor eychary say a word (about the importance of a good HR-specialist)



In the article, I argue from an advantageous position: a large company, a well-known brand - many specialists, even without specifying technical details, will agree to work here. But in any company, the work of an HR specialist should not be underestimated. It is a kind of filter at the entrance to the company. “The people you hire will be as good as the hiring team you put together ,” confirms Roseman.



People are the main asset of any company. A good recruiter, even in the absence of a brand, in an unknown startup can provide specialists with an acceptable level of knowledge, and do even more: find like-minded people - those who will care about the product.



“A large company, a well-known brand can also complicate the work of an HR specialist by being heard by everyone. Good knowledge of the project, development processes and team allows the recruiter to decide at the first stage whether a candidate is suitable for the vacancy. As a result, up to 60% of candidates reach a technical interview , ”says the head of recruiting at Mail.ru Group. However, the volumes are such that 60% is not 6 people.



Potentially every specialist can know one more specialist, and this is plus one source of candidates for a good recruiter. The presence of a referral program simplifies the first contact, making it more friendly and easier due to the acquaintance of the candidate and the referee, but then everything still depends on the professional skills of the candidate.



A good recruiter should always have a few aces up his sleeve, if suddenly the market does not find a suitable candidate for an active job search. To do this, recruiters regularly search for "cold" candidates. “As a rule, we suggest people just get to know us in a neutral way, without interviews. Not everyone agrees to go through a technical interview after that, and that's okay. We build long-term relationships in the hope that if not now, then in a year or two we will still be able to work together . "



Hiring is a complex process, in which the recruiter can be significantly helped by the team where the candidate will work, so it is necessary to develop the employer's brand. We need an entourage! Cool article on Habré, participation in specialized conferences increases the chances of hiring professionals. A well-thought-out hiring system - where people come to us from, how and by what criteria we evaluate them, how we make the final decision - will also help the recruiter navigate the market in order to determine the company's needs as accurately as possible.



"The main rule is to stay human and remember about partnering with each candidate . "







4. How to play on the candidate's field without forgetting about yourself (requirements for interviewers)



Very different technicians from different companies come to us. In product companies, more attention is paid to user interfaces, simple and fast implementations, and in software giants, complex technical solutions, native code, deep diving into the bowels of operating systems prevail over the external component and reaction to changing conditions. Likewise, candidates, depending on which company they worked for, can specialize in certain technologies, even if each of them applies for one conditional iOS developer vacancy. Does this mean that a specialist who is immersed in, for example, implementing parental controls on an iPhone will never be able to run acrosson the side of grocery displays, orders and displaying locations on the map? How do you evaluate an applicant if, in his story about his past experience, he mentions approaches that do not resonate in your memory?



The variety of technologies, architectural techniques and frameworks complicates the search for candidates, but it is possible and necessary to speak a common language with the candidates. A specialist with a head on his shoulders will be able to adapt to new practices for him and even bring original solutions to established approaches. Removing the constraint when searching for candidates, say, for architectural patterns or programming languages ​​- within the framework of one technological platform, of course - will require the interviewer to have knowledge in the relevant subject areas. Where to get such knowledge? The experience of conducting interviews will tell the interviewer in which direction to improve knowledge, what technologies and approaches are common on the market now, and how they differ from those adopted in the company. You don't have to be an expert by force.It is enough to present in general terms the subject area and conduct a dialogue with the candidate, allowing him to explain the subtleties of implementation himself. This approach will allow you to avoid the excessive costs of preparing for a specificsocial security , and the candidate - to demonstrate their flexible skills, expressed in the ability to explain their point of view to another specialist.



This does not mean that you do not need to prepare for the interview. Balance is important here. Invite the candidate to choose and explain the problem and its solution using his favorite technology. Ask to solve a typical problem from your subject area, but using its tools. One way or another, you can work together on the problem, getting to know both the candidate's point of view and the technology he is used to. Typical tasks that are suitable for such a case interview are usually well illustrated by designing the architecture of a service, module or screen. The candidate abstracts from the specific implementation, and you don't need to dive into the technical specifics. So open up draw.io or any other site for designing flowcharts and diagrams, and go! This format is great for Zoom.



Separately, it should be said that candidates who are able to explain any decision, as a rule, are mature specialists, which is already a definite sign in assessing their abilities. This approach will most likely not work with the Juns and can turn out to be an awkward situation for both parties. Therefore, the interviewer should always be able to propose tasks of varying complexity, or, which is more versatile and elegant, to start with a simple scenario, gradually complicating it with new introductions.



“Use questions that are vague and open to discussion. See if candidates ask counter-questions to find out more , ”advises Roseman, suggesting setting up a dialogue with the candidate and having room for maneuver if something goes wrong.



Asking technical questions, like conducting a technical interview, the interviewer needs to be structured. Neil Roseman cautions, "If you interviewed and all you can say is, 'Well, yeah, he seems okay, I liked it,' then you wasted your time . " A structured approach should become a routine in preparing and conducting social interviews.



5. Scenario for the perfect technical interview



Of course, here I will not present a universal, ideal plan for a technical social security interview. This process is unique for each company and each interviewer. But I would like to propose a few ideas tested in real-life recruitment practice at Delivery Club, the use of which has strengthened our team in a known way.



Remember the humanitarian component. Help the interlocutor to relax, consider the stressful situation in which the candidate usually finds himself. The most pertinent example of this is one of those conversations that happen in a company's kitchen among IT people after some recent technology announcement or presentation. We can mention the latest innovations in the technical world or some well-known pain of developers.



Plan your technical interview. If the interviewer has a plan with predetermined questions of varying complexity, as well as assessments of the level of knowledge on each topic, it will make it possible to correctly sum up the results after the interview. It is always easier to compare a detailed result with other results and explain your decision on a candidate in a reasoned manner.



Further application of such assessments, in case of a positive decision on the candidate, can be expressed in the development of the employee competency matrix. Thus, a high-quality technical interview will be the key to the further development of a specialist in your team.



Make the technical interview a dialogue between two experts. Start your dialogue by briefly listing the topics you intend to cover.



Try to use tasks in interviews that are as close to work as possible. If you are asking an academic question and the candidate starts to swim, try to outline a practice problem that includes the answer to that question. An option for experienced interviewers is to send your questions to the candidate in advance , and during the interview, based on the fact that you and the candidate have the same knowledge, to communicate and discuss more practical and complex cases.



Invite a candidate to complete a code reviewinstead of forcing him to write new code. Code review practice is great for the technical part of a situational interview. Prepare in advance suboptimal or error-prone code. And if the listing does not contain classified information, then it is better to show the pull request for which the colleagues have left the most comments. Doing so will reimagine the code-on-a-piece approach: many candidates have difficulty writing code outside of their preferred development environment or with an outside observer. A code review at a social security interview will allow you to make sure of your reading and understanding skills, assess the ability of team interaction by the tone and content of the candidate's comments.



Conclude the technical interview with a project presentationwith which the candidate will work. It is important not only to listen to the candidate, but also to answer his questions. It is not always possible to answer in as much detail as possible, but it is necessary that the candidate understands what he has to work with, at least in general terms.



In my practice, the presentation on the development of the project, which was originally prepared for a technical conference, did an excellent job with this task, but it was able to reflect both the legacy of the project and innovative approaches. Thanks to such a unique business card, your project and team will grow significantly in the eyes of the candidate.



Conduct the interview from start to finish. “Even if you realize 15 minutes after the interview starts that the candidate will not be suitable, it is important to go through all these stages ,” says Neil Roseman."You should try to do an almost complete interview, because the world is very small, and it is better for the person to think they just had a great interview, even if they did not receive a job offer . "



Finding the right employee is a lot of work, and it can be made easier if both parties are satisfied and enjoy the process. You will grow and develop with each new social security service , with each new candidate, and in the end you will definitely find the perfect one.



The script for the perfect technical interview. Drama in five acts



Next, I'll playfully describe the outline of one imaginary technical interview based on various real-life interviews. After each part, I will give small comments on what conclusions the interviewer can draw and how to continue the interview.



Characters:



  • Oleg is a young, promising iOS developer
  • Vasily - the wise leader of the iOS team


Action one







, . , , , , “1.5” , , . , Objective-C.



, , , , .



, , Objective-C, , .










, . , , , .



, , .










, . , , , , , , , , .









, . , , , , , .



.










The architecture design process for a system is always creative. It is accompanied by dialogue, constant edits. It is unique and valuable in itself, because it unambiguously makes it clear whether the author understands what he is explaining, and at the same time knows how to explain.



But the result of this process can tell you something about the candidate. If Oleg had designed the architecture, as shown in one of the illustrations, Vasily would have had completely different ideas about the candidate's skills.








What Oleg drew as a result, we will omit, and let the reader, based on the illustrations, dream up for himself whether Oleg understands the chosen architecture.







That's all. Thanks for reading!



All Articles