Кто такой Team Lead и нужно ли им становиться
Я решил написать эту статью потому что у каждого есть свое понимание должности/роли Team Lead. Одни хотят занять эту позицию, другим интересно, что же “внутри” этой должности. Так что я изложу свое видение и мнение о должности Team Lead, а также кому и когда нужно им становится.
По мере своего продвижения в IT многие как и я в свое время размышляют и идут по пути своего развития примерно следующим образом.
Junior
- мне надо писать код, много кода, а еще изучать все и побольше
- надо бы глубже копнуть базовые знания
- вот какой-то новый инструмент, он интересен – надо срочно опробовать
- нужно все отрефакторить и перерефакторить
- я должен не просто писать код, нужно понимать какую задачу я решаю
- теперь я могу запилить свое решение/плагин/модуль к используемому фреймворку
Middle
- в этой задаче есть много нюансов, сделать нужно одно, а сама задача про другое, если разобраться …
- зачем писать с нуля если можно переиспользовать
- ого сколько наработок
- снова все рефакторить
- для этой задачи уже есть решение и проверенные временем библиотеки/инструменты/фреймворки
- надо сказать клиенту, что сделать нужно вот так, а не так как он хочет
Senior
- нужно изучить второй язык программирования
- безопасность кода, многопоточность, сложные алгоритмы, высокие нагрузки …
- да это нужно будет делать долго, зато бизнес будет в выигрыше
- не по фен-шую зато быстро и с выгодой
- интересно, а что там дальше? кем бы стать? Архитектор/Team Lead/PM
Что говорят о работе Team Lead?
- Он в техническом плане знает, что нужно делать лучше других (Но есть же Senior?)
- Он проектирует архитектуру и у него есть полное видение проекта (А зачем тогда Архитектор?)
- Он может распределять задачи в рамках проекта и контролировать их выполнение (Так ведь есть PM)
- Он разрабатывает стратегию команды, мотивирует ее, создает настрой и фон (Если есть руководитель отдела, то это вроде как его работа?)
Такой примерно список вопросов и сомнений копошится в голове Senior-разработчика, который хочет расти дальше. Он хотел и видел себя на позиции Team Lead, но теперь он сомневается, потому что не понимает с чем ему предстоит иметь дело.
Ответ на самом деле прост. Team Lead занимается всем вышеперечисленным, но понемногу.
- вникает, но не глубоко в техническую часть, потому что есть крутые Senior, на которых он может положится.
- занимается проектированием, но только в общих чертах, ведь для деталей у него есть Архитектор
- распределяет и отвечает за задачи только в рамках своей команды и в основном перед PM, а не перед заказчиком
- не может сам уволить/принять на работу, повысить/понизить зарплату, но может дать рекомендации начальнику отдела.
Так кто же такой Team Lead?
С моей точки зрения должность Team Lead это своего рода тестовый полигон для Senior разработчика на котором он может выбрать свой дальнейший путь.
- остаться Senior-разработчиком, если пока еще не перегорел от желания писать код и нести ответственность только за свой результат
- стать Архитектором если понравилось нести ответственность за инфраструктуру проекта, реализацию задач вникая в задачи бизнеса заказчика
- стать PM и нести ответственность за сроки и качество проекта, бюджет и лояльность
- стать руководителем отдела и нести ответственность за сотрудников, формирование команды, заниматься эффективностью работы отдела
В каждом из перечисленных выше пункто есть слово “ответственность”. Должность Team Lead помогает узнать и понять какая “ответственность” подходит на данном этапе, и скорректировать дальнейшее развитие. Это своего рода камень установленный на перекрестке дорог на котором обозначены направления.