JavaRush/Java блог/Random/Гений, программист, стратег, менеджер. Кто такой Tech Lea...

Гений, программист, стратег, менеджер. Кто такой Tech Lead и как им стать?

Статья из группы Random
участников
В сфере разработки ПО и в ИТ-индустрии вообще есть много позиций, которые называются по-разному, но частично или в большей мере похожи по содержанию работы. Даже если говорить о специальностях, которые напрямую относятся к разработке, есть такие позиции, как Senior Developer, Technical Lead, Architect, Engineering Manager и ряд других. Зачастую то, что делают эти специалисты по-разному трактуют в зависимости от компании и коллектива. Мы по возможности стараемся разбирать каждую из основных позиций такого рода, описывая ее суть, требуемые навыки и общие перспективы. Гений, программист, стратег, менеджер. Кто такой Tech Lead и как им стать? - 1Сегодня очередь дошла до Technical Lead-ов. И здесь действительно есть о чем поговорить, поэтому давайте начнем. Гений, программист, стратег, менеджер. Кто такой Tech Lead и как им стать? - 2

Кто такой Tech Lead?

Если коротко, это один из самых опытных разработчиков в компании, который управляет девелоперской командой и несет ответственность за качество всей технической работы на проекте. Если говорить чуть более подробно, одна из основных функций эффективного Tech Lead — формирование видения технической части проекта для команды разработчиков и его реализация совместно с другими членами команды. В этом роль техлида отличается от других пересекающихся с ней позиций, таких как Team Lead, Software Engineering Manager и Architect. О различиях мы поговорим чуть подробнее дальше. Суть позиции Tech Lead-а везде понимают по-разному, и это нормально, учитывая молодость всей индустрии девелопмента и ее постоянную трансформацию. Вот что по этому поводу говорит Джефф Каруф (Jeff Carouth), опытный разработчик и Tech Lead в компании Ziff Media Group: “Кто-то скажет вам, что техлид — это практически то же самое, что и архитектор ПО, только Tech Lead не занимается непосредственным написанием кода. Другие считают, что техлиды — это менеджеры среднего уровня, которые изначально были обычным разработчиками. Найдутся и те, кто скажет, что техлидами обычно являются просто самые опытные и сильные разработчики в компании, которые получают назначение на эту позицию благодаря своего реальному вкладу в техническую часть работы над проектом. Для меня, техлид — это тот, кто имеет большой опыт в качестве разработчика, и уже продемонстрировал способность эффективно коммуницировать не только с другими программистами, но и со всеми остальными, включая продакт-менеджеров, руководство компании, дизайнеров, рекламщиков и всех остальных.” Весьма исчерпывающе.

В чем состоит функция Tech Lead?

Tech Lead, который, в разных компаниях также может зваться TechManager-ом, Lead Platform Engineer, Head Architect of Development или как-нибудь еще, в зависимости от буйности фантазии менеджмента, обычно несет ответственность за реализацию технической части проекта. Это тот человек, который говорит последнее слово в команде разработчиков, а также отвечает за ошибки и проблемы в проекте. Очень хорошо суть функции Tech Lead-а в компании суммировал Амр Ноаман (Amr Noaman), создатель и глава Agile Academy: “Главная и основная ответственность этого человека в любой организации — это техническая реализация продукта.” Если говорить короче и конкретнее, то список основных функций “правильного” Tech Lead-а будет примерно таким:
  • Подготовка стратегии по технической разработке проекта или его части, адаптация и корректировка данной стратегии в зависимости от требований и обстоятельств.
  • Поощрение здоровых споров и обсуждений внутри команды и содействие процессу принятия решений.
  • Работа над устранением проблем и факторов, которые могут мешать членам команды эффективно работать.
  • Идентификация и поиск решения проблем, возникающих в процессе разработки, а желательно — предугадывание и устранение причин этих проблем еще до того как они проявятся.
  • Делегирование задач и ответственности за разные части работы над проектом другим членам команды.
Гений, программист, стратег, менеджер. Кто такой Tech Lead и как им стать? - 3

Нужны ли ИТ-компаниям Tech Lead-ы?

Как водится в индустрии, по этому вопросу единого мнения тоже нет. Например, Винисиус Гомес (Vinicius Gomes), разработчик в компании ThoughtWorks, утверждает, что позиция Tech Lead-а часто является проблемной, и ее вообще лучше устранить. По его мнению, которое имеет достаточно существенную поддержку в девелоперских кругах, эта позиция в большинстве случаев включает в себя объем работы для нескольких человек, из-за чего часто страдает командная структура. Поэтому, считает Гомес, позицию Tech Lead-а лучше вообще устранить, скорректировав менеджерскую структуру таким образом, чтобы разные члены команды разработчиков могли распределить между собой разные роли. Это позволит команде работать более эффективно. Однако большинство разработчиков все же считают, что позиция Tech Lead-а нужна и важна, если, конечно, техлид хорошо знает работу и правильно выполняет свои функции. Гений, программист, стратег, менеджер. Кто такой Tech Lead и как им стать? - 4

