
Тимлидом у нас часто становился не обученный человек, а тот из разработчиков, который меньше всего не хотел. Потому что часто было надо. Исторически у нас в Skyeng очень много автономных команд (мы работали полностью на удалёнке в разных географиях до того, как это стало модным, и имели репутацию общества интровертов, в котором можно не развивать софт-скилы).
А потом мы обнаружили, что хороший тимлид отличается от вынужденного ещё и производительностью команды. Точнее, умением выдавать стабильный хороший результат и при этом не выжигать команду. А ещё правильно объяснять задачи, правильно объяснять происходящее в компании и правильно вообще общаться, что влияет на настроение людей и, как следствие, текучку — в командах с хорошими тимлидами люди почти не уходили из-за комфорта рабочего процесса.
В общем, мы решили в этих условиях обучать своих тимлидов. Сейчас расскажу, что из этого получилось.

Как было раньше
Мы очень быстро из почти «гаражной» компании стали большой. А описание должностных обязанностей тимлидов осталось «гаражным» — его составил кто-то из наших старичков в далёкой древности. К сожалению, это описание было малоприменимо, потому что состояло из вещей вроде «нормально делай», «будь молодцом», «не делай неправильно». Короче, конкретики было мало, и понять, а молодец ли конкретный сотрудник и что ему нужно сделать, чтобы стать молодцом, из этих описаний было невозможно.
И быстрый рост, и, по сути, отсутствие понимания должностных обязанностей тимлида наложили некоторый отпечаток на процессы. Многие вещи, которые понятно как делать в корпорациях, у нас просто пускались на самотёк, менеджер, которому нужен был тимлид, просто брал кого-то и повышал. В эти славные времена команды были полностью независимы, решения мы принимали быстро и не боялись ошибок, поэтому в случае с тимлидами расстреляли себе неплохую дыру в ноге.
Такое почти случайное назначение без обучения приводило иногда к положительным эффектам, а иногда к драме. Дело в том, что у менеджеров было разное понимание, зачем им нужен тимлид и какими компетенциями должен обладать. Кто-то хотел управления командой, кому-то нужен был техлид, кому-то нужен был человек, который бы присматривал за решениями и стабильностью сервисов. Никто не проверял особо, готов ли человек тянуть менеджерскую работу.
Получилось, что в компании не было единого понимания, кто же такой тимлид. При переходе в другую команду бывший крутой тимлид мог стать неподходящим по требованиям, что кончалось увольнением либо понижением обратно в разработчика. Хотя скил от перемены команды меняться, по идее, не должен.
К переходу новые тимлиды тоже были не очень готовы. Ведь отвечать надо было не за свой результат, а за результат, сделанный целой командой. Меняется спектр задач и компетенций. Для многих это становилось откровением, и после пары-тройки кварталов они говорили: «Да ну, к чёрту, этот менеджмент» и уходили обратно на позицию разработчика.
Компания теряла время, команда не получала надёжного руководителя, а сотрудник терял нервные клетки. В среднем по компании команда тимлидов получалась слабой, и среди них была большая текучка.
Что было не так
Не заходило у вчерашних разработчиков потому, что им доставалась команда (знакомая, понятная и часто любимая, но всё же целая команда), а дальше никто ничего не рассказывал про то, как её вести. Естественно, дальше либо человек сам находил знания, либо, чаще, пытался вытащить проект усиленной работой и немного сгорал. После этого он уходил кодить в какую-то другую часть компании, в другую команду.
Начали смотреть, чего критически не хватает. Тогда нам казалось, что можно собрать экспресс-курс и всё будет хорошо. Оставалось понять, что будет в этом курсе. Данные начали получать из нескольких источников:
- От продакта, который управлял тимлидами: у него было внутреннее ощущение сильных и слабых сторон своих подчинённых.
- От команд, конечно.
- От руководителей подразделений.
- И от HR-подразделения, делавшего регулярные оценки по тому, какие у кого навыки внутри компании.
Матрица: начало
На этом фоне пару лет назад мы провели большое исследование по поводу того, где у нас бутылочные горлышки в развитии. Выяснили, что проблема с компетенциями тимлидов действительно есть.
Тогда мы решили собрать классическую матрицу компетенций: набор навыков и умений сотрудника на позиции тимлида. Посмотрели, что они сейчас делают в компании, покастдевили продактов, спросили их подчинённых и сдобрили своим замечательным прошлым опытом. И, конечно, не забыли посмотреть на фундаментальные результаты работы Егора Толстого и Стаса Цыганова.
Группа |
Компетенция |
Выстраивание процессов |
Делает осознанный выбор методологии разработки и внедряет её. Выполняет роль Scrum Master или Service Delivery Manager либо делегирует роль в команду |
Формирует SLA по процессам разработки своей команды (scope drop, velocity, lead time), настраивает процессы так, чтобы SLA выполнялись, проводит разбор и изменяет процессы, если процессы нарушаются |
|
Формирует SLA по времени реакции и исправления багов и обращений из саппорта, настраивает процесс работы так, чтобы SLA выполнялись, проводит разбор и изменяет процессы, если процессы нарушаются |
|
Формирует SLA по времени реакции и исправления инцидентов в продакшене, настраивает процесс работы так, чтобы SLA выполнялись, проводит разбор и изменяет процессы, если процессы нарушаются. Настраивает процесс проведения последующего разбора причин инцидента, выявления и реализации соответствующих action items |
|
Проводит регулярные ретроспективы и постоянно совершенствует процессы команды |
|
Управление командой |
Совместно с продакт-менеджером формирует цель существования своей команды, доносит её до всех членов, мотивирует сотрудников на её достижение |
Распределяет функции и роли в команде с учётом личных качеств сотрудников и потребностей бизнеса |
|
Организует процесс эффективной коммуникации так, чтобы обмен информации внутри команды происходил своевременно и без искажений |
|
Помогает в разрешении конфликтов как внутри своей команды, так и на стыке с другими |
|
Является неформальным лидером для своей команды. Управляет командой, используя свой авторитет и опыт, а не административные рычаги |
|
Знает и транслирует команде преимущества и бенефиты работы в компании |
|
Транслирует команде цели и миссию компании, каскадирует информацию до своей команды |
|
Управление людьми |
Принимает решение о найме новых людей, принимает решение об увольнении слабых, принимает решение о ротации людей внутри компании в случае необходимости, согласуя решения с бюджет холдером |
Обеспечивает ��ыстрый и качественный онбординг новых сотрудников |
|
Проводит регулярные 1:1, знает какие типы 1:1 встреч бывают, применяет их в зависимости от необходимости |
|
Понимает мотивацию каждого члена команды, даёт именно те задачи и области ответственности, которые максимально раскрывают потенциал человека |
|
Строит и контролирует выполнение планов развития каждого сотрудника |
|
Оценивает результативность сотрудников, даёт конструктивный своевременный фидбек |
|
Техническая экспертиза |
Является владельцем технического беклога своей команды: собирает запросы на техническое совершенствование, управляет их приоритетом, обеспечивает регулярную их реализацию |
Следит за технической культурой команды, внедряет инженерные практики для повышения культуры |
|
Настраивает процесс обеспечения качества, внедряет принятые в компании QA-практики самостоятельно или делегируя QA-специалисту |
|
Формирует SLA работоспособности и/или NFR сервисов и/или NFR, настраивает процесс работы так, чтобы SLA выполнялись, проводит разбор и изменяет процессы, если процессы нарушаются |
|
Обеспечивает наличие актуальных и полных дашбордов работоспособности с метриками и алертами |
|
Постоянно развивает себя и команду, прокачивая необходимые для компании технические и прочие компетенции |
|
Внедряет принятые в компании инструменты, процессы и практики |
|
Поддерживает актуальную документацию по проекту в общих справочниках |
|
Поддерживает актуальную документацию внешнего API и библиотек, используемых другими командами |
|
Обеспечивает качественное проектирование, реализацию и эксплуатацию технических решений как локальных, так и межкомандных проектов, где его собственный домен играет ключевую или одну из ключевых ролей |
|
Целеполагание и планирование |
Декомпозирует среднесрочные (квартальные) цели в краткосрочные (месяц/спринт) совместно с продакт-менеджером |
Формирует краткосрочные цели команды (например цель спринта) совместно с продакт-менеджером и обеспечивает их выполнение |
|
Планирует hardware ресурсы и эффективно их утилизирует |
|
Формирует дизайн команды, планирует вакансии с учётом будущих потребностей бизнеса и согласует их с бюджет холдером |
Потом решили по этой матрице провести быструю оценку всей команды.
Каждый руководитель каждого тимлида сделал в гугл-табличке вкладку, в которой по каждой из обозначенных компетенций поставил оценку по пятибалльной шкале:
1 — не знает, не делает.
2 — знает теорию, но не делает.
3 — знает и выполняет частично либо с ошибками.
4 — знает и полностью выполняет.
5 — знает, выполняет и может учить других.
В итоге мы получили две важные вещи:
- Быструю оценку каждого сотрудника и понимание, кто у нас тут супергерой, а кому пора на выход.
- Группировку по компетенциям, которая показала нам, какие из них у нас просажены в компании больше всего.

