Как стать Team Lead и что придется делать: эксперты о своем опыте

Team Lead — одна из топовых позиций в IT-компании, которую новичку не получить. Чтобы «лидить», нужно не только уметь брать на себя ответственность, но и общаться с людьми, налаживать работу в команде и параллельно еще писать код. Web Academy расспросила Team Lead’ов из четырех компаний о том, как они шли к этой позиции, как выглядит их день и что нужно, чтобы получить эту должность.

Photo 1

Владимир Голосай, Lead Engineer Software, EPAM Systems (тренер Web Academy)

Путь к позиции Team Lead

Веб-разработкой я увлекся с 13 лет. Когда у меня еще компьютера не было, уже делал wap-сайты (сайты, адаптированные под просмотр с мобильных устройств, — Прим. ред.) с телефона Siemens C65.

В 18 лет я начал фрилансить. Первым опытом стал онлайн спортивный журнал — я верстал новости о футболе и таблички с результатами матчей. Но задержался там ненадолго, вскоре нашел компанию, в которой работал удаленно следующие четыре года, пока не закончил магистратуру.

На протяжении этого времени у меня появилось множество постоянных проектов, но мне было мало учебы и фриланса, поэтому я также работал штатным Middle-разработчиком в Ciklum и еще одной студии. Окончив университет, еще пару лет работал удаленно, о чем жалею. Работая на фрилансе столько лет, ты оказываешься в пузыре своих навыков, проектов и никто тебя из него не выдернет. Получать новый опыт становится крайне сложно. Когда я это понял, устроился в компанию Epam, где и вырос до тайтла Lead Software Engineer. Когда получил должность лида, у меня было почти девять лет опыта. Конечно же, эту должность можно получить значительно быстрее.

Мой вариант самоучки не самый типичный. Гораздо чаще и быстрее люди получают образование программиста в университете или на курсах, затем устраиваются в аутсорс и за 3-4 года становятся Senior-разработчиками.

Необходимые для Team Lead навыки

В крупных компаниях для ответа на вопрос, какими навыками должен обладать Team Lead, есть skill-матрицы. Это специально согласованный документ, в котором прописаны hard и soft skills. Помимо большего технического опыта, чем у Senior-разработчика, лиду необходимы такие навыки как делегирование, лидерство, навыки планирования и организации. Более обширная skill-матрица основных навыков для различных уровней выглядит так:

table

Volodymyr Golosay / twitter.com

Обязанности Team Lead

Есть такая должность как Technical Lead. Это матерый Senior-разработчик, который может брать ответственность за принятие технических решений на проекте и обладает базовыми навыками делегирования и планирования. А есть позиция Team Lead. В нее уже добавляются гораздо больше менеджерских задач. Например, набор команды, организация процессов выполнения задач и проверки их качества. Но самая главная задача — ответственность за сдачу качественного функционала в срок. От компании к компании, конечно, все может меняться. Есть фирмы, где все вышеописанное делает разработчик любого уровня + менеджер.

Типичный рабочий день Team Lead

От части то, как выглядит день, зависит от методологии ведения проектов и от часового пояса клиента/коллег. Если все находятся плюс-минус в одном часовом поясе, то обычно день начинается со стендапа — команда разработчиков собирается кратко обсудить текущий статус проекта и озвучить текущие проблемы. Часто это делается стоя, потому что всем хочется побыстрее сесть, а значит затягивать никто не будет. Затем — работа над своими задачами и взаимодействие с командой. И где-то половину дня занимают организационные созвоны, планирование будущих задач, code review.

Что нужно, чтобы получить должность Team Lead

Хороших специалистов не так уж и много. Если вы таких знаете, сообщайте, заберем к себе. Но далеко не все хотят брать менеджерские обязанности или ответственность за работу других. Можно отлично зарабатывать, выполняя только свои задачи и нести ответственность лишь за себя. В таком случае можно развиваться в сторону архитектуры. Если же вы опытный Senior-разработчик, вы уже как-то работаете над soft skills и у вас есть желание организовывать работу целой команды, неся за нее ответственность, то вы точно найдете желаемую позицию.

Ближайшие курсы для разработчиков:

Photo 3

Евгений Слюсаренко, Team Lead, Depositphotos

Путь к позиции Team Lead

Мне практически всегда давали должности с людьми в подчинении. До Depositphotos я был сисадмином в IPNet (лидом группы), UMC (Vodafone — тоже лид группы), и программистом (лидом) в Dom DaRa.

Это довольно типичный путь. Проявляешь инициативу, берешь на себя ответственность — и тебя выдвигают в лиды, если компетенции в техническом плане достаточно.

Необходимые для Team Lead навыки

Ответственность. Также — навыки работы с людьми, а именно: умение предотвращать и решать конфликты, создавать комфортную атмосферу в команде и пр. А также технические навыки.

Обязанности Team Lead

В каждой компании у Team Lead разные обязанности. Но если в общем, основная обязанность — успех твоей команды. И как Team Lead ты делаешь всё, что в твоих силах, чтобы команда была успешной.

Типичный рабочий день Team Lead

Обычно день начинается с синка (стендапа) по задачам, которые команды выполнили вчера, и планирования работы на сегодня. Дальше где-то час-два уходят на разбор чатов, почты и вопросы команды: уточнения по конкретным задачам, поиски технических решений реализации, коммуникация с дизайнерами, заказчиками и т.д. Дальше code review — проверка архитектурных решений, оценка создаваемой нагрузки и поиск дефектов в реализации. Остальное время не стандартизировано и зависит от задач: бывают собеседования, решение проблем команды, работа с документацией, технические улучшения или рефакторинг, разбор задач в беклоге, планирование порядка выполнения задач и т.д.

Что нужно, чтобы получить должность Team Lead

Необходимо брать на себя ответственность, иметь технические навыки, быть лидером. Team Lead — не просто менеджер, он лидер для своей команды. Ты должен своим примером показывать команде, как нужно работать.

Помимо технических навыков это всё-таки про ответственность и работу с людьми. Например, многим техническим специалистам не нравится проводить one-to-one встречи. А это необходимая практика для «здоровой команды».

Во время one-to-one человек может рассказать о своих проблемах, а не «копить их в себе». Последнее может приводить к негативу в общении внутри команды, каким-то обидам, в особо запущенных случаях — даже к увольнениям. А ты как Team Lead можешь попытаться решить эти проблемы. Или объяснить почему некоторые вещи не могут быть сделаны так, как хочет человек — такое тоже бывает. Но даже если ты не можешь решить проблему, человек, который выговорится, всё равно чувствует себя лучше. Такой себе «сеанс психотерапии». Ну и, конечно, важная часть в one-to-one — это фидбек о работе человека. Это помогает ему понять свои ошибки и развиваться.

Еще в one-to-one я обязательно прошу фидбек о моей работе как лида, чтобы понимать, всё ли окей, и адаптироваться, если команде что-то не нравится (а я этого могу не замечать). 

Photo 2

Андрей Мамченко, Engineering Team Lead, BUX (Нидерланды)

Путь к позиции Team Lead

Мой пример не совсем классический. Сразу после университета я начал работать одновременно в качестве разработчика и специалиста, который внедряет созданные решения в бизнес. Тогда я не считал себя разработчиком. Я решал проблемы клиентов наиболее подходящими способами. Политика подразделения, частью которого я был, подразумевала, что все сотрудники работали самостоятельно, начиная с pre-sale и заканчивая обсуждениями деталей контракта и сроков с CEO клиента. Такая схема была нетипичной в целом для отрасли, но сдельная оплата и свобода сработали для меня идеально. Я развивался и никогда не терял интерес к работе. Так проработал около 15 лет.

Однако работа на внутренний рынок ограничивала мои дальнейшие перспективы, и я задумался о вариантах, которые позволят мне иметь бОльший выбор в будущем. Резкое снижение доходов в 2014, вызванное падением национальной валюты, послужило мощным катализатором. В 37 лет я начал свою новую карьеру с позиции Junior iOS разработчика. Проработав в моей первой продуктовой (а на самом деле аутстафф) компании около трех лет, я набрал технического опыта и понимания, как изнутри устроены процессы разработки и деливери в компании с несколькими командами со стейкхолдерами за границей. Я убедился, что разделение на «мы» и «они» мне дается сложно, я хотел работать непосредственно в центре событий и влиять на принимаемые решения.

Поэтому решил разослать несколько писем в продуктовые компании с офисами в Киеве. Несколько фаундеров мне ответили, что сейчас подходящих вакансий нет. Однажды мне в LinkedIn написала рекрутер из нидерландской компании с предложением принять участие в хакатоне — я просто проигнорировал ее первое сообщение. В течение нескольких недель этот хакатон-ивент мне попался несколько раз на глаза, так что я все же решился попробовать силы. Мне показалось удобным, что за два выходных я смогу проверить как свои технические, так и коммуникативные навыки. Английский язык в ежедневной рабочей рутине я до этого не использовал никогда. Хакатон прошел достаточно интересно и стрессово для меня: каждый день я приходил домой вечером, падая от усталости. Английский требовал много сил. В итоге из 15 участников два человека получили офферы, включая меня.

Принять оффер было сложно: в этот момент мы закончили ремонт в новой квартире, и жена получила отличное предложение на работу в одной из крупных IT-компаний. Но доля авантюризма, желание получить опыт работы в мультикультурной среде и любовь к велосипедам сделали свой выбор — мы переехали в Нидерланды.

Мне предложили роль Senior iOS developer, но через пару месяцев работы из-за роста компании появились роли тимлидов в командах. Нагрузка на единственного engineering manager существенно возросла, и это был логичный шаг. Я был одним из тех, кому предложили подумать об этой роли и, несмотря на свою неуверенность в новой языковой среде, слабый словарный запас и неумение нормально общаться на общие темы, я ответил утвердительно. Но в итоге выбор пал на другого кандидата — я в тот момент был явно не готов к этой роли. Спустя полтора года мне в очередной раз предложили эту роль. В этот раз я был уверен в своих силах, поэтому без сомнений принял предложение.

Самый простой путь стать Team Lead — брать на себя максимальное количество ответственности для целевой позиции, со временем придет и роль. Все чаще встречаются материалы от сотрудников big tech, где такой способ повышений является чуть ли не утвержденным формально в компании. Роли не раздают, их берут. Думаю, это применимо ко всем компаниям, даже где еще не описаны engineering roles and principles.

Необходимые для Team Lead навыки

  • Хорошие коммуникативные навыки и понимание базовых принципов ведения переговоров, умение правильно и вовремя давать обратную связь.
  • Базовые навыки фасилитации пригодятся в командах, в которых нет выделенной роли scrum master.
  • Эмоциональный интеллект.
  • Стратегическое планирование.
  • Принятие :) Не на всё и не всегда можно повлиять.

Обязанности Team Lead

Обязанности сильно варьируются в зависимости от компании. Например, в классической scrum команде такой роли нет.

Мои обязанности в роли Team Lead:

  • забота о людях (с помощью регулярных one-to-one и неформального общения);
  • решение вопросов и проблем, возникающих внутри команды;
  • карьерное развитие команды (проведение talent review раз в полгода);
  • кросс-командное взаимодействие;
  • мониторинг эффективности команды;
  • постановка долгосрочных целей для команды;
  • проведение интервью (team fit, иногда технические интервью);
  • last but not least — написание кода в роли Senior iOS разработчика.

Моя основная задача — создать открытую доверительную среду в команде, когда люди могут решать любые вопросы самостоятельно и обращаются за моей поддержкой только в том случае, когда все остальное не работает.

Типичный рабочий день Team Lead

Я стараюсь разделять дни, в которые я пишу код, и те, которые заняты митингами. Совмещать довольно сложно, в некоторые недели Team Lead активности занимают более 50 % времени. Это не означает, что оставшееся время можно качественно уделить написанию кода, так как многократные прерывания существенно снижают производительность.

Типичный день в роли Team Lead может выглядеть так:

  • утренняя пробежка;
  • кофе с командой (разумеется, сейчас это видеозвонок);
  • ежедневный стендап митинг;
  • one-to-one митинг с членом команды;
  • перерыв 15 минут;
  • one-to-one митинг с членом команды;
  • обед;
  • еженедельный стендап тим лидов, engineering manager и CTO.

К этому иногда могут добавляться:

  • звонки для решения кросс-командных вопросов;
  • интервью с кандидатами.

