Comments 24
По моему же опыту работы в маленьких (до ста человек), но успешных стартапах (с десятками миллионов $ годовой прибыли или сотнями миллионов $ финальной продажной цены), я бы заметил, что основная роль тим-лида, с точки зрения команды, это защита интересов команды, а с точки зрения топ-менеджмента — поддержание сроков проекта в приемлемых нормах.
Интересы команды заключаются в том, чтобы поменьше и не слишком напряженно работать (да, увы, помимо гиков и «мальчиков-ударников», у обыкновенных разработчиков есть семьи, хобби и жизнь вне офиса). Интересы топ-менеджмента заключаются в том, чтобы не слишком разочаровать заказчиков сроками внедрения must have «фичи».
Попробую описать типичную ситуацию и роль тим-лидов в ней: крупному заказчику потребовалась абсолютно новая «фича», требующая серьезных изменений как в backend, так и в middleware (по сути, нужно было писать новый сервер, а в клиентских middleware поддержку нового протокола).
Chairman и CTO собирают совещание тимлидов и архитектора, и дискутируют о возможных реализациях (о сложности, времени и т.п.). Тут есть очень важный момент: реализовать можно так, чтобы клиентская часть была проще (но тогда, естественно, серверная часть становится намного сложнее), либо наоборот. Вот тут начинается борьба тимлидов; чем тимлид победит, тот и круче (с точки зрения его команды). Понятно, что я тут немного утрирую, и все происходит вовсе не так уж просто — тимлиды проводят совещания с командой и ищут правильные аргументы в поддержку своего решения (то бишь, выгодного для команды).
То есть, главная «внешняя» (по отношению к команде) функция тимлида заключается в разумном отстаивании интересов команды.
«Внутренняя» же функция заключается в правильном планировании времени и ресурсов (то бишь разработчиков). Непосредственно кодировать тимлиду особенно нет времени, очень много его уходит на всевозможные митинги и «утряски» неполадок, но… Хорошо программировать и кодировать тимлид просто обязан уметь; также он должен быть «универсалом», и разбираться как минимум на экспертном уровне для какой-то одной платформы (если мы говорим о мультиплатформенном решении), и на уровне «неплохо знаком» с остальными, чтобы, в случае showstopper-ов включиться в рядовую работу команды. От хорошего исполнения именно «внутренней» функции и зависит «хорошесть» тимлида для топ-менеджмента.
Еще в обязанности тимлида у нас входило слежение за правильным выполнением технологий программирования, «утрясание» конфликтов с QA (очень неприятная задача!), «пробивание» нужных команде «фич» в проект, а также «выбивание» дополнительных ресурсов (как человеческих, так и материальных — хотя ими, формально, он не должен был заниматься).
P.S. Но, вообще-то, с точки зрения ответственности за принимаемые решения хуже приходится PM-у (или, в нашем случае, CTO).
Да, наверное это идеальная среда для «просто работников», которые приходят просиживать штаны от зарплаты и до обеда. Как говорится «солдат спит — служба идёт», и чем меньше работы — тем лучше.
При таком «менджменте» специалистам разных отделов чтобы добиться чего-то оказывается проще договорится о чём-то втихую между собой, чем через своих и чужих лидов-«опекунов». Потому что последние костьми лягут, чтобы не делать никакую работу и замотают вопрос на бесконечных митингах и боксу по переписке.
Продукт при таком управлении превращается в говно. На жалобы пользователей следует ответ «это ответственность не моего отдела» с бесконечными переводами стрелок. Качество продукта никого не волнует, потому что каждый отдел решает не общие задачи, а пилит что-то интересное им, да и в конце концов «есть семьи, хобби и жизнь вне офиса».
Всё это хоть как-то работает с использованием ресурса «дюли от начальства», когда лидам-«опекунам» откровенно дают по заднице и заставляют «работу работать».
Это не моя фантазия, а реальный опыт на некотором этапе (с точки зрения специалиста, не начальника).
Не было никаких «княжеств», да и не могло быть: ведь все employee были заинтересованы в acquisition, и, могу вас заверить, не прогадали (хотя, конечно, целью было не IPO, и это сказалось на результатах для обычных сотрудников — ну, так слишком много никто и не обещал!). Просто в результате хорошего профессионального менеджмента, проводимого CEO, «войны» тимлидов приводили к выработке оптимального по балансу и времени решения, которое удовлетворяло всех.
Возможно, тут сыграло роль иная, в отличие от российской, пресловутая «ментальность» — ну, не принято у нас «кадык вырывать», «мамой клясться», и испытывать неиллюзорную ненависть к оппоненту!
Продукт в «говно» никогда не превращался; ответственность команд за showstoppers — это вещь предельно ясная и дискуссий тут быть не может, всегда ясно, чей «косяк».
А профессионалы, замечу, это далеко не всегда «гики-работоголики»; одним из лучших профессионалов, которых я знал (как раз по этой работе), как ни странно, была мать троих детей из Индии (и, замечу, очень хорошая мать). Да, она не любила overtime, но, благодаря хорошим и профессиональным teamleads у нас их практически и не было! Зато девушка (преимущества моего возраста в том, что я женщин среднего возраста всегда называю девушками :) ) очень быстро (даже, парадоксально быстро) «въезжала в тему», и даже сумела перебороть (под моим чутким руководством) страсть к «индусскому говнокодированию», что вообще не поддается объяснению!
Ну здорово что у вас всё так ясно было. Но явные косяки (за которые будет бо-бо) люди и так стараются не делать. А чаще бывает что «косяк» находится в зоне ответственности между отделами, вида «один не доделал, второй не додумал». И начинается бесконечный срач, потому что никто не хочет за других работу делать. Или хуже — из-за размытия ответственности и общей атмосферы «моя хата с краю» все предпочитают просто закрыть глаза на проблему (пока не придёт «мотивация» от начальства сверху).
>ведь все employee были заинтересованы в acquisition
А вот эта самая загадочная часть. Вроде бы совершенно никакой мотивации нет в успехе общего дела (потому что нет этого общего дела, есть только «я тут сижу, примус починяю»). Возможно это действительно некая ментальность или атмосфера в той конкретной компании. Потому что тут явное противоречие с остальной идеологией.
>А профессионалы, замечу, это далеко не всегда «гики-работоголики»
Я этого не утверждал. Есть разница между тем переживает человек за конечный результат своей работы, или просто просиживает офисные часы (занимается саморазвитием/пробует интересные технологии/втайне пишет своё приложение — выберите сами). А перерабатывать или нет — каждый выбирает сам.
А чаще бывает что «косяк» находится в зоне ответственности между отделами, вида «один не доделал, второй не додумал».
Вы говорите об архитектурных ошибках; у нас, благодаря правильной архитектуре и менеджменту, таких ошибок не было. То есть, ошибки практически всегда четко классифицировались, и никакого «срача» не возникало (за 6 лет, лишь пару-тройку раз QA неправильно классифицировал ошибку, но, опять-таки, все разрешалось очень просто, без «срачей»). Никакого «размытия ответственности» не было, да и не могло быть.
А вот эта самая загадочная часть. Вроде бы совершенно никакой мотивации нет
Ничего загадочного нет, все очень просто! Вы, видимо, не знакомы с западными реалиями, но тут дела обстоят так: обычно, в крупные и известные компании профессионал идет в расчете на карьерный рост, шансов на это в большой компании намного больше, чем в маленькой. Небольшие компании, а в особенности — стартапы, чтобы «заманить» хорошего специалиста, должны использовать всевозможные «пряники», как-то высокие зарплаты и «благие обещания» (обычно «благие обещания» изначально оцениваются дешевле). То бишь «мотивация» обеспечивается договором, в котором employee гарантируется либо определенная часть shares в случае IPO (это, как правило, очень сильная «замануха», сродни «золотой лихорадки», в случае успеха можно действительно получить очень много), либо определенный фиксированный бонус в случае продажи компании.
А перерабатывать или нет — каждый выбирает сам.
Гмм, вы или очень молоды, или очень неопытны (или и то, и другое вместе). Иным я столь странное утверждение объяснить не могу.
Вся ясно, мы с вами в разных мирах вращаемся.
>Гмм, вы или очень молоды, или очень неопытны (или и то, и другое вместе). Иным я столь странное утверждение объяснить не могу.
Для вас странное, для меня — нет. В любом случае, хамить не следовало бы. За сим разговор с вами прекращаю.
Ничего, подрастете, поднакопите опыта, обзаведетесь (дай Бог!) семьей — и, наконец, поймете, как мир устроен :)
каждый отдел решает не общие задачи, а пилит что-то интересное имИдеально.
Да, большое спасибо!
Опять-таки, выше я описал типичные задачи тимлида; уж поверьте мне, если вам выпадет подобная роль, то следование подобным принципам даст вам как уважение команды, так и благодарность менеджмента.
Абстрактные советы для «сферического тимлида в вакууме», типа «продумайте систему обучения сотрудников» (зачем их обучать? Вы набрали newbies на проект?!), или «настройте процессы работы в отделе. При этом максимально их задокументируйте» (какие «процессы»??? И зачем «документировать» что-то, лишенное сущности? Кому вы покажете эту бюрократию, когда вас вышвырнут за не исполнение прямых обязанностей?! Адвокату? Ни один адвокат за такое просто не возьмется!).
В общем, статья практически ни о чем. Хотите быть хорошим тимлидом — отстаивайте интересы команды, и не подводите менеджмент по срокам. Все!
Настройте процессы работы в отделе. При этом максимально их задокументируйте.
Продумайте систему обучения сотрудников.
Настройте правильную систему делегирования различного рода заданий и лишь направляйте и контролируйте их выполнение.
Вступайте в диалог в любой непонятной ситуации. В споре рождается истина. Лишь так вы поймете людей и получите подтверждение, что они понимают вас.
Согласно моему опыту этот список это скорее ряд ошибок, а не полезных практик:
Настройте процессы работы в отделе. При этом максимально их задокументируйте.
Тут возможнвы два случая:
- наиболее вероятно вы стали лидом в существующей коменде. Она ведь как-то работает? и работала. не нужно насаждать "процессы всегда и везде" т.к. получите запредельный уровень сопротивления. Работайте как консультант — присматривайтесь, вносите предложения на рассмотрение самой команде, если они отторгают, значит не понимают зачем это надо, что является вашей проблемой, а не команды. Если вы начинаете документировать процесс, то либо у вас большая текучка и это действительно имеет смысл, либо ваши процессы не очевидны и уложить их в голове 3-4 принципами и 2-3 практивкам невозможно, опять же — вы перегибаете палку с формализмом.
- менее вероятно, что новичка поставили в новую команду к незнакомым ему людям. тут надо не настраивать процессы, а создать и сполить команду хоть как-то выполняя задачи. Периоды Forming и Storming никто не отменял.
Продумайте систему обучения сотрудников.
забавно, что пункт этот второй, а не последний. Помните, что половина ваших сотрудников "ходит протирать штаны до обеда", даже заявляя благие намерения. Если человек не хочет учиться — не надо, если человек хочет учиться — сам научится. Общие рекоммендации по "ты дорастешь до этого уровня и получишь прибавку" вам выдаст сама компания и вам не надо это создавать с ноля. Помните, что все люди разные, у всех разные жизеннные цели и разные цели в компании.
Настройте правильную систему делегирования различного рода заданий и лишь направляйте и контролируйте их выполнение.
вот он, тот пункт, над которым можно и нужно работать бесконечно. самый сложный и самый важный для вас как лида. Только делегируя вы начнете использовать ваше время во благо компании, а не попусту. Читайте про "7 уровней делигирования" и тп модели. "Правильная система делегирования" это вода, вы должны ставить куда более четкие цели, например: 40% критических задач, которыми раньше занимался только я теперь должны делать другие люди. Цель "Учитесь искать метрики и измерять ваши результаты" мне в своё время помогла куда больше, чем что либо еще. И самое главное "правильного делегирования" нет и не будет. Есть то, что работает лично у вас с вышей командой.
Вступайте в диалог в любой непонятной ситуации. В споре рождается истина. Лишь так вы поймете людей и получите подтверждение, что они понимают вас.
Кажется, что очень правильный совет, но дьявол в деталях. Именно с такой идеей я подходил к решению всех возможных не понятных ситуаций и только спустя пару лет осознал, что стал "митинг манагером", проводящий по 3-4 часа в день в митинг румах. Многие проблемы могут решиться и без вас, не реигруйте на все сразу — у вас нет столько времени. Дайте проблемам немного настояться, чтобы появилось четкое понимание их причин. Давайте возможность людям самим решать свои конфликты и подключайтесь только на 2-3 уровене эскалации. Проблема пришла сверху? Не надо звать в митинг рум ваших менеджеров/команду и искать решение. Подумайте, посторайтесь сами принять какое-то решение и поделитесь своим видением с менеджментом тем же емейлом, с подписью "я бы рекомендовал личную/skype встречу для уточнения деталей" на первое время. Помогайте вашему руководству, а не отнимайте у него время.
Не забывайте — вы Лид и вы берете на себя ответственность. Не дайте ответственности вас сожрать и не впадайте от страха в состояние контроля всего и вся — это раздражает людей и вы потратите много ненужного времени. Ваша задача состоит в том, чтобы ваши люди работали продуктивно, а не "максимально продуктивно". То же касается и вас.
Как стать тимлидом и не взорваться