Наши грустные результаты
«Хм… Странно, — подумали мы, — а почему у нас просажена компетенция «Техническая экспертиза»? Мы же технологическая компания и все тимлиды выходцы из разработчиков». По результатам кроме технической экспертизы, как видно из картинки, были просажены ещё две компетенции: выстраивание процессов и управление людьми. Но к этому мы морально были готовы, а вот к плачевному состоянию технической экспертизы — нет.
И поэтому тогда мы сделали ещё одну интересную штуку: посчитали не только среднюю оценку по каждой компетенции, но ещё и стандартное отклонение. И тут нас ждал сюрприз: компетенции с низкой оценкой разделились на два типа:
- Компетенция с низкой оценкой и с низким стандартным отклонением. Это говорит о том, что она отсутствует у всех сотрудников.
- Компетенция с низкой оценкой, но с высоким отклонением. А это говорит о том, что часть команды с ней справляется, а часть команды — нет.
И мы сгруппировали все компетенции по показателям среднего значения и стандартного отклонения. И получилась вот такая градация:
- Ок — компетенция в среднем в порядке и ничего с ней делать не надо.
- Внедрять на уровне компании — это компетенции с низкой оценкой и низким отклонением. Они просажены потому, что в целом нет такой практики в компании, а мы наивно надеялись, что она сама из учебников в жизнь проросла. Например, мы ожидали, что все тимлиды пишут документацию и формируют SLA на свои сервисы. Но никто этого не делал, потому что на уровне компании не было внедрено такой практики. Так что компетенции из этой группы пошли в нашу техническую стратегию — сначала мы должны внедрить её и только потом обучать тимлидов.
- Прокачивать — сюда попали компетенции, которые какие-то тимлиды делают хорошо, а какие-то не очень. Например, построение планов развития сотрудников. Да-да, очевидно, что опытные тимлиды прекрасно понимают ценность своей команды и важность непрерывного развития для своих сотрудников, а кто-то вообще в этом не шарит. Этот набор компетенций мы и взяли в проработку на обучение.
Что должен делать тимлид вообще
Для начала мы решили выровнять ожидания от тимлидов на уровне всей ��омпании: какими компетенциями он должен обладать, за какие зоны нести ответственность. У нас сформировалось три больших направления:
- Люди: тимлид должен уметь собирать команду, работать над ростом её производительности, работать на индивидуальном уровне с каждым сотрудником для его мотивации и развития.
- Процессы: тимлид должен обеспечить качественно настроенный процесс разработки. Неважно какую методологию он использует, но команда должна давать стабильный и предсказуемый результат. Должны быть качественно настроены: работа с техдолгом, инцидент-менеджмент, работа с продакшен багами и так далее.
- Команда должна качественно проектировать и реализовывать свои решения и непрерывно заниматься их эксплуатацией. Тимлид отвечает за архитектуру и инженерные практики.
Как пытались исправить
Решили устроить внутреннее обучение для повышения квалификации тимлидов по тем компетенциям, которые были просажены больше. Мы же занимаемся образованием, правильно? Можно же делать это и внутри. Ну и у нас несколько тысяч человек и мы точно сможем найти экспертов. Получилось 26 тем, например, «Мотивация и 1:1», «Работа с входящими задачами», «Как правильно проводить встречи», «Онбординг и проведение испытательного срока». Выбрали 6 самых важных для обучения, по каждой из этих топ-6 нашли экспертов, подготовили материалы, составили расписание и отправили анонс на всю команду тимлидов. Тимлиды сами выбирали, какой интенсив посетить (иногда их туда отправляли их руководители), исходя из своих интересов. Каждый интенсив — это 1–2 семинара по 1–2 часа с обязательной домашней работой. В течение года удалось провести несколько итераций по каждой теме.
За прошедший год через интенсивы прошло примерно 20 человек (они оставили хорошие отзывы). Мы регулярно собирали обратную связь и улучшали программу, расписание, домашки, темы и так далее. Интерес к темам был, польза от них тоже.
Но основную проблему мы не решили.
На интенсив приходили те, кто и так хотел расти, и знал куда. Когда человек достаточно зрел для такого, он найдёт себе обучение или кого спросить, что внутри компании, что за её пределами. Мы просто дали инструмент тем, кто и так был достаточно хорош.
У тех, кому реально нужно было обучение, обычно что-то горело. То есть времени на обучение не было. Вообще. Если они всё же выкраивали время, то не могли нормально учиться из-за отсутствия практики. Домашка и практическое применение навыков в команде — это разные вещи. Опять же, мы прекрасно понимаем, что в том, чему мы учим клиентов компании, теория — 20%, практика — 80%. Сапожники оказались без сапог. Дважды, потому что мы ещё не измеряли прогресс и не заложили никаких критериев успеха новой программы. Смотрели на посещаемость, смотрели на обратную связь от тимлидов и иногда от их менеджеров. Но у нас не было системы.
От матрицы знаний к навыкам
Пока мы работали над интенсивами и пытались через них прокачать команду, поняли, что есть ещё одна проблема: наша матрица компетенций достаточно статична. То есть она описывает видение идеального сотрудника, но по ней достаточно сложно видеть прогресс. Ведь не бывает так, что был синьор-разработчик, а потом хоба! — и стал идеальным тимлидом.
Поэтому мы задумались над грейдированием, которое бы отражало реальное развитие специалиста. Вот, например, есть молодые и неопытные тимлидики, к ним отдельные требования и отдельные ожидания, у них своя вилка зарплаты и им можно поручать небольшие и несложные команды. А есть нормальные сильные ребята, которые уже пару лет поварились в этой роли и теперь могут взять на себя полноценную команду со всеми её сложностями и проблемами и успешно их решать. Разумеется, что у них и зарплата повыше, и ответственность серьёзнее. А ещё есть вообще монстры, которые пошли на уровень выше в межкомандное взаимодействие, превратившись в «юнитлид-стажёров» (юнитлидами мы называем engineering managers, у которых в подчинении группа тимлидов).
В первой версии матрицы этого не было, поэтому после раздумий мы с прекрасными HR родили версию 2.0 с тремя уровнями:
- Навык недостаточно развит.
- Развит на уровне базовых ожиданий.
- Навык развит с превышением ожиданий.
И это дало нам более тонкую систему измерения. Образно выражаясь, в нашей линейке кроме сантиметров появились миллиметры. Благодаря этому нам стало понятно, чего хотеть от неопытных товарищей, а чего требовать от тех, кто получает полноценную рыночную зарплату. И главное, как понимать, что боец уже перерос свою текущую позицию.
И знаете что? Всё это не помогло.
Потому что матрица нацелена на знания, а не на то, что сотрудник реально делает изо дня в день в своей работе.
Знать-то я могу многое: изучить все книги по менеджменту и пройти стопятьсот спецкурсов. Но при этом на работе буду как валенок: сотрудники будут бежать, сервисы сыпаться, а процессы стоять. Ну и самое главное, эта матрица не отвечает на вопрос «А что мне надо делать-то?»
Поэтому решили, как и с грейдированием разработчиков, что нужно делать упор именно на проявления, то есть максимально чётко описать, как тот или иной навык должен проявляться в работе.
Например, вместо абстрактного «Делает осознанный выбор методологии разработки и внедряет её» сформировали такие критерии:
- Осознанно выбирает методологию.
- Воркфлоу в Джире отражает реальный процесс.
- Корректирует процессы, опираясь на метрики, регулярно следит за ними.
- Исполнение завязано не на конкретных людей, а на ролях и т.д.
Короче, нам важно понять, что именно происходит в работе тимлида, как это проявляется и как любой член команды может это легко и объективно оценить.
Что дальше?
- Нужна понятная система оценки навыков тимлида. Для этого мы прямо сейчас прорабатываем конкретный набор скилов и под каждый из них описываем набор критериев — как та или иная компетенция проявляется в работе конкретного сотрудника. Это даст нам хорошую опору для оценки всей команды и, что самое важное, возможность отслеживать прогресс конкретного сотрудника. Примерно похожее мы делали для английского языка, но там ��то используется для другого.
- Нужно больше практики. Для этого даём тестовый период. Новый тимлид пробует менеджмент в безопасных для себя и команды условиях. Руководитель формирует конкретные ожидания, ставит измеримые цели на какой-то период (обычно полгода), сотрудник пытается их реализовать при полноценной поддержке руководителя. Очень важно, чтобы менеджер регулярно давал обратную связь и помогал новобранцу достигать результата в новой роли. И вот в том случае, если он хорошо справился с новыми задачами, тогда можем давать ему промо и отдавать команду в управление, не боясь случайных выстрелов в ногу.
- Нужно переделывать всю программу в практико-ориентированную. То есть не «вот такая методология, вот так она применяется к команде», а «вот такая ситуация, вот так можно поступить, вот методология, которая лежит за логикой принятия решения».
- Нужна полноценная связанная программа обучения. Например, темы про управление людьми очень тесно между собой переплетены и давать одну без другой не разумно: мы должны говорить и про правильный найм команды, и про регулярную 1:1 работу, и про мотивацию, развитие, и про дачу обратной связи, и про командную динамику, и про индивидуальный менеджмент, и даже про увольнения. Если тимлид прослушает только одну тему, то у него не сложится полноценной картины в голове, будет разрозненное лоскутное одеяло.
- Привлекаем методологов делать систематику.
- Будем вводить в программу не тех, кто хочет, а тех, кому это нужно.
Так что у нас нет ответа, как делать хороших тимлидов или как правильно учить всю команду. Мы только начали эту итерацию и сейчас находимся на этапе формулирования и валидации набора критериев и привязки их к конкретным грейдам тимлидов.
To be continued, в общем… Хотя я надеюсь, что на все классические грабли мы уже понаступали.