Это того стоит, если вы готовы пойти на жертвы

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

Я никогда больше не хотел быть техническим лидером.

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

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

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

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

Минусы

1) Встречи

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

2) Обзоры кода

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

3) Вопросы

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

4) Документация

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

5) Разрешение конфликтов

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

6) Более длинные часы

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

7) Отсутствие кодировки

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

Плюсы

1) Технологические решения

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

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

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

3) Стандарт кодирования и лучшие практики

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

4) Интервью

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

5) Конструктор резюме

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

6) Мышление на основе общей картины

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

7) Последнее слово

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

Заключение

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

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

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

Если вы можете больше относиться к первому, то, вероятно, уже знаете ответ.

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

Больше контента на plainenglish.io