Что нужно, чтобы получить должность Team Lead

Иногда роли не дают, их берут. Чем выше по карьерной лестнице роль, тем больше правды в этом утверждении. Смотрите на инжиниринг культуру в вашей компании, на ваши ценности, на то, что делают тимлиды конкретно в вашей компании, и начинайте делать то же самое.

Также я бы рекомендовал четко понимать свои цели. Это не та роль, за которую можно получить существенную прибавку к зарплате. По моему мнению, сюда стоит идти в том случае, если вы чувствуете, что в этой роли вы можете принести пользу своей команде.

Категорически важным является умение разговаривать в широком смысле этого слова. Чтобы найти подход к любому человеку, нужно уметь как слушать, так и говорить на разнообразные темы. Не бойтесь разговаривать с людьми и делайте это чаще. Чем больше люди в компании будут знать вас и понимать, что вы делаете, тем лучше. У меня есть простой способ, которым я пользуюсь, когда чувствую, что «застрял». Я просто ставлю себя на место моего менеджера и задаю себе вопрос «кого я могу поставить на свое место, когда буду уходить из компании?». Обычно здравый смысл сам подсказывает ответы на вопросы «что делать».

Photo 4

Сергей Журавль, Team Lead, N-iX

Путь к позиции Team Lead

Для начала нужно определиться, что такое «Team Lead»: должность, тайтл или призвание. После института я занимал «околоменеджерские» позиции почти на каждом проекте, где работал. Первая официальная позиция — Marketplace Team Lead — у меня была в австралийской компании GroupDocs. Думаю, это было где-то на четвертом или пятом году моей карьеры как программиста.

Думаю, это все же нетипичный путь, но нужно сравнить с другими историями. Например, еще в институте я получил должность «Начальник вычислительного центра», затем «лидил» проект в качестве менеджера в запорожском «Квазаре».

Наша отрасль активно развивается, поэтому очень часто появляются возможности, к которым нужно просто быть готовым. Например, вакансию «Marketplace Team Lead» в Aspose нашел мой друг, который поделился ею со мной и сказал: «Уверен, ты туда подходишь, тем более у тебя хороший английский». Сам мой друг только недавно начал налегать на английский, так как понял, что на лид-позициях без него никуда. Сейчас он лид/архитектор, и путь к этой должности у него был намного длиннее.

Необходимые для Team Lead навыки

В первую очередь это пресловутые soft skills. Также нужно быть действительно лидером, человеком, который и на своем примере покажет, как нужно работать, и команду замотивирует идти за ним. Еще стоит выделить навык, обязательный для лидов в Украине, — английский язык. Если для разработчиков у нас он еще считается не обязательным, то для Team Lead в украинских реалиях в 99 % случаев это must have. Также нужно быть специалистом хотя бы в одном направлении — Backend или Frontend — а в идеале фулстеком.

Обязанности Team Lead

Стандартного набора обязанностей нет — всегда есть исключения, особенно в наших реалиях. Например, часто Team Lead и Tech Lead у нас — это один человек, а в США, насколько я знаю, роли разделяются (например, Tech Lead и Staff Engineer). Поэтому часто зона ответственности лида очень широкая: начиная от сбора команды, организации ее работы, до разработки фич, принятия участия в построении архитектуры и т.п. Также важная часть в наших реалиях — общение с заказчиком, которые в основном зарубежные. Поэтому я и говорил, что английский для лида обязателен.

Типичный рабочий день Team Lead

В зависимости от фазы проекта рабочий день может быть разным. Например, когда начинали работать над проектом, то только собирали команду, а значит, очень много времени уходило на собеседования. Потом это проведение ежедневных митингов, общение с командой, решение проблем, которые у команды возникают, планирование и реализация новых фич в продукте.

Что нужно, чтобы получить должность Team Lead

Опыт в разработке, английский, умение договариваться и желание работать не только с кодом, но и с людьми. Есть ситуации, где ищут лида именно для работы с командой, есть, где ищут на 30-50 % работы с командой. Что сложнее — работать с людьми или технологиями — понятие относительное. Технарю сложнее с людьми, менеджеру — с кодом и технологиями. Все отличается, в зависимости от проекта и конкретного человека.