The suicide squad. How we recruit the most brutal junior developers

In the previous article about the implementation of the Agile methodology in our startup, I partially addressed the issue of personnel management. In this article I will tell you how we recruit this personnel, what classification we apply, what tests and methods we check their professionalism and adequacy.



Recruiting model


As in any young company, our recruitment work began with the development of a recruiting model. The situation was as follows: we already had a team of “indigenous” employees, they were all Highkill and worked in senior positions. These people had to somehow be unloaded, that is, there was no need to get competencies from market specialists, so during the period of active state expansion, the overwhelming number of vacancies were jun positions. Before we place the vacancies on the recruiting sites, we decided to make our own internal classification according to the level of qualification and the requirements for different categories of developers.



The following classification was derived:

level 0- fullzero-developer, a person went through a couple of courses, learned the basic constructions and semantics of some language, read several articles on Habré on HYIP topics, as a result there is a maximum sticker on a laptop from a programmer.
Level 1 is a junior developer, a person who writes excellent code, is well-versed in stacks, is aware of current trends, is able to independently decompose a task and solve it.
Level 2 is a middle developer, a person has all the above-mentioned junior qualities, and is also able to express his competent opinion on the problem being solved based on the analysis of resources, and can influence the course of its implementation within the framework of his chosen toolchain.
Level 3- the senior developer, who is also the manager, is the father-father, a person who transforms and designs tasks from the business plane to the development plane, distributes these tasks across the middle and junami, controls and helps with their implementation.

