Становление множителем силы

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

Начало карьеры

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

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

Через несколько лет вы работаете в команде, работаете над большими кодовыми базами. Вы все еще сосредоточены на решении больших и лучших историй, берете на себя ведущую роль во многих из них, распределяете работу между собой и своими коллегами и в целом пишете большие куски кода самостоятельно. Обычно это тот момент, когда в вашем названии должности появляется слово «старший». Это также момент, когда стратегия больше учиться и больше писать самому начинает давать сбои. Вы уже являетесь отличным кодером, поэтому изучение нового языка или фреймворка дает только прирост. Вы уже оптимизировали свой рабочий процесс и узнали все секреты git (git pickaxe — мой любимый!), так что настройка конфигурации также дает лишь дополнительный выигрыш.

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

Изменить математику

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

Я представлю, что существует такая вещь, как 5-кратный инженер, и это вы. Повысить свой уровень, чтобы сделать 1 дополнительное сюжетное очко, сложно (вы достигли убывающей отдачи), но вы можете оказать большее влияние, взяв 5 других 1х инженеров и помогая каждому из них сделать дополнительное сюжетное очко! Это потребует примерно одинаковых усилий с вашей стороны, но в разных местах.

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

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

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

Применение на практике

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

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

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

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

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

Большая картина

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

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

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

О компании Jobber

Наши замечательные технологические команды Jobber охватывают такие сферы, как платежи, инфраструктура, AI/ML, бизнес-процессы и коммуникации. Мы работаем на передовых и современных технологических стеках, используя React, React Native, Ruby on Rails и GraphQL. 

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

Оцените статью
devanswers.ru
Добавить комментарий