Стоит ли идти в тимлиды? Я уже давно прыгаю между менеджментом и разработкой и до сих пор однозначно не ответил на этот вопрос. У меня накопилось много проблем, которые не дают расслабиться. Эти проблемы не связаны с какой-то конкретной компанией. И это не только мое личное восприятие действительности, мои коллеги сталкивались с тем же самым. Поэтому дальше пойдет речь о коллективном усредненном тимлиде.
Цель статьи – не просто пожаловаться на эту роль. Скорее я хочу подсветить самые главные проблемы, которые для кого-то станут красным флагом при принятии важного решения в жизни.
Деградация
В книжках по менеджменту или подкастах про тимлидерство всегда звучит много умных слов. Создается впечатление, что тимлидерство – это бездонная сфера для личного развития. Но давайте будем честными, на практике работа тимлидом – это чаще какая-то машинальная рутина. По сути ты просто обслуживаешь команду, пока все работают и делают сложные задачи. Чем занимается тимлид в это время:
Следит за процессами и ритуаламипроводит однотипные командные встречиСледит за бэклогомперекладывает задачки из одного места в другоеДекомпозирует задачизаводит в эпике много маленьких задачСледит за развитием разработчиковпроводит 1:1 у разработчиков и узнает у них как дела
Если нет сложных менеджерских вызовов, то ты скорее будешь погружаться в рутину одинаковых действий и однотипных встреч. Можно читать менеджерские книги и развиваться в этом направлении, но практически никакого эффекта от этого не видно в ежедневной работе. Так происходит, потому что редко удается применять знания на практике, в отличие от инженерных знаний.
Если добавить к этому ежедневную утрату технических скиллов, то ты скорее тупеешь каждый день, чем развиваешься.
Много денег – это миф
Ты легко можешь попасть в такую ситуацию, когда разработчик из твоей команды получает больше тебя. Возможно, в этом нет ничего страшного и даже можно найти логическое обоснование этому явлению. Есть ключевые синьерные разработчики, которых нужно мотивировать и удерживать. И нет такого ограничения, что потолок разработка – это ЗП его тимлида.
Но представьте такую ситуацию глазами тимлида. Ты отложил кодинг на второй план, если вообще не перестал программировать. Не программируешь год, два. А в это время разработчику из твоей команды начинают платить больше тебя. Закрадывается мысль, а точно ли я сделал правильный выбор? Возможно, если бы я развивался как инженер, то на сегодняшний день имел бы лучшие условия.
В большинстве случаев тимлиды и правда получают немного больше разработчиков, но не намного. У тимлидов и синьеров примерно одинаковая зарплата. К тому же синьор-разработчик может закрывать свои задачи за несколько часов. При этом тимлид часто тратит половину рабочего времени на встречи, которые никак не оптимизировать по времени. А дальше считайте сами.
Тяжесть оценки
Непонятно, как оценивать твои достижения. Вот команда работает и работает, задачи закрываются. Это значит, что ты хорошо поработал как тимлид? Вроде да, но я ни разу не видел какого-то восхищения этим фактом. Скорее это воспринимается как должное. В некоторых компаниях могут вообще оценивать именно твои технические достижения. То есть то, что ты успел покодить в свободное от встреч время.
Есть и проблема самооценки. Вот ты пишешь о своих достижениях за последние пол года, и непонятно что писать. Проводил командные встречи, ходил на какие-то другие встречи, задачки двигал туда-сюда. А потом смотришь, что написали коллеги про себя – “Запилил новый сервис”, “Переписал модуль с X на Y”, “Дотащил до прода важную фичу” и т.д. После этого думаешь – чем я вообще занимаюсь?
Есть компании, которые тебе сразу говорят об ожиданиях. Также существуют и разные командные метрики, по которым можно оценить твою работу как тимлида. Но это скорее редкость. И большое везение, если ты попал именно в такую компанию.
Тяжелая смена работы
У разработчиков не сильно важен контекст, в котором они находятся. Они могут легко поменять место работы после нескольких лет в одной компании. Им достаточно знать определенный язык, рабочий фреймворк и какую-то базу, типа алгоритмов и т.д.
Тимлидом ты как правило становишься внутри компании без особых знаний про это. Часто тебя ставят на эту роль, потому что ты самый ответственный или по какой-то другой причине. В результате ты просто врастаешь в контекст компании и работаешь по каким-то внутренним правилам и процессам. И когда приходит время смены работы, то начинаются проблемы.
В большинстве случаев у тимлидов есть техническая секция на собеседованиях, где ты должен сперва подтвердить уровень синьера. И это большая проблема, так как ты не кодил уже много времени и мог растерять этот скилл. Получается, что ты не можешь полностью отдаться развитию в менеджмент, потому что просто не сможешь поменять работу.
Вторая проблема – это сложность прохождения именно менеджерский секции. Ты в своей компании мог быть самым лучшим, у тебя было все четко в команде – задачи делались, цели выполнялись. Но ты приходишь на собеседование и начинается проверка на знание книжного менеджмента, аббревиатур и решения абстрактных конфликтных ситуаций из головы собеседующего. Другими словами, собеседование тимлида – это просто рандомайзер, где довольно малый шанс пересечения с твоим опытом.
Карьерный тупик
В большинстве случаев позиция тимлида – это карьерный тупик. Чтобы это понять, достаточно представить структуру компании. Есть продуктовая команда, у нее есть тимлид. Если компания большая, то 4-5 команд могут объединяться в кластер. У кластера тоже скорее всего будет условный мета-тимлид. Уже получается довольно сильное сужение, где минимальные шансы занять эту позицию. Особенно если учитывать, что лидер кластера особо не собирается никуда уходить.
Можно представить и другие вариации структуры, но везде будет примерно одна и та же проблема. Тимлидов первой линии соприкосновения с разработчиками – много, высшего менеджмента – мало. Причем у высшего менеджмента довольно низкая текучесть. Вот и сиди 5 лет в своей команде в надежде, что появится какая-то возможность.
Итог
Я накинул достаточно много негатива. И это даже не все, есть и другие проблемы. Тебе может быть просто тяжело так много общаться с людьми. Или ты можешь так сильно любить кодить, что будешь очень сильно страдать без этого.
Плюсы в роли тимлида тоже есть, но об этом и так везде говорят. Я хотел подсветить очень серьезные проблемы, которые возможно для кого-то станут красным флагом. К тому же большинство действующих тимлидов стараются закрывать глаза на эти недостатки, а иногда даже занимаются самообманом.
Теперь решение за вами, все еще хотите стать тимлидом?
Подписывайтесь на мой телеграм‑канал Вайтишная — пишу честно про IT и делюсь своим опытом
rinace
Классический - "подписываюсь под каждым словом". Виртуальный +
Пришел в компанию ведущим специалистом , через полтора года - руководитель направления . Итог - выгорание и всё, что описано в статье.
Год как ушел с руководящей должности обратно в технические специалисты. Сто тысяч раз сказал себе - молодец. Ничего не потерял , только приобрёл . Особенно в техническом профессиональном плане . Столько нового интересного сделал , что даже немного жаль потерянного времени.
P.S. Добавлю еще одну проблему тимлидерства - необходимость общения с манагерами . Для меня это было самым сложным , особенно если не было поддержки и прикрытия сверху. Нервов было испорчено - много, скажем так .
kazimir17
Беря новые обязанности нужно не забывать снимать с себя старые. У меня тоже есть опыт когда нужно было делать все и сразу, кукушечка отлетает очень быстро.
rinace
У меня не было старых обязанностей , только новые . Направление росло очень быстро - в год примерно 5 новых сотрудников . Я техниной почти не занимался уже через год. Строил процессы и дискутировал с архитекторами и прочими, как они себя называют руководителями. Повторюсь , эта часть работы было самая сложная и неприятная .
Насчет кукушки , да . Не дай бог повторения ....
nronnie
Я бы вообще в джуны пошел. Хочу просто делать что мне скажут, ни о чем не думать, и ни за что не отвечать. :))
maxzh83
Обычно такое желание приходит после выгорания. Но не полного, а до состояния угля для мангала. Т.е. само не горит, но разжечь можно ненадолго
nronnie
Сегодня меня разожгло, когда я открыл код проекта с работы и первое что увидел это был конструктор класса с 23 (двадцатью тремя) параметрами.
nik135
не верю!
nronnie
Ну а почему бы и нет. Это ведь все равно, типа, все, DI создаёт и вставляет. А тесты мы не пишем, поэтому о том что придется для такого класса создавать 23 mock-object мы не думаем. И такого понятия как "связанность" ("coupling") мы по своим понятиям не признаём. Понадобился сервис - отключай мозг и пихай его в конструктор.
grisha0088
Может это была dtoшка record большая)
maxzh83
А я верю. Видел сервис примерно с 15 параметрами в конструкторе. И самое интересное, что так сделали не потому, что всем пофиг, а потому что вот такой сервис, который много всего объединяет. Плодить классы, которые будут включать другие классы, только чтобы уменьшить число параметров, не стали. И да, тесты есть и там все 15 параметров замоканы.
nronnie
Понятно, да...
sergiodev
не верю, что такое реально протестировать, если только не для галочки coverage поднять
nronnie
Может быть что и реально, т.к. все 15 сервисов в каком-либо отдельном методе используются вряд ли. Но все равно это надо декомпозировать. Потому что говнокод. Я вот вообще не понимаю этого рефлекса: "Создать еще один класс??? Не-не-не-не. Деды наши вообще без классов обходились."
maxzh83
Ну так, а нахрена еще один класс, который по сути будет оберткой над параметрами и не будет содержать логики? Ибо она там сквозная, с участием всех 15 сервисов. Больше классов богу классов? Да, переписать наверное это все можно, но очень сложно и дорого. Т.к. эти 15 сервисов еще много где используются. И ради чего? Чтобы было так, как какой-то дядька сказал?
KongEnGe
Но чтобы в зарплате при этом не просесть, да? Извините, у нас на складе есть только дауншифтинг в зарплате при выросшем спросе за работу.
nronnie
Да я готов и по з/п просесть. В разумных пределах.