Кто такой тимлид?
Важно отметить, что тимлид – это должность, а не профессия. Чаще всего лидерами команд становятся опытные разработчики, поэтому разработчик – и есть профессия, а тимлид – должность.
Хотя роль тимлида в команде скорее управляющая, он должен быть опытным программистом. Настоящий руководитель группы разбирается в технических решениях, которые были приняты подчиненными, знает код проекта и участвует в работе над ним. Не менее важно, чтобы команда видела в руководителе не только менеджера, но и опытного коллегу. Тогда отношения между коллегами станут более гармоничными, а тимлида будут воспринимать, как реального лидера.
Типичный рабочий день тимлида:
- рассмотрение новых задач и их делегирование;
- стендап с командой;
- встречи, звонки;
- программирование;
- решение вопросов архитектуры;
- code review.
Такой сценарий свойственен небольшим компаниям. В крупных организациях одной командой разработчиков может руководить несколько тимлидов.
Чем тимлид отличается от сеньора и других программистов?
Наиболее часто встречается сравнение тимлида с senior. Различие между этими двумя специалистами заключается в области взаимодействия с командой, планировании и техническом представлении проекта.
Senior – опытный разработчик, который владеет несколькими языками программирования и имеет глубокие познания в области коммерческой разработки. Он способен выполнять сложные задачи быстрее и качественнее, чем кодер среднего уровня. Также senior должен заниматься не только задачами по разработке, но и принимать решения, которые принесут пользу бизнесу и минимизируют затраты.
Всеми этими навыками должен обладать и тимлид. Разница в том, что тимлид уделяет больше внимания управлению, а senior сосредоточен на технических аспектах проекта, решает сложные проблемы кодирования.
Независимо от организационной структуры позиция тимлида требует эффективного общения. Он обеспечивает бесперебойную работу проекта, часто несет ответственность за обновление и развитие технического направления. Кроме того, тимлид облегчает процесс принятия решений как внутри, так и за пределами команды. Senior может объяснить задачу или помочь младшим коллегам, но постановка задачи, управление командой, решение проблем внутри нее и отслеживание эффективности – не его область работы.
Часто должность тимлида сравнивают еще и с должностью технического лидера (tech leader), но эти роли нельзя смешивать.
Технический ведущий разработчик (technical leader) – имеет глубокие знания о продукте, понимание разработки программного обеспечения, а также умеет делегировать задачи другим членам команды или фрилансерам, чтобы завершить проект в срок. Техлид уделяет больше внимания управлению операциями разработки, глубже погружается в технические аспекты проекта.
Обязанности руководителя группы разработчиков сравнивают и с обязанностями проектного менеджера.
Проектный менеджер – это специалист по управлению проектами. Он несет ответственность за достижение целей и выполнение требований, а также управляет ограничениями (стоимость, время, объем, качество).
Главное отличие между тимлидом и проектным менеджером в том, что менеджер не занимается технической стороной работы. Его зона ответственности: оценка и обновление сроков проекта, общение с клиентами, планирование бюджета, привлечение новых сотрудников.
Еще одно отличие в том, что менеджер назначается на фиксированный срок, тогда как руководитель IТ-команды – это постоянная роль, охватывающая несколько проектов.
Основные роли и обязанности тимлида
Тимлид наблюдает за функциональностью команды, предоставляя подчиненным рекомендации и инструкции, помогает в выполнении задач. Это не единственная роль лидера:
- Менеджер или руководитель: контролирует все действия команды;
- Стратег: отвечает за основные решения (подход к задачам и разработку плана их выполнения);
- Коммуникатор: общается с членами команды и заинтересованными сторонами, выполняет роль связующего между заказчиком, менеджментом и группой разработчиков;
- Организатор: контролирует различные задачи и структурирует документы;
- Поставщик целей: отвечает за определение целей, над достижением которых будет работать команда.
Обязанности тимлида:
- ставить четкие командные цели;
- делегировать задачи и устанавливать сроки;
- контролировать повседневную работу команды;
- отслеживать эффективность команды и составлять отчеты по метрикам;
- планировать обучение, развитие как младших, так и опытных специалистов;
- быть в курсе изменений стандартов, технологий и методологий;
- выполнять роль не только руководителя, но и наставника;
- регулировать возникающие в команде проблемы и конфликты;
- создать продуктивную командную среду с культурой открытого общения;
- мотивировать членов команды;
- организовывать командные мероприятия.
Адаптация и обучение нового сотрудника в небольшой компании – тоже обязанность тимлида. С его помощью новички знакомятся с работодателем, командой, корпоративными стандартами, кодом, инструментами, проектом. В крупных компаниях этот вопрос чаще решается передачей нового сотрудника под опеку одного из разработчиков.
Дорожная карта
Роль тимлида часто размыта и в каждой компании принимает свою форму, часто смешиваясь с другими ролями в команде. Чобы формализовать навыки и знания тимлида была создана дорожная карта.
Она разделена на два направления:
- Роли и обязанности. Список высокоуровневых ролей и обязанностей специалиста.
- Личные навыки. Навыки и качества, которые необходимы для эффективной коммуникации и управления командой.
Роли и обязанности тимлида:
Администратор. Занимается построением цикла разработки, проектным управлением и стейкхолдингом.
Интегратор. Для тимлида важно принести пользу бизнесу. Чтобы понять, откуда берется и в чем выражается эта польза, специалисту нужно ориентироваться в бизнесе компании. Это знание помогает донести команде ценность результатов ее работы. Кроме того, тимлиду необходимо разбираться в структуре компании и ее корпоративной культуре.
Менеджер по персоналу. Тимлид должен развивать навыки управления людьми и командой, заниматься наймом. Развитие технического бренда компании, тоже важный аспект работы руководителя. Для этого он может использовать следующие инструменты: писать статьи, выступать на внешних площадках, делать видеозаписи внутренних выступлений, использовать открытые технологии или прикладной код, создать Playbook с информацией о команде.
Владелец продукта. Тимлиду также необходимо развивать навыки управления продуктом и принимать продуктовые решения.
Технический лидер. Кроме прочего, тимлид должен обеспечить должное качество продукта, знать используемые в проектах технологии, обеспечивать техническое качество, проектировать архитектуру, автоматизировать цикл разработки.
Личные навыки:
- Коммуникация. Тимлид должен уметь управлять конфликтами в группе разработчиков, давать им обратную связь, сотрудничать с каждым членом команды и иметь хорошие отношения с другими сотрудниками компании, развивать навык нетворкинга и личный бренд.
- Отношения. Опытный тимлид понимает ценности различий в команде. Это означает, что он может нанимать людей, которые отличаются друг от друга и не происходят из одного и того же окружения. Например, у них могут быть различия по национальному происхождению, социальному статусу, внешнему виду, религии, образованию, возрасту, полу. Сильные стороны людей с разным бэкграундом гибко используются в работе. Также важно прокачивать эмоциональный интеллект – способность осознавать, правильно различать свои и чужие эмоции, чтобы лучше решать конфликтные ситуации и легко коммуницировать с командой.
- Саморазвитие. Для тимлида важно продолжать учиться даже при наличии опыта, осваивать новые технологии и подходы к работе с командой.
- Мышление. Включает в себя принятие решений и стратегическое видение. Обязанность тимлида – использовать лучшие практики при принятии решений, рассматривать одновременно несколько возможных вариантов.
- Тайм-менеджмент. В этот пункт входит постановка личных целей, управление приоритетами и временем. Для тимлида важно четко представлять свои цели. Это дает точку опоры для принятия решений и позволяет планировать свое развитие и карьеру, а также помогает отделять главные задачи от второстепенных.
Выводы
Должность тимлида включает в себя целый спектр ролей и обязанностей. Он должен быть опытным разработчиком, уметь управлять продуктом, распределять сферы ответственности в команде и делать множество других вещей. Тимлид отвечает за работу коллектива, качество продукта, а также скорость и темп работы подчиненных. Также лидер команды отвечает за ее культуру, отношения внутри группы и рост каждого отдельного сотрудника.
Хочу освоить алгоритмы и структуры данных, но сложно разобраться самостоятельно. Что делать?
Алгоритмы и структуры данных действительно непростая тема для самостоятельного изучения: не у кого спросить и что-то уточнить. Поэтому мы запустили курс «Алгоритмы и структуры данных», на котором в формате еженедельных вебинаров вы:
- изучите сленг, на котором говорят все разработчики независимо от языка программирования: язык алгоритмов и структур данных;
- научитесь применять алгоритмы и структуры данных при разработке программ;
- подготовитесь к техническому собеседованию и продвинутой разработке.
Курс подходит как junior, так и middle-разработчикам.
Комментарии