To this classification were added such criteria as: knowledge of our toolchain, adequacy, work experience of about 1-2 years, and at least one successfully implemented project, the ability to clearly express thoughts, the presence of communication skills, the ability to admit mistakes and shortcomings (healthy self-criticism - This is a powerful tool). The priority in recruiting, as already mentioned above, was placed on junior developers, since our experience with midlaws showed that, as a rule, these people are already spoiled by some sort of technology stack and “unique” approaches of other companies. In addition, practice has shown that there are a large number of people on the market who are accustomed to living in a rigid vertical structure, where aldentine gets material from chewed tasks on the table, which can only be typed as a code, and the task of seniors is to beat them on the head with a stick . The only thing is that when the action takes place in a young startup, and there are only about thirty people in the team, each of whom is loaded under a full tank, then there is no time for personal decomposition for each employee, since this will be equivalent to performing this task. In such conditions, when writing code takes about ten percent of the total execution time of the task, you must include not only your fingers, but your head as well. This is what is written in the “bible” of all programmers - Stephen McConnell “The Perfect Code” aka Redbook (not to be confused with the American women's magazine). since this would be tantamount to doing this. In such conditions, when writing code takes about ten percent of the total execution time of the task, you must include not only your fingers, but your head as well. This is what is written in the “bible” of all programmers - Stephen McConnell “The Perfect Code” aka Redbook (not to be confused with the American women's magazine). since this would be tantamount to doing this. In such conditions, when writing code takes about ten percent of the total execution time of the task, you must include not only your fingers, but your head as well. This is what is written in the “bible” of all programmers - Stephen McConnell “The Perfect Code” aka Redbook (not to be confused with the American women's magazine).

И тут нас накрыло волной…




Who only didn’t bring us to us, starting from the characters who believe that they are middle because they wrote a whole Android application, which has 37 downloads on Google Play, ending with people who consider themselves super signor because they worked as leading developers in some studios, although their work, by and large, was limited to the reception and transfer of tasks from the design department to the development department, that is, they had no experience in design or development management, but there were only many ambitions and a lot of ambition . There were also those who, with seven months of programming experience, considered themselves to be signors, and demanded a salary of 240k, without solving even elementary tasks for juniors. From our point of view, these people were not even juna. The approach is simple, if a person programs straight from the heart, he is just a programmer, if a person does not program well or does not pull at all, he is not a junior, he is simply not a programmer. Here we were helped by a wonderful livehack by screening out such candidates, he called “The Plumbing Law”, which reads: “Every new plumber comes to a new job and throws mud at another plumber, saying that that hand has plumbers and that now we’ll have to do everything with zero. In practice, it works like this: a job seeker comes to a junior position, he is given some ready-made piece of code, for example, a fragment of the Linux kernel, and is asked what he thinks about this solution? If he starts to spit and say something like: “What kind of rukozhop wrote this? Here we must redo everything! Give me time, and I'll write it all over again, ”which means the plumber is in front of you, and his first task is to scold the previous plumber. he is not a junior, he is simply not a programmer. Here we were helped by a wonderful livehack by screening out such candidates, he called “The Plumbing Law”, which reads: “Every new plumber comes to a new job and throws mud at another plumber, saying that that hand has plumbers and that now we’ll have to do everything with zero. In practice, it works like this: a job seeker comes to a junior position, he is given some ready-made piece of code, for example, a fragment of the Linux kernel, and is asked what he thinks about this solution? If he starts to spit and say something like: “What kind of rukozhop wrote this? Here we must redo everything! Give me time, and I'll write it all over again, ”which means the plumber is in front of you, and his first task is to scold the previous plumber. he is not a junior, he is simply not a programmer. Here we were helped by a wonderful livehack by screening out such candidates, he called “The Plumbing Law”, which reads: “Every new plumber comes to a new job and throws mud at another plumber, saying that that hand has plumbers and that now we’ll have to do everything with zero. In practice, it works like this: a job seeker comes to a junior position, he is given some ready-made piece of code, for example, a fragment of the Linux kernel, and is asked what he thinks about this solution? If he starts to spit and say something like: “What kind of rukozhop wrote this? Here we must redo everything! Give me time, and I'll write it all over again, ”which means the plumber is in front of you, and his first task is to scold the previous plumber. Here we were helped by a wonderful livehack by screening out such candidates, he called “The Plumbing Law”, which reads: “Every new plumber comes to a new job and throws mud at another plumber, saying that that hand has plumbers and that now we’ll have to do everything with zero. In practice, it works like this: a job seeker comes to a junior position, he is given some ready-made piece of code, for example, a fragment of the Linux kernel, and is asked what he thinks about this solution? If he starts to spit and say something like: “What kind of rukozhop wrote this? Here we must redo everything! Give me time, and I'll write it all over again, ”which means the plumber is in front of you, and his first task is to scold the previous plumber. Here we were helped by a wonderful livehack by screening out such candidates, he called “The Plumbing Law”, which reads: “Every new plumber comes to a new job and throws mud at another plumber, saying that that hand has plumbers and that now we’ll have to do everything with zero. In practice, it works like this: a job seeker comes to a junior position, he is given some ready-made piece of code, for example, a fragment of the Linux kernel, and is asked what he thinks about this solution? If he starts to spit and say something like: “What kind of rukozhop wrote this? Here we must redo everything! Give me time, and I'll write it all over again, ”which means the plumber is in front of you, and his first task is to scold the previous plumber. “Every new plumber, coming to a new job, throws mud at another plumber, saying that that hand has a plunger and that now we’ll have to do everything from scratch.” In practice, it works like this: a job seeker comes to a junior position, he is given some ready-made piece of code, for example, a fragment of the Linux kernel, and is asked what he thinks about this solution? If he starts to spit and say something like: “What kind of rukozhop wrote this? Here we must redo everything! Give me time, and I'll write it all over again, ”which means the plumber is in front of you, and his first task is to scold the previous plumber. “Every new plumber, coming to a new job, throws mud at another plumber, saying that that hand has a plunger and that now we’ll have to do everything from scratch.” In practice, it works like this: a job seeker comes to a junior position, he is given some ready-made piece of code, for example, a fragment of the Linux kernel, and is asked what he thinks about this solution? If he starts to spit and say something like: “What kind of rukozhop wrote this? Here we must redo everything! Give me time, and I'll write it all over again, ”which means the plumber is in front of you, and his first task is to scold the previous plumber. and ask what he thinks about this decision? If he starts to spit and say something like: “What kind of rukozhop wrote this? Here we must redo everything! Give me time, and I'll write it all over again, ”which means the plumber is in front of you, and his first task is to scold the previous plumber. and ask what he thinks about this decision? If he starts to spit and say something like: “What kind of rukozhop wrote this? Here we must redo everything! Give me time, and I'll write it all over again, ”which means the plumber is in front of you, and his first task is to scold the previous plumber.

Michelangelo said about this: “I take a stone, cut off all unnecessary.” The great master did not write scripts, but he understood well that a competent person approaches an object of work with a desire to understand him and, if necessary, transform, but in no way destroy dust. That is, if a person answers such questions: “If the code works in production and performs its functions, this is good, in some places I think it is possible to improve this code, if necessary, I can show it.” Then the person can and should continue the dialogue .
Another technique by definition of low-skill juna is the focus on hyip and hyip stacks. If a person comes to an interview and begins to pour trendy approaches, and to the legitimate question: “Why did you make such a conclusion, and did you analyze these tools?” - wrinkled a grimace that reached the senor’s enlightenment, responds: “You can write all that if you wish, this is the future! ”, then you have, at best, a weak junior, who has no analysis of resources, stacks and other tulchains, only superficial information on the hype tools and approaches.

A little more about the interview


In addition to the above, when hiring a programmer, it is very important to obtain from him an open position on his knowledge in this or that stack. You decide on the stack, and he chooses a language in which he is “wai wai how strong”, let's say he is a highlander of JavaScript. There is a ready-made set of tasks, for example, such:

setTimeout(()=>{console.log('Hello World!')}, 1000);
while (true) { let a = false; };

If the question on this problem: “When will“ Hello World! ”?” Be displayed, he begins to stutter to respond in the style: “Well ... uh ... doom ... after executing the while true loop or after one second” - this means that he absolutely does not know the stack, lying about his skills, which, most likely, are close to zero. The fact is that the while construct will load the preprocessor, and since JS is single-threaded, the main loop will never receive the event from the timer. Those. the correct answer is never.

If a person is not ready to adequately and honestly assess their knowledge, is not able to read someone else's code, then what kind of teamwork can we talk about. If the person did not prove himself as a “plumber” and coped with the tasks, confirming his knowledge of the stack, or constructively reacted to the task, his mistakes and partial incompetence, then there is a chance that he will become your new employee, and in the future will be able to grow in side of higher levels of classification.



There are cases when a person does not agree with the internal classification of the company, and reacts negatively to the statement that he does not pull on the middle or even on the juna, and that his decision will not work. In this case, if he continues to insist, you can go on the principle, and run his decision in the environment, naturally this construction turns out to be inoperative, that is, the person zapafakatsya. Then he can begin to crush the authority of his previous work. For example, there were cases when a person after such a failure stated that he was a very valuable employee of some large bank and was very much appreciated there. Actually, it turns out that another twelve thousand people like him worked in this bank, and the HR department simply overlooked his incompetence, and after mourning for about a year, he now declares his status as a specialist. And here, where a team of about twenty programmers works, each of whom is very good at his business, he will simply lose himself unable to work according to the previous clerk scheme. Our CEO Ilya Bykonya on this occasion says this: “For me, as for the current developer and founder of the company, one authority is the person’s skill, and where he worked, and what position he had, is of secondary importance.”

Summarize




Perhaps our approach to evaluating applicants is flawed. And the fact that we “lower his rank”, saying that he is not the middle one, but June or even worse, plays a cruel joke with us. Perhaps we are losing the future Napoleons, like the Russian Empire at one time? Who knows ... But from our point of view, such a strategy is fully justified by its efficiency, and in the end, Napoleon still lost the war to the Russian Empire.

Also popular now: