How to develop a development manager



    When someone becomes a development manager, a huge number of new, unexpected tasks will surely fall on him, and adaptation will certainly take time. However, the adaptation period will end one day, and then the question will arise how to develop further. Equally relevant is the issue of preparing an employee for the future role of a manager. How to work with the developer to get the future leader out of it as soon as possible?


    We have chosen the development paths of development managers with the theme of the next Team Leader Meetup , which will take place on the evening of November 28 in the Moscow office of Yandex. It will be possible to discuss this topic with experts from large IT companies. Registration is still open.


    This time our experts are:


    • Nikolai Krapivny, Head of Backend Development, Badoo
    • Roman romas1982 Ivliev, CTO, mos.ru
    • Alexander Polomodov, Head of Research and Development, Tinkoff.ru
    • Boris Tobotras, Director of Software Solutions Center, Jet Infosystems
    • Victor Lamburt, Head of Recommended Products, Yandex
    • Igor Kuralenok, General Director, League of Experts

    Today on Habré we ask them a series of questions to set the tone for the future discussion:


    1. What advice would you give to your colleague - a strong developer who recently, just yesterday, became a team leader? From what specific, understandable actions should he begin his work in a new position?
    2. What books or articles would you recommend to read to the development manager? And what resources does it make sense to study on a regular basis?
    3. How much time should be given to work on technical tasks, and how much - on tasks related to team management? What else can or should the tmlid spend its time on?

    Nikolai Krapivny , Head of Backend Development, Badoo



    What advice would you give to your colleague - a strong developer who recently, just yesterday, became a team leader? From what specific, understandable actions should he begin his work in a new position?


    I would recommend to start:


    • Understand what he is responsible for now and what are his main responsibilities as a team leader
    • Coordinate with the leader of the main goals and objectives for him and his team
    • Talk with team members, figure out how the team works now.
    • View a delegation report and learn how to do it.
    • Regularly allocate time to read articles, books, view reports on new areas of responsibility

    What books or articles would you recommend to read to the development manager? And what resources does it make sense to study on a regular basis?


    For the head of development I recommend reading:


    • How Google Works by Eric Schmidt
    • "Work Rules" by Laszlo Bock
    • "The Goal" by Eliyahu M. Goldratt

    On a regular basis, I believe that it is worth monitoring the materials and performances with Teamlead Conf and other thematic meetings (for example, Badoo’s Timlide meetings )


    There are also many useful links and discussions in the Telegram thematic channels: https://t.me/leadgr and https://t.me/TeamLeadTalks


    How much time should be given to work on technical tasks, and how much - on tasks related to team management? What else can or should the tmlid spend its time on?


    I believe that there is no one right answer. The task of a lead is precisely to assess a specific situation and decide for itself how to allocate its time in order to achieve the maximum result.


    In my ideal world, the less time a lead takes to manage a team (I include both technical and managerial functions in control) - the better. I believe that the key to success and further growth for the lead is to build a team that works effectively with minimal participation. In this scenario, the lead can and should invest the time freed up in the search for new useful ideas and projects outside the current area of ​​responsibility.


    Roman Ivliev , CTO, mos.ru



    What advice would you give to your colleague - a strong developer who recently, just yesterday, became a team leader? From what specific, understandable actions should he begin his work in a new position?


    1. It's time to download the soft-slip. Engineering is good, but now there are people with whom you have to work in a completely different manner. Engineering goes by the wayside. You can read, you can listen to lectures, you can all together. A lot of information on this topic does not happen.
    2. Learn that you are no longer a developer. Coding will fade into the background. It will be breaking, but it is inevitable. Accordingly, you need to decide what technical work remains behind you, choose only the most important. Else start distributing to colleagues.
    3. Urgently seek a replacement for your place. After all, once you became a lead, somewhere a hole formed instead of a good engineer, and she will remind herself in the first project :))
    4. Immediately create your own mode. At first, everything is wildly not enough time, you need to spend much more time planning. And catch yourself on the fact that something is not going according to plan. Impulsive decision-making will pursue the first time. Well, the desire to code everything :)
    5. Immediately begin to build a map of communications and build relationships. At the lead level, the amount of communication is much greater, it would be better to immediately know what questions to contact.

    What books or articles would you recommend to read to the development manager? And what resources does it make sense to study on a regular basis?


    There are a lot of good books, I’ll focus on the main ones, I think.


    • Brooks "The mythical man-month, or How software systems are created" - it just needs to be read, because it is a classic.
    • Tom DeMarco and Timothy Lister. "Human factor. Successful projects and teams ”- these guys are generally cool, they can be read in their entirety, which will come to hand. In addition to this, I would also note “Bald with adrenaline and zombie patterns. Patterns of behavior of project teams. ”
    • Patrick Lensioni. “Five vices of the team. Proverbs about leadership. Patrick is cool, you can also read it as far as possible.
    • Rainwater. "How to feed cats", but this work is an amateur. Among those with whom I happened to discuss this book, opinions were divided.

    Be sure to have something about negotiations, about emotional intelligence and the ability to communicate with people. You can Gavin "You can agree on everything," Goulston, "I hear you through and through," "Do not growl at the dog," from Karen Pryor.


    With resources harder. I usually find interesting materials on Medium , Habré , GeekTimes , infoq.com , blogs of respected people like Joel Spolsky. I am subscribed to several management channels where interesting links are constantly skipping, I watch them, and at the same time I study the resource where they are located. So you can find many not very well-known sites and blogs, but with very good content. You can read vc.ru , sending Megaplan sometimes throws up good materials.


    How much time should be given to work on technical tasks, and how much - on tasks related to team management? What else can or should the tmlid spend its time on?


    Everything depends on how the project, the team, the company is organized. I met completely different proportions, but more often it’s something like 100% of the time for technical tasks and 46% of the time for management :))) It always ends equally badly. IMHO, in reality, the most correct proportion looks like this. Time for technical tasks is 100% minus time for team management. 100% is not 8 hours, if that. Everyone has their own 100%. In other words, the figure is floating.


    It is imperative to spend time on self-education, expanding horizons in related areas (product and project management; if you are backend - poke the front, test, operate, and vice versa, of course), maintaining the technical form - new frameworks, libraries, languages, all that one way or another concerns work. Otherwise there is a risk of losing credibility among engineers. You need to attend meetings and conferences in order to broaden your horizons and look for answers to your questions.


    Alexander Polomodov , Head of Research and Development, Tinkoff.ru



    What advice would you give to your colleague - a strong developer who recently, just yesterday, became a team leader? From what specific, understandable actions should he begin his work in a new position?


    Stop and answer the following questions:


    • What is expected of me in the new post.
    • Who and what roles now plays in the team:
      • Who is on the list of customers of the team (he is one or many)
      • Who will have to report
      • What employees are already in the team
      • Who will have to communicate horizontally (other development leads, infrastructure leads, testing, ...)
    • What are the goals for the team and what are the expectations from the results

    Further, taking into account the results of answers to these questions, it is necessary to draw up a plan for whom to hand over old duties and how to accept new ones. It should be borne in mind that after the transition to the position of the communication team will be more, but the time to develop - less. It is very important to take into account the success criteria, according to which you yourself and your manager will understand that you successfully cope with a new position.


    If you go to the second question about concrete and understandable actions, I can say that there is no such list of understandable actions that universally fits all situations, which means you will have to make such a list yourself, based on your situation.


    What books or articles would you recommend to read to the development manager? And what resources does it make sense to study on a regular basis?


    I would single out the book Mythic Man-Month by Frederick Brooks. This is a classic about the problems of the team in large projects, in which the IBM project for the development of OS 360 was analyzed in detail. I also find books from Tom DeMarco very useful, especially the Human Factor and Patterns of Project Team Behavior. And for a snack, I would advise the book "How to feed cats" by J. Hank Rainwater.


    Among online resources, I read the flow Management on Habré and get acquainted with performances in management flows at major conferences such as RIT, Highload ++, Codefest and others.


    One of my hobbies is developing in a broad sense of the word, including managing development teams. And I publish my thoughts, impressions from the books I have read, the conferences I have attended and meetings on my Facebook page . Perhaps this page will be useful to you.


    How much time should be given to work on technical tasks, and how much - on tasks related to team management? What else can or should the tmlid spend its time on?


    It is impossible to clearly say in what proportion to distribute the time between the technical tasks and the team, because This is highly dependent on the specific team and its tasks. In general, we can say that the solution of technical problems becomes secondary to the fact that the team worked effectively. In my opinion, a team leader should spend time on:


    • work with external customers and act as a team interface for the outside world
    • organization of the development process and rhythmic code delivery
    • increasing the efficiency of team members - training and consulting colleagues
    • interview of new guys with the growth of the team
    • solving technical problems (writing code, review, ...)

    Boris Tobotras , Director of Software Solutions Center, Jet Infosystems



    What advice would you give to your colleague - a strong developer who recently, just yesterday, became a team leader? From what specific, understandable actions should he begin his work in a new position?


    I would say to him: Dear friend, you have a terrible interesting task: to include in your picture of the world not only technology, but also people, and projects, and their complex relationships. This will allow you to solve qualitatively more complex tasks that the lead developer alone cannot solve. To do this, you need to learn to see not only what we do in our daily project work, but also why we do it, how and why.


    Suppose that freshly baked timlide falls in this quality in a new project. You can start by getting answers to specific questions:


    • How is the project on which the team works? What goal should it achieve, who will judge how to achieve it and how?
    • Who is part of the team? What kind of people, what is their experience, specialization, features of their work?
    • Who does the team interact with? What does the project expect from development, and what does it, in turn, expect from adjacent teams (analysts, QA, architects, sales force, engineering support)?
    • Who does the team leader interact with? What does the project manager expect from him, what does the team expect from him, what do the adjacent teams wait for from him? What problems do they see in development?
    • What is the status of the project? Where are we now, what has been done and what is left? Well done or not, and why? What are the currently known problems in the project - technical, organizational, human?

    What to do first?


    • Get acquainted in detail with who is doing what and where.
    • Disassemble the backlog, read the entire project tracker, look at the latest commits and reviews.
    • Understand the project management methodology (code style, VCS / branches, builds, tracker workflow, supported versions, issued artifacts).
    • A detailed understanding of the architecture of the developed system with its history (what decisions were made and why).

    What books or articles would you recommend to read to the development manager? And what resources does it make sense to study on a regular basis?


    Brooks, The Mythical Man-Month. Nothing has changed over the past half century.
    Alan, Colston, The Programmers' Stone.


    How much time should be given to work on technical tasks, and how much - on tasks related to team management? What else can or should the tmlid spend its time on?


    There are hardly any recipes. Well, let's take the lantern: 70% for equipment, 30% for people. But this proportion varies with the size of the team. If there are 15 people in a team (a monstrously many IMHO per one lead), the proportion is 5% / 95%.


    Timlid, in addition to “internal” tasks (equipment + people), also decides “external”: managing the speed of development and the purchase of the project, together with the management plans to work in the project, predicts the employment of developers


    Victor Lamburt , Head of Recommended Products, Yandex



    What advice would you give to your colleague - a strong developer who recently, just yesterday, became a team leader? From what specific, understandable actions should he begin his work in a new position?


    First of all, I would advise you to find out what happened to the previous team leader and what your new leader expects from you. After that, talk to each member of the team, find out about their expectations and problems, and also try to understand their fears.


    What books or articles would you recommend to read to the development manager? And what resources does it make sense to study on a regular basis?


    There are many of us in this interview and, for sure, my colleagues will name important books relating directly to development management. Therefore, I will seize the moment and mention three important books from completely seemingly other areas.


    Ed Catmell. Corporation Geniuses. How to manage a team of creative people


    The book is written by the founder of Pixar. Reading, one is amazed how wise, tactful and at the same time the author was. As he and a small team of like-minded people managed to reinvent the genre of animation, creating masterpieces that touch millions of children and adults around the world. As Ed Catmell established a dialogue with Steve Jobs, defending the team and using Steve's experience to benefit the growth of Pixar.


    Telling the story of the birth of masterpieces, the author recalls that they were all at first extremely clumsy, like newborns. It cost nothing to crush them immediately after birth. And only patience, love and a huge number of iterations allowed ideas to get stronger and turn into Oscar-winning films.


    And Ed tells how to create an atmosphere in which people openly express critical opinions, and those who are criticized are happy to use this opportunity to improve their creations.


    I wish we could do that, right?


    David Keirsey Please Understand Me II: Temperament, Character, Intelligence


    In the second edition of David Keirsey systematically and visually tells about why people often do not act the way you expect. It turns out that people of the same profession, who are in the same socio-cultural context, can make decisions in completely different ways, appreciating completely different things. And this happens all the time, with the beloved, with the children, with the parents and, of course, in the development teams.


    Despite some criticism, the MBTI typology helps to better understand people, streamline their actions, and build more balanced teams.


    Daniel Kahneman. Think slowly ... Decide quickly


    The founder of psychological economic theory is fascinating to talk about the cognitive distortions with which we live, without noticing them. The book is full of examples demonstrating that you and I are not damn rational and can be easily manipulated.


    The book not only teaches to recognize such manipulations, but also makes it seriously ponder whether it is worth doing this or that seemingly very rational redistribution of duties.


    How much time should be given to work on technical tasks, and how much - on tasks related to team management? What else can or should the tmlid spend its time on?


    I must confess that I have not worked on truly technical tasks for a long time.


    Igor Kuralenok , General Director, League of Experts



    Какие советы вы бы дали вашему коллеге – сильному разработчику, который недавно, буквально вчера, стал тимлидом? С каких конкретных, понятных действий ему стоило бы начать свою работу в новой должности?


    • Начни смотреть по сторонам. Замечай, что делают люди в группе, как они это делают, что их радует, что огорчает. Обращай внимание на все нюансы, которые составляют микроклимат в коллективе, за который ты теперь отвечаешь. Твое знание своих ребят и девчат позволяет создавать синергию, а не мешать друг другу.
    • Перестань писать код. Кроме двух исключений: когда он определяет вектор развития или задает моду. К первому относятся архитектурные решения, которые задают тон разработке и позволяют держать ее вектор в нужном направлении. Второй — те вещи, которые перестанут делать все, если перестанешь делать ты: тесты, ветки, правильные практики и прочие мелочи, которые делать всем лень, но без которых все разваливается.
    • Не пытайся исправить все видимые ошибки, начиная жизнь с чистого листа или внедряя процесс из книги. Взгляды разработчика и тимлида существенно отличается, и то, что в роли разработчика тебе кажется вредным, может оказаться тем гвоздем, на котором все висело. Делай изменения медленно и последовательно. Не торопись, все успеешь.
    • Отдавай и делегируй. Твоя задача — не делать все самому, а сделать так, чтобы задача была сделана. Более того, одним из очень важных мотиваторов является ответственность. Отдав ее кусочек в надежные руки, ты не только будешь менее загруженным, но и мотивируешь члена своей команды. Но, если уж отдал, помни, что отдал ты не только ответственность, но и делегировал часть полномочий по принятию решений.

    Какие книги или статьи вы бы порекомендовали прочитать руководителю разработки? А какие ресурсы имеет смысл изучать на регулярной основе?


    Мне в свое время очень понравился труд Alistair Cockburn «Agile software development». Всячески его рекомендую. Очень советую практику работы со студентами: сам готовишь себе кадры + приходится держать себя в тонусе, так как зубастые студенты не дают расслабиться, задавая каверзные вопросы :)


    Сколько времени стоит уделять работе над техническими задачами, а сколько — над задачами, связанными с управлением коллективом? На что ещё может или должен тратить своё время тимлид?


    Столько, сколько нужно, чтобы группа справлялась с поставленными задачами. Если через неделю релиз, то странно заниматься управлением, а если через месяц одна из девушек уходит в декрет, странно заниматься техническими задачами. Все случилось одновременно? Значит, ты мало занимался управлением :) Если серьезно, то все зависит от состава группы и задач, которые перед нею ставятся, IMHO нет универсального рецепта.


    На что ещё может или должен тратить своё время тимлид?


    • На рекламу своих людей. Чем больше твоих ребят знают другие команды, тем выше авторитет группы и понимание того что вы делаете. Чем меньше люди знают, чем вы занимаетесь, тем больше им кажется, что вы ничего не делаете :))
    • На взаимодействие со смежниками (соседними группами, например). Как мне кажется, сюда уходит сильно больше времени, чем на технические задачи и на управление вместе взятые, но это существенно зависит от размера компании и роли группы.
    • На планирование траектории развития: как всей группы, так и отдельных людей. Если ты не можешь ответить на классический вопрос про «как ты себе представляешь свою роль через 3 года» — это не только твоя проблема.
    • На поиск кадров. Никогда не останавливайся в поиске кадров, всегда имей в запасе 1-2 человека на примете, даже если сегодня у тебя нет открытой позиции.



    Следующая встреча, на которую ещё можно зарегистрироваться, состоится 28 ноября 2018 года в московском офисе Яндекса. На ней можно будет задать вопросы докладчикам и поделиться своим опытом.


    Also popular now: