« Технический руководитель - инженер-программист, отвечающий за руководство командой разработчиков и отвечающий за качество ее технических результатов

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

«… Технический руководитель приобретает черты, которые могут быть у других ролей, например, руководитель группы, архитектор или менеджер по разработке программного обеспечения, но они остаются в руках с кодом

В своей книге Talking with Tech Leads бывший сотрудник Thoughtwork и бывший технический директор N26 Патрик Куа делится результатами своих интервью с техническими лидерами в Thoughtworks и тем, что они узнали, что, по их мнению, будет полезно для начинающих или новых технических лидеров.

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

Техническое руководство состоит из четырех основных компонентов. У каждого из них есть свои различные проблемы и «подводные камни». К счастью для начинающих технических руководителей, в прошлом было много технических руководителей, которые проделали сложную часть обучения на собственном горьком опыте. Вот совокупный опыт технических руководителей по четырем основным компонентам:

Люди

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

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

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

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

Наконец, одна из самых важных вещей, о которых следует помнить, - это то, что технический руководитель не является менеджером. Управленческие обязанности относятся к роли технического руководителя, но для того, чтобы сохранить уважение разработчиков в вашей команде, обязательно, чтобы технический руководитель продолжал кодировать как можно больше в команде. Куа в своих многочисленных выступлениях выступает за 30% времени, затрачиваемого на кодирование с командой.

«Ваше понимание проблем также улучшится, если вы столкнетесь с кодом».

Техника

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

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

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

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

«Разработчики с большей вероятностью будут сосредоточены на очень узком взгляде на свою функцию ... Технические руководители больше беспокоятся о том, как сегодняшний выбор превратится в проблемные области завтра»

Бизнес

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

Укрепление доверия с бизнесом обычно приводит к появлению большого количества запросов на функции с этой стороны, которые, в свою очередь, должны быть сбалансированы с добавлением этих функций на устойчивой основе… то есть «разработка правильного пути» и соблюдение передовых практик. , включая тестирование и уделение особого внимания масштабируемости или безопасности.

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

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

Сам

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

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

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

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

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

Что вы думаете? Что-нибудь здесь, с чем вы не согласны или думаете, чего не хватает?