Hello! My name is Arthur Dementiev, I would like to share my personal experience and write a few articles about what IT is about management. And also to tell about what rake attacked and what mistakes could have been avoided. All the articles I will write, based on my experience in various IT-companies, in which I started as a Team Leader (TL) a team of several people. In one of them I grew a small department from scratch into a large IT-structure and grew to CTO.
There are problems in many companies, often people make mistakes. It was communication with them that prompted me to write an article. In the near future, I will try to continue publishing. I hope they will be useful to TL, CTO, department heads or those who are just going to become them. And I will begin with a story about what being a Team Leader is, it will be a view from the inside.
Here it is worth making a retreat immediately. There are different companies:
- large, where IT is usually the main activity profile. The hierarchy has CTO, Tech Leader, Team Leader, Architects, Project Manager, Analyst. In such circumstances, the TL may not perform certain functions, which I will describe below;
- businesses where only part of the company is tied to IT. There, the structure is half as simple as the first;
- small firms with a small IT department of several people (in my case there were three of us). There is simply no one to shift all the responsibilities. Sometimes the task is to grow such an office in the company from the first item on the list.
Thus, the scope and range of responsibilities of a TL largely depends on the size of the company or IT department. The larger the company and the more complicated the IT structure in it, the less responsibility TL has.
')
How to get Team Leader
There are two standard paths to the TL position:
- Career development programmer at the current job. For example, when you take a lot of initiative, work hard, you are responsible, show that you have leadership qualities, etc. Or you are transferred to the vacant place, when for some reason they do not want to invite a person from the outside. In this case, look at the merits and often just choose the strongest technical specialist. That is, you are brought there by the current, not by striving.
- You change jobs and come to a new company in the place of TL. This happens when a specialist has many years of experience and a desire to develop further, but growth in an existing company is impossible and difficult for some reason. As a result, you find a company in which they believe that you can handle it.

Whichever way you lead to a new position, but now you will less code and manage people.
Changes in activities
So, what's new in your life from the moment you turned from developer to TL? You will undoubtedly be more involved in discussions and attend meetings. But you can not waste time on routine tasks, and delegate them to colleagues. You will also have to do more code review. Perhaps you will fall contract and billing in accounting. It seems that life is a success, and you have achieved the goal.

But the euphoria passes pretty quickly, and you almost start to burn. Something like this happens: the flow of tasks is endless, they need to be solved or delegated, to follow what the team is writing. Annoying managers want something all the time and constantly call for meetings. “Do they have something else to do?” - you think. The authorities are tight with deadlines, and a man suddenly left the team, and look for a replacement for you. Also the wife is calling. In general, you become irritable and close to burnout. In this mode, really live a maximum of a year.
How to survive in such a hell? How do the others cope? The main problem in leaving the comfort zone. You are in the new world, the old rules do not apply. Of course, there is a way out, but you need to find it yourself, in a sense, to break yourself and become aware of something new.
What you need to understand
There are several things to be aware of. And the sooner you do this, the better and easier you will live.
- You are not paid to write code. The ability to write code and understand it is still important for TL, it evaluates and thinks about architecture, etc. But you have only two hands, and the team clearly has more. Your main task is to create conditions for the team to be most effective. The programmer must write the code, and everything else is your concern.
- Now your colleagues write code better than you. It will take six months or a year, and the lack of practice will affect your abilities. After all, they do it almost all working hours, and you are occasionally or at home in the evenings.
- Stop people equating themselves. A person is so constituted that he thinks that no one can solve the problem better. Firstly, this is not always the case, and secondly, if you spend time on solving all problems, because you think that people will not cope, this is no longer TL. Trust the people.
- Your main performance indicators are the quality of the entire project and development time. Here, perhaps, the main role is played by your communication skills. Something must be done qualitatively and for a long time, and sometimes a quick solution is more expedient. The difficulty is that you have to bring it to the programmer and convince him to do it as it should at this moment. And not after 2 days to find out that it is only in the middle, and a ready solution is needed now.
- Motivate people. Think of a motivation system so that everyone wants to work better. To issue a prize if there was no trawl? No, this is nonsense. Implement metrics, collect statistics, evaluate the work of people. Also, keep an eye on the professional growth of employees, who is developing. Always keep your finger on the pulse.
- You need to hire people. Well, if you have a personnel department that can hire IT-specialists. If not, you have additional responsibilities. Learn to compose vacancies, select specialists, conduct interviews, and dismiss. And if you do not have a startup with space investments, get ready to find people in the budget below the market. You may even have to ring up the candidates yourself.
- You are responsible for the entire project. If your service suddenly fell for a long time or cannot be restored, because there are no backups, you will always be guilty before the management. The efficiency of the project in technical terms is your responsibility.
- You cannot choose the technology you want. A typical developer can offer new technologies, and the task of TL is to maintain the balance of the project’s technology stack. Remember, the stability of the project and development process is your responsibility. What if the only keeper of a particular technology leaves the team? In addition, the use of each technology must be justified. From time to time I watched as one and a half zemplekopa in a tiny project all sawing on microservices. They did not realize that the company was not ready for this. Of course, such experiments did not lead to anything good.
- You are a magic wand in any trawl. In any abnormal situations, you cannot just bark at the command: “Everything must be done!” And leave. Sit until the night should be you. You can not throw developers with a one-on-one problem. This is a bad example for them, the responsibility in such cases lies precisely with TL. But it also makes no sense to keep the whole team involved in emergency operations. I myself returned home several times at 5 am, and the next day I arrived at 9 am for the meeting. In general, your job is not to bring this up.
- You should be able to substitute any member of the team. If someone got sick, went on vacation or quit, and the development process stopped, all responsibility falls on you. Always be prepared for this.
- Psychological aspect. You need to communicate with the team and understand people, know what problems they may have, and even help solve them. Most programmers are introverts, you should try to figure out what does not suit them or interferes with work. Of course, the majority will not say this, you need to learn to understand it. But the main thing is not to go too far and not become a psychologist instead of a boss, otherwise it ends badly.

