Почему тимлид может писать код?
Должен ли тимлид писать код? Вся палитра мнений по этому вопросу сводится к двум вариантам:
Тимлид — менеджер, а потому работа с кодом является отвлечением от основных обязанностей.
Тимлид — это лидер команды, ее непосредственный участник, а значит, должен участвовать во всей жизни команды, в том числе и в работе с кодом.
В своих размышлениях склоняюсь к тому, что тимлид в большинстве случаев не обязан писать код, но может это делать. И вот почему:
Потому что больше некому
Бывают ситуации, когда тимлид является единственной единицей в команде, способной писать код:
Новая команда. Еще штат толком не набрали, а MVP уже делать надо, ибо бизнес не ждет;
Увольнения/сокращения. Финансирование урезают, проект закрывают или замораживают, а поддержка еще нужна. Если тимлид в такой ситуации не уходит сам, он может остаться один и заполнять собой образовавшиеся пробелы.
Потому что техлид
Для большинства компаний держать в одной команде и техлида, и тимлида — непозволительная роскошь. Тимлид в таком случае — «и швец, и жнец, и на дуде игрец». Ну и «кодописец».
Потому что просят
Shit happens. Срочные задачи и баги не спрашивают, когда им появиться — вечером в пятницу, ночью или в выходные. Да, можно выстроить процессы для минимизации таких случаев, но искоренить окончательно вряд ли удастся (у меня не удалось ни разу, если у вас вышло — поделитесь секретом успеха в комментариях, пожалуйста). Тимлида в такой ситуации достанут откуда угодно, и если он может решить вопрос без привлечения команды (как угодно, и код не исключение) — это значительный плюс как для бизнеса (быстрее пофиксили), так и для команды. Главное — разобрать потом инцидент с командой и предотвратить повторение.
Потому что требуют
Фразы вроде »80% времени на управление и 80% на код» взялись не с потолка — такое действительно происходит. Бизнес порой рассчитывает на тимлида как на боевую единицу, и изменить это удается не сразу и не всегда.
Потому что хочу кодить
Если тимлид хочет кодить и у него есть время (чудеса случаются) — ну и пускай кодит. Что-нибудь не критичное и не имеющее дедлайнов, чтобы не подставлять ни себя, ни команду.
Потому что хочу быть в курсе
Тимлиду может потребоваться более глубокое понимание картины проекта, чем то, что дают тасктрекеры, планерки и документация — истиной в последней инстанции все же является именно код. Выяснить уровень технического долга и возможности расширения функционала бывает сложно, не погружаясь в код. Опять-таки, можно (и нужно) выстроить процессы, которые позволят следить за всем этим и без прямого обращения к кодовой базе. Но их формирование требует времени, профит приходит не сразу, а полнота картины нужна уже сейчас.
Потому что команда джунов
Один из вариантов организации команды, имеющий право на существование — «Детский сад». Команда состоит из N разработчиков низких грейдов, а тимлид играет роль воспитателя:
«накормить» знаниями;
следить, чтобы сильно не загадили все вокруг;
похвалить/поругать/поддержать;
показать на личном примере
В такой команде без плотной работы тимлида с кодом не обойтись — это ее «база».
Потому что …
Уверен, что в мире существует еще множество причин, по которым тимлид может писать код. Буду рад прочитать о них в комментариях)