Как стать автором
Обновить
240.62
AvitoTech
У нас живут ваши объявления

Путь разработчика от исполнителя до тимлида

Время на прочтение10 мин
Количество просмотров14K

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

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

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

Мотивация стать тимлидом

Если вы не задумывались, зачем вам становиться тимлидом, то я рекомендую это сделать. Сесть в спокойной обстановке и выписать как плюсы, так и минусы перехода. Путь до тимлида — непростой. Поначалу он принесёт много стресса и неудач.

Чтобы с этим справиться, нужны сильные мотиваторы. Если основная мотивация — это «больше золота» или «больше власти», то стоит ещё разок хорошо подумать, реально ли оно вам нужно. Денег тимлиды получают не сильно больше, чем senior-разработчики. Начиная с этого уровня, зарплата обычно растёт не такими высокими темпами. По поводу власти: несомненно, у тимлида много влияния на команду, её результаты и окружение. Но ключевые решения всё равно нужно обосновывать и согласовывать с собственным руководителем и другими людьми, а ответственности очень много.

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

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

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

За что отвечает тимлид в Авито

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

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

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

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

Целеполагание, планирование и реализация. Тимлид ставит сильные цели вместе с владельцем продукта, планирует на горизонте квартала и дольше. Он же отвечает за достижение результатов.  

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

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

Помимо перечисленного, тимлиды в Авито 25-50% времени работают руками. Процент зависит от размера команды и текущей ситуации.

Как разработчику развиваться в тимлида

Как развиваться в тимлида, если вы разработчик, а значит в основном пишете код и доставляете фичи до прода? 

Можно условно выделить три больших способа развития: 

  1. Теория в виде книг, курсов, вебинаров и докладов. 

  2. Общение с экспертами.

  3. Выполнение рабочих задач. 

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

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

Конечно, нужно тренироваться проводить собеседования. Причём не только технические, но и «собеседования с руководителем», чтобы научиться оценивать нужные команде софт-скиллы, понимать мотивацию кандидата и то, подходит ли вам человек по культуре и ценностям. 

В каждой команде довольно много пространства для улучшения процессов. Нужно самостоятельно или вместе с коллегами посмотреть на то, как вы работаете и где есть точки роста. А потом взять на себя задачу решить важную проблему либо значимо улучшить процесс. Здесь нужно сразу подумать о том, как вы поймёте, что улучшение действительно наступило. 

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

Где можно расти в работе с людьми? Если пойти от простого к сложному, то первое и самое лёгкое — это онбординг, то есть введение в работу нового коллеги во время его испытательного срока. 

Далее — менторинг. Например, если вы middle-разработчик, прокачать до вашего уровня junior-разработчика, либо прокачать middle, если вы senior. Для этого потребуется провести оценку знаний и компетенций человека, составить план развития и помогать по нему двигаться.

И последнее, самое сложное, — это обучение стажера. У нас в Авито уже несколько лет действует стажёрская программа. Наставники проводят полный цикл: подбор нужного кандидата, его онбординг, обучение и совместная работа до момента, когда стажёр получает предложение перейти в штат.

В развитии навыков целеполагания, планирования и реализации очень важно получить практический опыт. Здесь есть хорошая практика: договориться с вашим руководителем, чтобы вы стали «владельцем» крупной задачи либо проекта. То есть вы как «локальный тимлид» организуете работу и следите за задачей на всех этапах от идеи до реализации. Конечно, руководитель должен контролировать весь процесс, помогать и подсказывать где надо.

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

Что касается технических навыков. В Авито команды кросс-функциональные. Это значит, что у тимлида под управлением будут iOS-, Android-, фронтенд- и бэкенд-разработчики, QA-инженеры. И нужно хотя бы базового разбираться в каждой из этих платформ и функций. Чаще всего у разработчиков не такая глобальная специализация, поэтому нужно развивать свои навыки в ширину. Для этого хорошо подходят базовые курсы, книги и решение задач из бэклога не по своей основной специальности с помощью эксперта или под его руководством.

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

Здесь поможет теоретическая подготовка. Есть хорошие базовые курсы для продакт-менеджеров, например Go practice. Обязательно пользуйтесь вашим продуктом сами и смотрите, как им пользуются другие. Если время позволяет, помогайте менеджерам продукта, изучайте отзывы из поддержки и магазинов приложений.

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

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

  1. Взять ожидания от тимлида в вашей компании. Если они не описаны, их нужно «вытащить» из подходящего руководителя.

  2. Оценить, насколько вы прямо сейчас попадаете в эти ожидания.

  3. Попросить руководителя или более опытного коллегу оценить вас по этим ожиданиям.

  4. Посмотреть, что получилось, выделить сильные и слабые стороны и выбрать фокусные зоны, которые нужно прокачивать в первую очередь.

  5. Составить себе план развития. Здесь важно поставить конкретные цели со сроками и определить, как вы поймёте, что цели достигнуты.

