Есть ли будущее помимо написания отличного кода?
Опубликовано: 2022-03-10Давайте сделаем быстрое упражнение. Допустим, вы профессионально работаете разработчиком более пяти лет. Вы приобрели практический опыт в десятках проектов и сохранили свои навыки, изучая новые методы, инструменты и фреймворки. Вы вносите вклад в различные библиотеки, регулярно проводите рефакторинг кода, который пишете, и периодически обмениваетесь обзорами кода с коллегами.
Но затем кто-то подходит и задает вам вопрос, на который у вас не было возможности ответить: кем вы видите себя через десять лет?
Вас может беспокоить мысль о том, что, если вы продолжите идти по тому же пути, вы просто станете старым разработчиком, который кодирует немного лучше и немного быстрее. Некоторым разработчикам нравится эта мысль, и они просто не могут дождаться продолжения этого пути. Но другие могут понять, что эти американские горки уроков и роста, через которые вы прошли, быстро переключаются в режим круиз-контроля.
Как только вы почувствуете, что полностью контролируете свою роль разработчика, у вас появляется желание сделать больше. Не то же самое, а больше личностного роста. Может быть, что-то другое.
В течение последних нескольких лет моей карьеры я искал ответы. У меня была возможность работать (и учиться у) со многими успешными разработчиками, которым удалось перейти на очень влиятельные роли, в которых они максимально использовали свой технический опыт. Каждый из них исследовал свой путь, по которому они смогли совершить органичный переход, основанный на балансе между их основными навыками и их дополнительными навыками.
Куда мы можем пойти отсюда?
Есть несколько новых путей, которые мы можем исследовать, которые могут заставить нас выйти за пределы нашей зоны комфорта и в то же время извлечь выгоду из набора навыков, над развитием которых мы так усердно работали.
Как разработчики, большинство статей, которые мы читаем, книги по программированию и даже советы наших коллег, предназначены для того, чтобы помочь нам сосредоточиться только на написании лучшего кода. Кроме этого, нас не учат тому, как лучше работать или, говоря более философски, как развиваться.
Обычно мы понятия не имеем, что произойдет после достижения целей, которые мы поставили перед собой, когда начинали свою карьеру, или есть ли вообще что-то, чем мы хотим заниматься, кроме кодирования по восемь часов в день до конца жизни. Обычно даже недооценивают наш возможный вклад в команду, если в ближайшем будущем мы будем заниматься чем-то другим, кроме написания кода. Мы не уверены, как мы можем оказать большее влияние, хотя наша точка зрения и навыки определенно необходимы на более влиятельных позициях.
Слушайте индустрию
В 2008 году, когда я начинал свою карьеру фронтенд-разработчика, не было в мире человека, который бы не слышал о Марке Цукерберге, молодом программисте, который стал миллионером, изменив способ общения людей. Миллениалы начали романтизировать идею легального обогащения в толстовке с капюшоном. Внезапно почти каждый человек из моего поколения захотел стать разработчиком.
Теперь, более десяти лет спустя, мы начинаем ощущать истинное влияние этого бума программистов. Благодаря проведенному в этом году опросу Stack Overflow мы узнали, что более двух третей респондентов имеют менее десяти лет профессионального опыта программирования.
Мы ясно видим, что опытных разработчиков с лидерскими качествами не хватает, поэтому теперь компаниям приходится находить творческие способы привлечения своих лучших специалистов таким образом, чтобы они могли контролировать больше младших разработчиков и поддерживать качество работы. Это создает органичную структуру лидерства в растущих командах.
Отрасль продолжает расти быстрыми темпами, как и наша роль разработчиков. Все чаще встречаются директора и менеджеры, которые начинали как программисты, и теперь компании открывают больше руководящих должностей, требующих опыта разработки.
Можно с уверенностью сказать, что, несмотря на то, что программирование считалось следующей профессией «синих воротничков», роль разработчика перерастает в очень влиятельные должности в организациях. Но нет письменной дорожной карты или проверенной формулы, которая бы провела нас через этот переход.
Каковы некоторые из наших вариантов?
В моей карьере наступил момент, когда мне задали страшный вопрос о будущем, которое я себе представляю. У меня не было ответа. На самом деле, это вызвало еще больше вопросов, которые не приходили мне в голову.
Я уже работал руководителем внешнего интерфейса, поэтому мне давали все больше и больше обязанностей помимо написания кода, что заставило меня задуматься о возможном будущем, в котором я, вероятно, не буду программировать. Возможность оказывать большее влияние на различные проекты была определенно привлекательной.
Поэтому я решил изучить, какие варианты могут быть интересны для моего будущего. Я посмотрел на путь, по которому прошли некоторые коллеги, успешно перейдя от роли разработчиков к важным должностям в компании. Большинство случаев заключались в том, чтобы делать маленькие шаги и оказаться в нужном месте в нужное время. Но в целом все они оказались вовлечены в эти три основные группы деятельности:
- Управление командами и проектами
Привести группу людей к величию звучит захватывающе, но это непросто. У опытных разработчиков есть много вариантов роста, которые включают либо управление группой коллег-разработчиков как единой командой, либо управление проектами в междисциплинарных командах. Хотя это очень полезный вариант, он требует отойти от клавиатуры и научиться делегировать полномочия, что может быть очень сложно для разработчиков, которые привыкли решать все свои проблемы лично.
Переход к позиции, в которой мы имеем больший контроль над процессом и вовлеченной в него командой, скорее всего, приведет к необходимости пожертвовать контролем, к которому мы привыкли, когда дело доходит до кода. - Наставничество и развитие талантов
Сколько начальников мечтали о клонировании своих лучших разработчиков? В реальном мире это все еще маловероятно, поэтому умные начальники делают следующую лучшую вещь: они настраивают процессы, в которых самые сообразительные программисты могут активно передавать свои знания своим коллегам.
Мы должны иметь в виду, что, хотя некоторые разработчики делают это естественным образом в своей повседневной жизни, всегда более эффективно, если старшим разработчикам отводится более формальная роль, в которой они могут регулярно выделять свое время для работы над ростом своего бизнеса. команды. Это можно сделать с помощью обзоров кода, семинаров и индивидуальных оценок с некоторыми коллегами. - Быть в бизнесе технологий
Очень часто можно услышать, как разработчики жалуются на то, как проекты были представлены или определены, когда они были проданы клиентам. И в большинстве случаев жаловаться уже поздно.
По моему опыту, я обнаружил, что мне больше нравится работать над проектами, в которых разработчики участвовали во время продажи. Всегда здорово иметь союзника с логическим мышлением, отмечающего потенциальные технические проблемы в комнате, о которой никто не знает.
Роли консультантов и технических директоров имеют решающее значение в крупных цифровых проектах. Участие разработчиков в семинарах для клиентов и составление технической документации в начале любого проекта потенциально может изменить правила игры в жизненном цикле проекта.
Работа над новым набором инструментов
Допустим, мы хотим продолжать расти и хотим вступить в будущее, в котором мы хотим делать больше, чем просто писать код. Как только у нас появляется представление о том, куда мы направляемся, весьма вероятно, что мы еще не готовы к скачку. В конце концов, мы только что сосредоточились на приобретении навыков, которые сделают нас лучшими разработчиками.
Как только мы поймем, что нам нужно многому научиться, нам нужно начать работать над правильным набором навыков. На этот раз все будет по-другому: мы не будем изучать новые языки, фреймворки или библиотеки. Нам нужно запастись навыками, которые, возможно, не казались важными в прошлом, но имеют решающее значение для следующих шагов на этих неопределенных территориях.
Коммуникация
Для тех, кто работает в какой-либо компании, это не составит труда. Коммуникация, как известно, является основой сотрудничества в организации любого типа. К сожалению, программистам на протяжении многих лет предоставлен свободный проход в этой области. Необходимость найти логически мыслящих, трудолюбивых, страстных людей позволила нам процветать без необходимости действительно обладать отличными навыками общения и даже быть очень неловкой в социальном плане.
Если у нас есть стремление работать с разными командами и клиентами, совершенно очевидно, что нам придется работать над улучшением всех аспектов нашего общения. Встречи один на один, презентации и важные электронные письма с этого момента должны быть тщательно отшлифованы.
Владение
Наличие логического мышления повлияло на то, как мы организуем нашу работу. Как разработчики, у нас обычно есть четкое представление о том, где наша работа начинается и где она заканчивается. Это хорошо, когда позволяет нам иметь четкое представление о работе, которую мы должны выполнить, но иногда мешает нам раздвигать наши границы и работать за пределами нашей зоны комфорта.
Первым делом нужно начать брать на себя ответственность за все аспекты работы, в которой мы участвуем. Стирая грань, определяющую, где заканчивается работа разработчика, мы можем брать на себя новые обязанности и в конечном итоге переходить к другим ролям.
Лидерство
Куда бы мы ни направились в своей карьере, нам нужно, чтобы наши товарищи по команде доверяли нам. Нам нужно, чтобы они знали, что мы движемся в правильном направлении, даже если на мгновение это не совсем ясно.
Чтобы достичь этого, нам нужно будет доказать свои знания, нам нужно быть уверенными в своих решениях, и нам определенно нужно будет уметь признавать свои ошибки и быстро учиться на них.
Это не простая задача, и это не то, что вы сможете вычеркнуть из списка. Это потребует нашей самоотверженности до тех пор, пока мы хотим продолжать расти за пределами пузыря развития.
Принимайтесь за работу
Как только мы уверены, что хотим сделать скачок в своей карьере, мы должны начать двигаться в правильном направлении. Первым шагом было бы изучить варианты, решить, какой путь вы хотите выбрать, и посмотреть, как этот путь согласуется с вашей текущей ролью.
Предлагает ли ваша компания пространство, в котором вы могли бы быть наставником или менеджером? Считаете ли вы, что есть шанс сделать это там, или вы думаете, что вам нужно будет продолжить свой рост в другом месте? Это лишь некоторые из вопросов, которые вы должны задать себе, и которые также приведут к разговору с некоторыми из ваших товарищей по команде и менеджерами.
Чтобы сделать шаг в новом направлении, потребуется усердно поработать, иметь непредубежденность и быть достаточно устойчивым, чтобы потерпеть неудачу и попытаться снова столько раз, сколько потребуется.