Путь к техническому лидерству: как разработчику стать техлидом

Перевод статьи Алекса Бачука «The path to technical leadership: how to go from developer to team leader».

Как стать техлидом

Если вам кажется, что единственное ваше предназначение в профессиональном плане это разработка программ, вам, возможно, стоит задуматься о том чтобы стать техлидом. К «техлидам» можно отнести как тимлидов (члены команды им не подотчетны), так и менеджеров. Например, инженер-менеджер это человек, несущий ответственность за команду и ее проекты. Это означает, что он также отвечает за карьеру членов команды, рост бизнеса, доставки продукта, дедлайны, культуру, стандарты кода, технический долг и многое другое.

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

Я пришел в сферу разработки ПО, потому что чувствовал себя комфортнее при работе с компьютерами, чем с людьми. Но спустя некоторое время я обнаружил, что все больше и больше помогаю другим разработчикам. Мне нравится вести проекты и подталкивать других к лучшим стандартам кода. Поэтому для меня выбор следующей ступени был очевидным.

Карьерные возможности

Есть и другие пути, которые могут оказаться более подходящими для других разработчиков. Многие компании предоставляют альтернативу менеджменту в плане карьеры. Можно стать инженером (или даже ведущим инженером). Это сеньорские позиции, но так у вас не будет подотчетных людей, как в случае с менеджментом.

Итак, хотите ли вы стать инженером-менеджером или каким-нибудь другим техлидом? Важно быть честным с собой в том, что вами движет. Вас привлекает написание кода и создание ПО? Или вам больше по душе помощь другим людям в достижении лучших результатов, обсуждение дедлайнов с акционерами и убеждение членов команды в том, что рефакторинг это не напрасная трата времени? Ответы на эти вопросы дают возможность определить, каким путем лучше пойти для достижения желанных для вас результатов.

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

Выдвижение вперед

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

Начните с малого. Берите на себя больше обязанностей в сложных проектах. Помогайте товарищам, давая обратную связь в пул-реквестах. Выступайте добровольцем по представлению обновлений проекта. Предлагайте улучшения как по организации команды, так и по организации рабочего процесса. Выступайте в роли наставника для коллеги.

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

Ответственность

Беря на себя какие-то обязанности, вы должны отвечать за все, что делаете или не делаете. Лидер несет ответственность и не обвиняет других в ошибках, пропущенных дедлайнах или багах.

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

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

Недавно один из техлидов в моей команде вытащил последнюю master branch. Он заметил большой провал в охвате модульными тестами. Вместо того чтобы жаловаться, он добавил недостающее тестовое покрытие. А затем показал, как правильно проверять покрытие тестами и как писать модульные тесты для сложных функций. Он предложил помощь, никого не обвиняя. Команда оценила это.

Взаимоотношения (или политика)

Порой люди неправильно понимают слово «взаимоотношения» и называют их «политикой». Это одно и то же. Если вы не хотите заниматься «политикой», тогда, возможно, вам стоит еще раз подумать, хотите ли вы на лидерскую позицию.

Построение хороших взаимоотношений это одна из обязанностей инженера-менеджера. Менеджмент это умение что-то делать с помощью других людей. Начните выстраивать хорошие отношения с другими менеджерами. Они ваши будущие коллеги.

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

Технический опыт

Инженер-менеджер должен быть для начала инженером. У него должен быть солидный бэкграунд в разработке ПО и практический опыт. Поэтому вам обязательно нужно стать одним из самых сильных инженеров в команде. Менеджер, не умеющий писать код или не понимающий технических деталей, не может принимать участие в технических обсуждениях.

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

Как разработчику стать техническим лидером

Наставничество

Любой «действительно хороший разработчик» в команде, не являющийся при этом командным игроком, больше вредит, чем помогает. Если вы хорошо подкованы технически, помогайте другим достичь вашего уровня. Подходящими способами начать учить других являются парное программирование, ревью кода, презентации, участие в open source или внутренних проектах компании.

Случаи, когда человек сам к вам придет и попросит стать его наставником, довольно редки. Но если вы будете позиционировать себя как «эксперта» и активно заниматься указанными выше вещами, люди начнут обращаться к вам за советом. Помогая им, вы заслужите их доверие и сумеете выстроить хорошие взаимоотношения. Надо надеяться, они, в свою очередь, будут поступать так же и тоже станут наставниками для кого-нибудь.

Управление проектами

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

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

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

Общение

Умение ясно излагать свои мысли и быть при этом последовательным это важная черта любого лидера. Если вы не можете понятно объяснить, чего хотите от своей команды, вы как лидер потерпели поражение еще до начала работ.

Общение происходит во многих формах, включая устную, письменную и даже язык тела. Постоянно работайте на совершенствованием своих навыков коммуникации.

Моя команда пропустила несколько дедлайнов из-за того что я не сумел донести требования понятно и вовремя. Было несколько случаев, когда недостаток коммуникации создал в команде путаницу относительно того, кто что должен делать. Я понял, что нельзя полагаться на менеджеров проектов или акционеров в плане объяснения деталей проекта. Именно инженер-менеджер должен понять проект, а затем объяснить понятое команде и мотивировать членов команды, чтобы они захотели над ним работать.

Менеджерские позиции

Менеджмент

Управляйте своим менеджером (и порой его менеджером тоже). Это означает постоянную коммуникацию с ними и управление ожиданиями. Менеджеры редко любят сюрпризы, хорошие или плохие. Установите доверительные отношения со своим менеджером. Будьте первым человеком, к которому он обратится по поводу важных проектов и, естественно, доставляйте эти проекты вовремя и в рамках бюджета. В результате вы получите еще больше проектов и сможете повторить весь процесс.

Конфликты и кризисы

Проблемы с продакшеном возникают, и неважно, сколько у вас интеграционных тестов. Да, вам нужно свести к минимуму количество багов в своих проектах. Но куда важнее то, как вы справляетесь с проблемами. Человек, под давлением начинающий паниковать, немедленно утрачивает лидерские позиции в глазах окружающих. Команда и другие менеджеры хотят видеть спокойного человека, у которого даже в самых стрессовых ситуациях все под контролем.

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

А другой техлид настолько переживал из-за дедлайна, что ушел на больничный в день, когда мы должны были запускать фичу. Он настолько волновался, что окружающим было некомфортно с ним работать.

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

Видение

Лидер должен понимать причину всего, за что он отвечает. Также он должен убедиться, что и все остальные члены команды понимают, «почему» они работают над проектом. Лидер должен объяснять (порой неоднократно), почему проект существует, почему над ним работают эти конкретные люди и как этот проект вписывается в общую картину. Команда должна верить в то, чем занимается: только так работа может быть эффективной.

Ведите за собой к новым достижениям и начните прямо сегодня

Лидерство не ограничивается парой людей, так что не ждите разрешения и беритесь за дело сегодня же. Будьте экспертом в своем деле и помогайте людям, когда у них возникают заминки. Работайте над своими навыками коммуникации, даже в мелочах вроде составления технической документации. Налаживайте хорошие отношения со своими настоящими и будущими коллегами. Мудро распоряжайтесь собственным временем и успевайте к дедлайнам проектов. И не забывайте, что лидерство – это о людях, так что помогайте им расти и выполнять их работу наилучшим образом.


[customscript]techrocks_custom_after_post_html[/customscript]
[customscript]techrocks_custom_script[/customscript]

Оставьте комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Прокрутить вверх