История о том, как наш новый тимлид нифига не зная стал тимлидом

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

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

В начале было слово

Наверное, стоит рассказать о том, как это всё начиналось, чтобы намного лучше была ясна картина всего трындеца.

Началось всё с того, что в какой-то момент мне всё это надоело и я устал быть тимлидом и тем более, работать программистом на компанию.

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

Чтобы вам было понятно чем я занимался и какая была у меня ответственность, расскажу по пунктам.

  1. Проведением созвонов каждые 2 дня с бэкенд + фронтенд командой.
  2. Подготовка и приоритизация задач исходя из обсуждений с бизнесом (работали по спринтам).
  3. Контролирование работы фронтенда и бэкенда и статуса их задач.
  4. Код-ревью фронтенда, где под управлением было 3 разработчика (2 junior, 1 middle).
  5. Иногда фиксил баги или разрабатывал новые фичи на серверной части (NestJS), если бэкендеры были заняты другими задачами.
  6. Разрабатывал самую важную часть фронтенда, ибо просто сидеть и назначать задачи было нерационально, учитывая сроки.
  7. Решал технические и коммуникационные проблемы между бэкендом (2 чел) и мобильной командой (4 чел) + командой тестировщиков (2 чел.)
  8. Проведение демо для заказчика с моим ломаным английским, а это ещё то было испытание (хотя щас уже шпрехаю чуть лучше).
  9. Обдумывал бизнес-логику, которую приблизительно ожидает получить заказчик. Чаще было выгодней самому решить неочевидное поведение бизнес-логики и сэкономить тем самым время всех, чем ожидать ответа от бизнеса. В 80% случаев, решение совпадало с ожиданием заказчика, в остальном проводил созвоны с бизнесом, когда встречались с неочевидной логикой.

Стэк технологий был примерно такой:

Backend: NestJS, Passport, TypeORM, RxJS, PostgreSQL

Frontend: NextJS, TS, Redux Saga, RHF, Immer, Jest, Cypress

А чем занимался Project Manager?

Думаю, теперь когда стало понятно чем именно я занимался, давай расскажу что делал наш Project Manager.

Раз в неделю приходил спросить как у меня дела и у команды. Раз в 2-3 месяца проводил созвоны с командой, чтобы обсудить необходимый функционал и узнать примерные сроки выполнения.

Мб, у тебя возник вопрос касательно того, как можно запускать продукт, если ПМ ничего практически не контролировал. Если говорить коротко, то я выполнял частично и его работу, сам того не понимая и во многом тут моя вина. Но об этом позже.

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

Начало кека

ПМ сообщил, что вроде как нашёл нового тимлида, который, цитата: "senior developer with very good hard skills".

"Ну, если вери хард, то можно спать спокойно", — подумал я. Однако, решил поинтересоваться, знает ли этот кандидат ReactJS или NodeJS, на что ПМ сказал: "I didn't ask about it. Do not know".

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

И вот недавно нас оповестили о том, что окончательно определились с выбором и успешно нашли мне замену. Не одного тимлида, а даже двух + менеджера 😐

Это ещё не весь кек, однако, ситуация очень забавная. Оказывается, я выполнял работу за трёх человек? Возможно 🤷🏻‍♂️. Есть у меня чувство, что нашего ПМ просто развели на денежки та аутсорс компания, которая предложила этих людей. Почему я так думаю? Объясню чуть позже.

Вот теперь начинается самый еб**** КЕК

Два тимлида в проект, который уже успешно был запущен в продакшн, это сильно.

Забавно ещё то, что второй тимлид это чел, который ПМ в команде аутсорс моб. разработки. Да, звучит ещё непонятней, но всё окей, дальше будет хуже...

Мне стало интересно узнать, какую роль будут выполнять эти два тимлида? На что я задал этот вопрос нашему ПМ'у во время созвона с этой новой командой.

Если говорить коротко, то:

  • Первый тимлид (менеджер моб. команды), будет тимлидить нас без кодревью и технических моментов. Только решать вопросы по задачам веб и моб. команды.
  • Второй тимлид будет заниматься задачами только веб команды + решать технические вопросы.

"Ну окей, хотя бы так", — думаю я и решил спросить второго тимлида про хард скилы.

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

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

Давайте его называть, ну, например — Драгон.

  • Я: «Мне сказали, что ты синьор и хорошо знаешь многие технологии. Я бы тебе задал парочку вопросов по нашим технологиям, ты сможешь сейчас ответить?»
  • Драгон: «Да»
  • Я: «Сколько лет ты знаешь ReactJS?»
  • Драгон: «Во фронтенде я работал Angular 2 и выше, но ReactJS я использовал только 6 месяцев в одном коммерческом проекте»
  • Я: «Эм. Мы просто используем ReactJS. Окей, а приходилось работать с Redux?»
  • *Тут от невнятно ответил, что пробовал редакс, но не использовал его особо.* Я понял, что происходит какая-то фигня и возникла мысль, что он не знает и наши серверные технологии. Мы юзаем NestJS. Я знал, что если спрошу знает ли он ноду, он ответит "да", но решил сразу атаковать.
  • Я: «Окей. Если говорить про бэкенд. Знаешь ли ты NestJS или TypeOrm?»
  • Драгон: «Нет. Я знаю .NET более 9 лет и Java»
  • Я: «А NodeJS ты знаешь?»
  • Драгон: «Да, использовал его где-то 5-6 месяцев»

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

Что самое обидное, наш ПМ его поддержал, дополнив, что команда ему поможет, если у него будут сложности.

И я просто сидел в шоке... Мы берём в команду человека, который не сумеет грамотно код-ревьювить клиентскую и серверную часть и при этом, ПМ им доволен из-за того, что он шарит в .NET и Java.

В ДОЛБАННОМ ДОТНЕТ И ДЖАВА. В ПРОЕКТЕ, ГДЕ ЮЗАЕТСЯ REACT И NESTJS...

На вопрос "Как новый тимлид будет ревьювить код, если он не знает ReactJS и NestJS?", мне ответили "Это же JavaScript! Там нет никаких проблем быстро разобраться!".

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

Итого?

А итога как такового и нет. Команда пока в недоумении и задаётся вопросом: Как человек, который не шарит в наших технологиях, будет нас тимлидить?

Пока на этот вопрос никто не может дать ответ.

Может быть я неправильно тимлидил всё это время?