Dream team from nothing: hiring IT professionals


    As promised, I continue to publish publications on IT management. In a previous article, I talked about what it means to be Team Leader. But what team lead without a team? Today it’s about how you can recruit cool people without having big resources, and when no one knows about you.


    A small remark: all companies are different (I wrote about this in the first part). I will talk about the case when you and the head of the department, and Team Leader in one person. And they themselves must recruit a team. That is, these are the most difficult conditions. When your company has a personnel department, everything is much simpler, but about this I will also insert my 5 cents.

    How people are hired

    They do not appear from the air, so everything is pretty standard here:

    • search for specialists in the labor market;
    • recommendations. In Europe and America, this is not very common, but here we have a common practice;
    • dragging people you know well from your past job. This option is very good, but with one condition: you choose employees based on professionalism. Otherwise, it does not work.

    How companies hire people:

    • large and well-known company in the field of IT. Working there is the dream of many programmers. In this case, it is not difficult to attract them;
    • a large company where IT is not the main activity. Now there are a lot of such people; engineers are hired to automate their work. These companies have all the resources for HR: managers are actively PR their cool IT-departments, attract specialists in every way. Gradually, this information is scattered in professional circles, and when a person receives an offer from such a company, he agrees;
    • startup with investments. As a rule, there are enough resources to hire a good recruitment agency. You can offer good conditions, a class A office in the center, various bonuses, etc. There should be no big problems with personnel;
    • small companies that live on what they have earned (most of these companies). Most likely they don’t have the money to immediately attract qualified engineers. At the same time, the office is located in a place where rent is cheaper.

    And we will consider the most “funny” case - the last one, in one of the projects I came across exactly such conditions. I was allocated a budget, of course, below the market. The place of work (the language cannot be called an office) was over the repair area of ​​cars; the street periodically smelled of diesel fuel. And all this was 10 minutes by bus from the subway. But at the same time, the task was to make a rather complicated online service from scratch. On the face of many applicants who came for an interview, genuine surprise was read.

    How to live with it

    First thoughts: “We need to look for a new job, it's impossible to do something here.” But practice has shown that everything is quite real. There's a cool MoneyBall movie about the top manager who ran the baseball team. There are very good words there at the beginning when the main character tries to solve the problem of recruiting players to the team in the absence of money for them. To paraphrase, they can be applied to our situation: “If you try to hire employees by the same methods as other companies, then you will not hire anyone. Need to change the approach. "


    The most important principles:

    • you need at least some management experience, and it should not be the first. If you were offered such a position, and you have not done this before, the probability of failure is high. I understand that there is a temptation for rapid development and career growth, but the point is that the experience be successful;
    • You must clearly understand who and why you should hire, and at what time. If you write a service, and there are 4 months for it, then it makes no sense to immediately hire a tester and admin. At the beginning of development, the client part is not yet there, that is, there is nothing to test. And server tuning is usually needed closer to release. Take a piece of paper and on the left side make a list of employees and their responsibilities, and on the right - the functionality that you need to implement. If there is no work for someone, then boldly cross out;
    • Define your “audience” and places to find it. Objectively, you should not hire super professionals, your company does not have money for it. But this does not mean that specialists with less experience, but who want to develop, will not grow into professionals. I strongly advise you to pay attention to the craving for development. And specialists should grow along with the service (business), a tough professional in a modest ordinary project can become bored and he leaves;
    • in addition to hh.ru and other similar resources, there are social networks and just acquaintances. Post vacancies on your wall, ask programmer friends to repost, write to thematic groups. They will knock you, I myself hired several people;
    • offer what others do not have on the market. In my case, it was the bullied bar of the project itself, that is, I originally planned a complex and interesting service: a client-server application on the Symfony server, react / angular on the client, no CMS, and only modern technologies.

    In a dialogue with the founder, when I just came to work for the company, the idea was born of creating an aggregator of used spare parts for cars in order to combine autodismantling in it. But he could not afford big expenses. If the plans were not so Napoleonic, then he would have done everything differently. For developers who crave experience, such projects are more attractive because everything is done right correctly in them. Many are willing to sacrifice a cool office for a valuable experience.

    Vacancies and job interview preparation

    Any sensible HR will tell you that a positive response of 90% depends on how you made the vacancy. Everything is simple: go to HH and look for vacancies that would interest you yourself, and try to write in the same way. In no case do not lie, write only the truth. If it does not work out at all, make a list of skills that are relevant to your project and contact HR. Save time, but it’s not very expensive.

    Starting the search, use all the resources: sites with vacancies, social networks, acquaintances, etc. Be sure to buy access to the database with the resume. Yes, a database search takes a lot of time, but a talented team and a successful project are worth it. Also write standard draft answers and rejections.

    Now about the preparation for the interviews. "What for? I’m doing an interview, let the candidates get ready! ” - Many would have thought. But this is important, you need to prepare for each vacancy. Google to help you make a list of questions you’ll ask during the interview. A list is required, otherwise you will forget to ask something.

    Watch lectures or speeches on the topic of hiring IT, you will learn a lot of useful nuances. Also make a small test task, about 15 minutes, no more. I am opposed to a person sitting opposite with a pen deciding something for about an hour.

    Later I compiled a questionnaireon important technologies for us and sent to applicants. It did not require more than 10 minutes to complete, the candidates simply put ownership ratings opposite each technology. The results already gave a clear idea of ​​the specialist's compliance with our requirements, in 80% even such a questionnaire was enough.

    An important remark: you cannot be an expert in everything, so take professional advice or even call them for help for an interview. You may spend some money, but save much more in the future. Also study the subject yourself. For example, you need a tester, but you do not know anything about it. Do not be lazy and open Google.

    So, you have n candidates who are ready to come to you for an interview. At the same time, you have terribly not enough time, so you have to save it. Take the phone and start calling or texting them in instant messengers. First, briefly talk about the company, and then literally within 5 minutes, ask to tell about your experience. 70% will fall off already at this stage. Or something will not suit them, or you.

    How to understand that a person is not suitable for you? Everything is pretty simple here: either he has the required experience or not. You can always ask about some technology in a conversation, it’s difficult to lie on the go: if a person confidently talks about his experience, then most likely it is. And often it’s easy to determine by voice. Well, the tales of some inexperienced juniors about the development of spacecraft will brighten up your workdays.

    How to interview

    Alas, this is a process where everyone lies. Your task is to find the truth. Of course, it’s best not to lie.

    Let's start with what you should not do:

    • do not give logical tasks not related to work at the interview. The applicant must not transport goats with sheep on a boat, weigh balls and ride towards the train at a speed of n. This does not help you find a good programmer. On the contrary, just spend time and miss valuable shots;
    • Avoid voluminous test tasks. I believe that in 10-15 minutes using simple tests it is easy to find out the level of knowledge of the basics. If you see that the person is experienced, then you can not give a test task at all, do not waste your time and his. And the interview is stress, do not aggravate;
    • Do not ask about technologies that are not in the project. If you are not using something, then you do not need it now;
    • do not go into narrow specifics. Do not focus on any particular framework or library. This will not tell you about his real knowledge, but will only give an understanding that he worked with some technologies. Ask better about OOP, patterns, SOLID, etc. A person who knows the basics will easily understand any framework or master a library;
    • do not require clear definitions. I understand that structured knowledge is important to a programmer, but understanding is more important than knowledge of a specific definition;
    • if at some point you understand that the applicant is not suitable for you, end the interview. Just say that you need a more experienced person and you do not want to waste his time. Most perceive this quite adequately. There is no point in continuing the interview in order to say “no” at the end;
    • First of all, evaluate professional qualities. You need people who will solve problems in the project, you do not live with them. This is more important than gender, age, education, past work place. I met cool developers who were over 50, and former Airborne Troops who mastered programming;
    • Do not take people if they do not fit. Especially if they do not see the potential for growth. Do not indulge relatives and friends, this is the road to nowhere;
    • Do not ask about highly specialized technologies. Even an experienced engineer may not answer because he did not work with them. Of course, if you are looking for exactly this technology, he should know it.

    And now what needs to be done:

    • Take colleagues for interviews. Their opinion will be only a plus. And they in some nuances can understand better than you. But forcibly for extras nobody needs to be dragged;
    • listen carefully to the applicant for experience. From this you can learn a lot, clarify what you are interested in, and many questions themselves will disappear;
    • give preference to those people who themselves know how to think, and not just solve the problem. For example, in a simple test task, do not give some of the data. If a person starts to reason and ask, this is a plus in his piggy bank;
    • To test knowledge of patterns, do not ask to write them by heart. Better suggest a puzzle closer to life. For example, make a designer for a studio that does apartment renovation. There are different doors (metal, wooden, plastic), different windows (plastic, wooden), etc. This will allow you to see how the task will be architecturally solved. Firstly, for a person it will be easier than rewriting jagged knowledge, and secondly, you will see how he approaches specific tasks;
    • give people thought tasks, preferably from real life. Ask the applicant to reason aloud, as the answers complicate the task. The main thing is not to find a solution, but to find out the person’s approaches;
    • ask a little questions from different areas, do not drag out the interview. 40 minutes is enough, a maximum of an hour;
    • tell yourself about the project, ask the applicant what else he would like to know, try to interest. Here you have an advantage over HR, who are usually not in the know about the project. Do not be lazy and take the time to do this for an interview;
    • tell everything honestly. No need to lie about technology and responsibilities. If the working conditions are too embellished, then it is likely that the person will leave after the first two weeks of work;
    • motivation may be more important than knowledge. There are people with burning eyes. Let them have little or no experience, but have a desire to develop. Tell them honestly that they have not enough experience, but you see the potential in them, and you are ready to give a chance. So I took 4 people with little experience, they all turned into cool specialists. By the way, such an approach is often used by large companies, they grow cool shots from beginners. And you can do it;
    • make a far-sighted choice. If one candidate knows a lot, but you see that he is not ready to do any work or is trying to push his conditions already at the interview, and the second is not so experienced, but with burning eyes and is full of enthusiasm, then take the second. It will not spoil the atmosphere of the team, but this is a very important aspect. If others see someone mowing, this will dampen the team. Such as the first, it is difficult to manage, and if you have little experience in management, then do not create additional difficulties for yourself;
    • if you liked the specialist, rather take it. Do not take long pauses, call the next day optimally. So people took me literally every other day;
    • ask the applicant about self-education. This will show how able-bodied he is. Books, conferences, online courses, hackathons, anything, all these are pluses for him;
    • ask the candidate what he would like to do and what he would not want. If your interests do not coincide, and you take it, sooner or later it will leave you. And you will spend time on its training and development;
    • if the person is not suitable or there are other reasons for refusing, inform him of this. Make a couple of standard answer blanks and spend 3 minutes sending. I think everyone hates it when they don’t answer. Do not do it yourself. In addition, a person can grow and come to you again;
    • don't know who to choose? Just write all the pros and cons on paper. Those whom you did not take, but you liked them, put in a separate daddy. She will help you out more than once;
    • Do not be afraid to hire people stronger than you. I saw how candidates were hacked with the words: “Yes, you saw him? He’s gonna piss me off! ” But with professionals, you will succeed faster.



    When is it worth firing? Obviously, if the employee does not cope with his duties. There is an important point for you - the reasons for this, and it is advisable to find out. For example, you could be guilty if you incorrectly entered him into the team. On this subject, I am already preparing separate material.

    Also, your expectations may not coincide with reality. For example, it does not cope with the tasks for which you took it. For this, there is a trial period. Usually you sit down and analyze the situation objectively without any negativity. If you can’t fix anything, then you part. In some cases, it is possible to find a solution, and the person remains.

    It is worth firing a person when he constantly mows and fails to complete tasks on time. Keeping him and trying to re-educate is a waste of time. It is easier to dismiss and temporarily take over his duties. I somehow did not fire the person, because there was no one to replace, but then I paid. Many key responsibilities hung on him, and he was constantly breaking deadlines. Conversations and other things did not help, as a result, there were two serious fakap, in which, of course, I was to blame, and the company lost money.

    Cases of drunkenness, absenteeism and other disgrace I will not disassemble. Fired!

    It may also turn out that the person does not correspond to the values ​​of the company and does not want to share them. This is bad for the team. The boat will swing more and more, in the end you can be left without a team.

    You must be able to fire people too. The first few times you feel guilty, but with experience it gradually passes. Everything should be clear and to the point: "Vasya, you are cool, but unfortunately we have this and that (we explain the reason), so the best solution would be to leave." In the same MoneyBall movie there is a very good example of how the main character teaches you to fire a person, I recommend watching.


    How the hiring process will change when the company grows

    In fact - no way, all the principles will remain the same. Only you will have HR, to whom you explain what you want to get, and he will be able to search independently. HR itself can determine which person wants to develop and which does not, who is difficult to manage and who is not. If you are already CTO or the head of the direction and you have Team Leader or someone who can become one in the future, take them for interviews, let them learn. Then at some point they will be able to conduct the interview themselves. You watch, sometimes help, then arrange a debriefing, and then they will themselves be engaged in hiring employees to their team. But this is about growing Team Leader, and more on that in another article.


    Many will say Team Leader should not do this. And they will be right, in an ideal world, a large company should not, where all the processes were debugged by another enthusiast. But answer yourself the question: “What do you want in a year from the company?” For her to grow, the team must also develop with her.

    The more carefully you select people, the less often they will leave you. In three and a half years, only three left my team (there were 30 people in total), and only two left for family reasons.

    Apply different techniques, go to conferences, communicate with people. I myself found two employees. Engage social networks, communicate with people from universities, from there you can also attract young specialists, for example, through practice. All doors are open for you.

    Team Leader recruits a team for their tasks and their vision. Everyone has strengths and weaknesses; there are no people who are strong in absolutely everything. Your task is to discern the potential of everyone at the interview, test it on a trial period and eventually assemble a team so that people complement each other and work as a single mechanism. Hiring talented people is not a search for super professionals who can solve any problems. Firstly, they are few, and secondly, it is very expensive. Your task is to find people with potential and be able to reveal it, to help them with growth. And remember that you will grow with them.

    Thanks for attention! Next time I’ll talk about how to build an effective development team.

    My other IT management articles:
    What is being a Team Leader
    How to create and manage successful teams
    A new employee - dead or alive
    Grow, Team Leader, large and small

    Also popular now: