Информация об изменениях

Сообщение Re[3]: Жизнь после сеньора от 02.11.2020 9:01

Изменено 02.11.2020 9:12 so5team

Re[3]: Жизнь после сеньора
Здравствуйте, avovana, Вы писали:

CEM>>Я тут (будучи вроде программистом) работал менеджером проекта, извлёк довольно интересный опыт:

CEM>>- Руководитель проекта не должен вообще лезть в технические детали проекта. Звучит парадоксально, да?

A>Вот как раз я слышал, что есть 2 точки зрения:

A>-тимлид занимается только менеджерскими вещами
A>-тимлид пишет код

Доводилось сталкиваться с двумя подходами к роли/должности "тим-лидер":

1. Наиболее распространенный. Тим-лидер -- это признанный (в том числе и на административном уровне) лидер небольшой команды разработчиков более-менее одинаковой специализации. В прошлом (и отчасти в нынешнем) опытный и хорошо зарекомендовавший себя программист, под которого (вокруг которого) и была образована команда. Основная ответственность -- это обеспечение высокого качества технических решений для задач, которые возлагаются на команду. Способ достижения -- распределение этих самых задач между членами команды, контроль за их выполнением, помощь при выполнении, обучении и поддержке самых слабых/юных участников. Поскольку основный выхлоп от команды -- это код, то работа с кодом является частью работы тим-лида. Что-то тим-лид может писать сам. Но если в команде 5 и более человек, то на написание кода у тим-лида может не быть времени, больше он будет тратить на чтение и ревью кода, на общение как внутри команды, так вне ее. Как правило, тим-лид не обладает хоть сколько-нибудь выраженными административными полномочиями. Его права и возможности ограничиваются раздачей заданий внутри команды и влиянием на то, что команда выдает как результат своей работы (например, если какой-то из участников команды заявляет, что такая-то задача готова, то тим-лид может это заявление отменить, если сочтет, что это не так). Как правило, тим-лиды не распоряжаются бюджетами, не могут напрямую повышать/понижать зарплаты членов команды, не могут своей властью кого-то повысить и т.д. Все это делается опосредовано через вышестоящих менеджеров (т.е. при необходимости кого-то премировать или повысить, тим-лидер договаривается об этом в соответствии с процессами, принятыми в компании). При этом многие тим-лиды и не стремяться иметь эти полномочия (что вообще достаточно характерно для программистов, т.к. многие из них на практике стремяться держаться от менеджерских обязанностей подальше).

2. Довольно редкий, но, тем не менее, встречающийся. Тим-лидер -- это руководитель разношерстной команды, сформированной под решение конкретной задачи. Например, у компании был какой-то продукт, но под некого богатого заказчика было решено сделать кастомную версию продукта именно под этого заказчика. Под это дело выделили проджект-менеджера, которому могли выдать команду аналитиков и команду разработчиков. Проджект-менеджер отвечает за удовлетворение заказчика, сроки и бюджеты, но кто-то должен рулить и самой разработкой. Вот этим как раз и будет заниматься тим-лидер, у которого в подчинении будет сколько-то программистов/тестировщиков/внедренцев, руками которых и будет создаваться кастомная версия продукта. В таком подходе тим-лидер отвечает за то, что и как делает вся команда разработки проекта. Включая и процесс разработки, и процесс тестировани, и процесс внедрения/запуска. Административных полномочий (как и ответственности) у тим-лида в этом подходе будет больше, чем в описанном выше. При этом данная роль очень похожа не роль технического лидера (tech lead). Но, имхо, различия между tech и team lead при этом состоят в следующем:

* роль tech lead-а подразумевает наличие большого проекта с применением различных технологий внутри, реализацией которого занимаются несколько команд. Поэтому tech lead выступает в роли дирижера, который следит за тем, чтобы никто не играл свою собственную игру и все развивалось в одном общем русле. Если же проект небольшой и команда маленькая, то для этого достаточно team lead-а;
* tech lead -- это уже атрибут большой компании с выстроенными процессами, тогда как team lead с широкими административными полномочиями -- это либо признак "небольшой, динамично развивающейся компании" (с), либо же речь идет о какой-то экспериментальной (исследовательской) разработке внутри большой комании (по типу: "стрельнет -- хорошо, нет -- не страшно"). Либо, как вариант, маленькая команда в аутсорсинговой компании, выделенная под небольшого, но выгодного, клиента.

-----

Скорее всего, если речь идет про крупные компании с устоявшимися процессами разработки и большими, давно разрабатываемыми продуктами, то тим-лид -- это хороший разработчик, вокруг которого есть команда, и этот разработчик все еще работает с кодом (хотя не обязательно много программирует сам).

-----

В качестве информации для размышления: https://www.maxshulga.ru/2020/07/who-is-teamlead.html
Re[3]: Жизнь после сеньора
Здравствуйте, avovana, Вы писали:

CEM>>Я тут (будучи вроде программистом) работал менеджером проекта, извлёк довольно интересный опыт:

CEM>>- Руководитель проекта не должен вообще лезть в технические детали проекта. Звучит парадоксально, да?

A>Вот как раз я слышал, что есть 2 точки зрения:

A>-тимлид занимается только менеджерскими вещами
A>-тимлид пишет код

Доводилось сталкиваться с двумя подходами к роли/должности "тим-лидер":

1. Наиболее распространенный. Тим-лидер -- это признанный (в том числе и на административном уровне) лидер небольшой команды разработчиков более-менее одинаковой специализации. В прошлом (и отчасти в нынешнем) опытный и хорошо зарекомендовавший себя программист, под которого (вокруг которого) и была образована команда. Основная ответственность -- это обеспечение высокого качества технических решений для задач, которые возлагаются на команду. Способ достижения -- распределение этих самых задач между членами команды, контроль за их выполнением, помощь при выполнении, обучении и поддержке самых слабых/юных участников. Поскольку основный выхлоп от команды -- это код, то работа с кодом является частью работы тим-лида. Что-то тим-лид может писать сам. Но если в команде 5 и более человек, то на написание кода у тим-лида может не быть времени, больше он будет тратить на чтение и ревью кода, на общение как внутри команды, так вне ее. Как правило, тим-лид не обладает хоть сколько-нибудь выраженными административными полномочиями. Его права и возможности ограничиваются раздачей заданий внутри команды и влиянием на то, что команда выдает как результат своей работы (например, если какой-то из участников команды заявляет, что такая-то задача готова, то тим-лид может это заявление отменить, если сочтет, что это не так). Как правило, тим-лиды не распоряжаются бюджетами, не могут напрямую повышать/понижать зарплаты членов команды, не могут своей властью кого-то повысить и т.д. Все это делается опосредовано через вышестоящих менеджеров (т.е. при необходимости кого-то премировать или повысить, тим-лидер договаривается об этом в соответствии с процессами, принятыми в компании). При этом многие тим-лиды и не стремяться иметь эти полномочия (что вообще достаточно характерно для программистов, т.к. многие из них на практике стремяться держаться от менеджерских обязанностей подальше).

2. Довольно редкий, но, тем не менее, встречающийся. Тим-лидер -- это руководитель разношерстной команды, сформированной под решение конкретной задачи. Например, у компании был какой-то продукт, но под некого богатого заказчика было решено сделать кастомную версию продукта именно под этого заказчика. Под это дело выделили проджект-менеджера, которому могли выдать команду аналитиков и команду разработчиков. Проджект-менеджер отвечает за удовлетворение заказчика, сроки и бюджеты, но кто-то должен рулить и самой разработкой. Вот этим как раз и будет заниматься тим-лидер, у которого в подчинении будет сколько-то программистов/тестировщиков/внедренцев, руками которых и будет создаваться кастомная версия продукта. В таком подходе тим-лидер отвечает за то, что и как делает вся команда разработки проекта. Включая и процесс разработки, и процесс тестировани, и процесс внедрения/запуска. Административных полномочий (как и ответственности) у тим-лида в этом подходе будет больше, чем в описанном выше. При этом данная роль очень похожа на роль технического лидера (tech lead). Но, имхо, различия между tech и team lead при этом состоят в следующем:

* роль tech lead-а подразумевает наличие большого проекта с применением различных технологий внутри, реализацией которого занимаются несколько команд. Поэтому tech lead выступает в роли дирижера, который следит за тем, чтобы никто не играл свою собственную игру и все развивалось в одном общем русле. Если же проект небольшой и команда маленькая, то для этого достаточно team lead-а;
* tech lead -- это уже атрибут большой компании с выстроенными процессами, тогда как team lead с широкими административными полномочиями -- это либо признак "небольшой, динамично развивающейся компании" (с), либо же речь идет о какой-то экспериментальной (исследовательской) разработке внутри большой комании (по типу: "стрельнет -- хорошо, нет -- не страшно"). Либо, как вариант, маленькая команда в аутсорсинговой компании, выделенная под небольшого, но выгодного, клиента.

-----

Скорее всего, если речь идет про крупные компании с устоявшимися процессами разработки и большими, давно разрабатываемыми продуктами, то тим-лид -- это хороший разработчик, вокруг которого есть команда, и этот разработчик все еще работает с кодом (хотя не обязательно много программирует сам).

-----

В качестве информации для размышления: https://www.maxshulga.ru/2020/07/who-is-teamlead.html