Общайтесь с экспертами и коллегами не только из вашей организации, но и из комьюнити. Это можно делать на конференциях, где будет возможность завести полезные знакомства. Есть крупные конференции, вроде TeamLeadConf. Мне нравится также формат Podlodka Team lead crew, который предполагает не только доклады, но и общение в различных форматах, а также общее пространство в Slack.

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

Даже если у вас в компании такой программы нет, вы можете договориться с кем-то из более опытных коллег о наставничестве, либо воспользоваться сайтами для поиска ментора, например getmentor.dev. Там много классных людей, которые готовы помогать по разным вопросам и часто даже бесплатно.

Как стать тимлидом

Я буду рассказывать о пути до тимлида на опыте Авито, потому что другого у меня нет.

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

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

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

Когда позиция появляется в том же департаменте, где трудится разработчик, ему сразу могут доверить руководство новой командой. Так происходит, если руководитель видит в человеке потенциал и верит, что он справится. На что обращают внимание при выборе кандидатов? В первую очередь это ориентация на результат, причём на результат команды, а не сугубо личный. Человек должен не бояться брать на себя ответственность, уметь договариваться с людьми, быть экспертом в своей области. А также, что важно, проявлять лидерские качества.

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

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

Рекомендации по книгам и курсам

Напоследок порекомендую несколько книг:

  • «7 навыков высокоэффективных людей», Стивен Кови. Книга, которая не связана напрямую с управлением, но лично на меня сильно повлияла, не только в работе. Если было бы нужно порекомендовать одну книгу, я бы выбрал её.

  • «Высокоэффективный менеджмент», Энди Гроув. Классическая книга по менеджменту. Надо делать поправку на год издания (1996), но внутри много годных мыслей.

  • «Джедайские техники», Максим Дорофеев. Основа по управлению собой во времени: time и task management и многое другое полезное.

  • «Пять пороков команды», Патрик Ленсиони. Книга про зрелость команд.

  • «Смерть от совещаний», Патрик Ленсиони. Про бич современных корпораций.

  • «Цель: Процесс непрерывного совершенствования», Элияху Голдратт. Про теорию ограничений. Книга не только очень полезна, но и круто написана.

  • «Действуй как лидер, думай как лидер», Эрминия Ибарра. Книга про лидерство.

  • «Эмоциональный интеллект», Дэниел Гоулман. У меня книга тяжело пошла, но материал нужный, рекомендую прочитать как минимум в кратком изложении.

  • «Измеряйте самое важное», Джон Дорр. Про ОКР и целеполагание.

  • «Драйв: что на самом деле нас мотивирует», Дэниел Пинк. Про мотивацию.

  • “Running lean” и “Scaling lean” рекомендую прочитать в кратком изложении для понимания цикла развития продукта от идеи до закрытия.

Во вторую очередь:

  • «Легко не будет. Как построить бизнес, когда вопросов больше, чем ответов», Бен Хоровитц. Про работу CEO, но мне очень понравилась, мысли классные и написана интересно.

  • «Лидер и племя», Джон Кинг, Дэйв Логан, и Хэли Фишер-Райт. Не для начинающих руководителей, но хорошая.

  • “Good to great”, Джим Коллинз. Книга про великие компании. Начинающему тимлиду без надобности, но внутри хорошие идеи.

  • «От нуля к единице», Блейк Мастерс, Питер Тиль. Про стартапы и запуск новых продуктов. Начинающему тоже скорее всего не нужно, но в целом полезно.

Ещё мне понравился курс про run и change от Наташи Бабаевой. Очень лёгкий формат и много пользы. У неё же есть платная рассылка про инновации, тоже интересная.

Не рекомендую из того, что часто советуют:

  • «Как пасти котов», Дж. Ханк Рейнвотер. Мне книга показалась устаревшей, много полезной информации я там не нашёл.

  • «Мифический человеко-месяц», Фредерик Брукс. Аналогично, книга, на мой взгляд подустарела, мысли довольно очевидные.

Теги:
Хабы:
Всего голосов 12: ↑10 и ↓2+11
Комментарии12

Публикации

Информация

Сайт
avito.tech
Дата регистрации
Дата основания
2007
Численность
5 001–10 000 человек
Местоположение
Россия