Кто такой 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 помогает узнать и понять какая “ответственность” подходит на данном этапе, и скорректировать дальнейшее развитие. Это своего рода камень установленный на перекрестке дорог на котором обозначены направления.