Some cons. Are there any pluses?
Yes! And there are a lot more minuses. You now have resources that you manage. So you have more means to achieve a result, that is, solving business problems. That is what he is waiting for you.
I would make a comparison with a football team. You as a young coach, each player has his strengths and weaknesses. If you manage them without taking into account the peculiarities of each, then you can hardly win anything. But becoming a real team leader, you should be able to turn the weaknesses of your colleagues into strong ones for the sake of victory.
You can hire not very experienced people, but in half a year you can turn them into tough specialists who will pull the project up. Remember that in your arsenal there are cool approaches, for example, Scrum or Kanban, which can turn painful development into a well-established process for all its participants.
Also, you have a huge field for experimentation. You have the resources to find and try new solutions. This must be done necessarily, something will work and bring success. Look for ways that will benefit both the team and the business. There is no silver bullet, you will have to find your solution that will work in specific conditions.
Use experience and build effective employee selection systems. Also motivate and develop the team. And do not forget about developing yourself: read books, listen to lectures, go to conferences. In the end, just chat with people and share experiences. As a result, you build the strongest dream team.
If you still do not understand, then eventually realize that the most important resource is people. Stay with them colleagues, not the boss and subordinates. Be a single mechanism, help them, and they will help you.
Team Leader is not a super programmer, it is a leader who, from any resources, in spite of everything, can put together a great team and make a company profit. That's what this work is really cool.

For me personally, the highest praise is when people come and say: “You never mind what service you had! Also with such a small team! ” After that, you realize that everything was not in vain. And it gives strength to make the project even better. So to say, win your championship with the guys.
For those who are already going to have an interview tomorrow
It is necessary to tell about the vacancies for the position of TL. As I wrote above, companies are different, they have different tasks. At the interview, try to understand who the employer still needs so that your expectations coincide with reality. It is especially funny when there is no clear hierarchy in the company, and everything should hang on one person. Usually in their vacancies there is a phrase: “We'll have to program 70–80% of the time. I would advise to avoid such proposals. Either they want to save money on you, or the management doesn’t understand at all why they need TL. Of course, each case is individual, but still there are facets of reason. In the end, a person will burn out and leave, because you cannot live in stress all the time.

Approach the choice of place with the understanding of what you want to get. Remember that the interview is conducted not only with you, but also with the company. Feel free to ask questions, find out everything. It is better to know everything in advance than to be in the abyss. You can even ask to get acquainted with the team, listen to what your future team says. The price of a mistake is high: the wrong place can discourage the whole hunt to develop further and will not allow to get into this amazing world.
findings
The choice to become a TL should be a conscious decision, and not just because you are tired of writing code or you want a higher salary. TL is the first step in IT management. At this stage, you can understand whether you like it or not. And if not, then you can always return to the developers. But remember, if you work for a long time TL, then it can be difficult to get back. TL does not write a lot of code, the world with technology is changing a lot, experience is lost. It may happen that you come back and have to make up for a long time.
Of course this is a very interesting job. You will have to break your thinking and start thinking in new ways. And, of course, leave the comfort zone. But then you will get invaluable management experience, you will be able to build teams and achieve results for the company.
Everything described above comes with experience. Textbooks and courses will not teach you to be TL. But they can help to get around a considerable number of rakes.
PS: Thank you for your time! Please do not judge strictly, this is my first article on Habré. I hope it will be useful to someone. I tried to convey my personal experience. I would appreciate any opinions. But this is only the beginning, then I want to delve into the details of the development and management of the team and tell you how I built them.