Каким должен быть хороший Tech Lead?

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

    Это то, в чем, по мнению большинства, заключается работа Tech Lead-а: делать все необходимое для того, чтобы команда разработчиков выполняла свою работу наиболее эффективно. В этом функции Tech Lead-а пересекаются с обязанностями Team Lead-а и Lead Engineer-а, с той лишь разницей, что Tech Lead должен отвечать за общий процесс и финальные результаты. Поэтому наличие Tech Lead вообще имеет смысл только в тех случаях, когда команда разработчиков достаточно большая, а проект, над которым она работает, — достаточно сложный и масштабный.

    Хорошая работа Tech Lead-а приводит к тому, что вся команда работает правильно и слаженно, как единый механизм, выдавая нужный продукт в рамках запланированных сроков.

  • Формирование мотивированной команды девелоперов и менеджмент.

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

    Это менеджерская часть задачи и, одновременно, та часть, которой многие техлиды стремятся избегать или не считают нужным уделять ей внимание, потому что считают менее важной и второстепенной. Однако практика показывает, что такие вещи как мотивация, персональный подход, коучинг, мотивация и создание дружелюбной атмосферы в команде все-таки играют достаточно важную роль (пусть и не смогут компенсировать проблемы с технической частью), и отражаются на финальном результате самым прямым образом.

  • Координация и балансировка усилий.

    Координация означает, что не только команда разработчиков работает слаженно и эффективно, но ее работа также хорошо скоординирована с другими подразделениями. Для этого эффективный Tech Lead должен не только понимать потребности девелоперов, но и уметь смотреть на работу глазами других специалистов компании.

  • Ответственность за все успехи и промахи команды разработчиков.

    Также хороший Tech Lead, будучи главным стратегом и тактиком в одном лице, умеет брать на себя ответственность как за успехи в работе, так и за провалы или ошибки, которые неизбежно возникают в ходе реализации того или иного проекта.

Чем занимается хороший Tech Lead и как им стать?

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

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

  • Стек технологий.

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

  • Архитектура ПО.

    Та область, в которой полномочия техлида прямо пересекаются с обязанностями архитектора ПО, но Tech Lead в данном случае стоит выше, чем обычный архитектор, и отвечает за окончательные решения и подходы к ним.

  • Внутреннее планирование и распределение зон ответственности.

    Tech Lead, как человек, несущий ответственность за финальный результат, должен устанавливать сроки сдачи тех или иных частей проекта, и определять зоны ответственности.

  • Сроки выпуска новых релизов.

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

  • Политика Code Review.

    Все, что касается просмотра и рецензирования кода, точнее выбора основных подходов к данному процессу, также является компетенцией техлида.

Зарплатные перспективы

Ну и напоследок самое вкусное — сколько обычно зарабатывают специалисты на позициях Tech Lead, или, другими словами, одна из основных причин зачем имеет смысл (или не имеет смысла, решайте сами) много работать над собой и своим профессиональным ростом, чтобы однажды вырасти и стать гордым и уважаемым техлидом. Согласно данным популярного портала Glassdoor, средняя мировая зарплата специалистов на позиции Tech Lead составляет $78.6 тыс. в год. В США, согласно данным авторитетного ресурса PayScale, средний техлид зарабатывает около $101,4 тыс. в год. Другой популярный ресурс, Salary.com, дает нам цифру в $131 тыс. в год, с примерной вилкой от $118 тыс. до $145,5 тыс. в год. В “наших широтах”, как вы наверное уже догадались, зарплаты технических лидеров ниже американских и немного ниже среднемировых. Так, по данным ресурса DOU, в Украине в декабре 2019 года средний техлид зарабатывал около $4400 в месяц. В России, по данным ресурса Trud.com, зарплата техлида может доходить до 400 тыс рублей в месяц ($5600).
Комментарии (3)
  • популярные
  • новые
  • старые
Для того, чтобы оставить комментарий Вы должны авторизоваться
Юрий
Уровень 19
9 июня 2020, 13:47
после 16 уровней уже готов стать тех-лидом)))
Николай Уланов
Уровень 18
2 июня 2020, 07:05
Есть тут те, кто уже трудится тех-лидом в компании?
Александр
Уровень 1
9 июля 2020, 11:35
Трудился. Перестал ввиду того, что эта роль избыточна. Попытка сделать универсального солдата, который всегда крайний ответственный. Если коротко, это project manager в сочетании с архитектором и главным разработчиком. Вместо того чтобы развивать саму devops-команду, делая ее автономной, предполагается, что техлид ведёт технический надзор и как бы всегда прикрывает тылы dev-участников, лишая их ответственности. Техлид никогда не сможет работать эффективно со скрам мастером. Это избыточная сущность.