Сценарист: Наташа Осборн

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

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

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

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

  • ДЕЙСТВИЕ: прочитайте и попрактикуйтесь в понимании кода других разработчиков (код библиотеки)

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

Старший разработчик обычно знает, что есть несколько способов сделать что-то, и понимает эти компромиссы.

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

  • ДЕЙСТВИЕ: Тренируйте и тренируйтесь

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

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

У старшего разработчика есть опыт работы с его кодом (с пользователями, и вы несете ответственность за последствия).

Старший разработчик принимает крупные архитектурные решения.

  • АКЦИЯ: Получите опыт работы над проектами с разной продолжительностью жизни

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

Старший разработчик понимает, как работают инструменты.

  • ДЕЙСТВИЕ: Используйте новую технологию

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

Старший разработчик ценит соответствие стандартам (чистый код, документация).

Старший разработчик самоуверен / заботится о стиле кода.

  • ДЕЙСТВИЕ: Создайте полезные инструменты (плагины/ресурсы сообщества)

Когда вы берете на себя задачу создания инструмента, такого как библиотека или плагин, который будет использоваться либо внутри, либо снаружи, вы должны понять ограничения и требования для создания инструмента. Интерфейс должен иметь смысл. Он должен быть разработан таким образом, чтобы быть последовательным и интуитивно понятным (например, атрибут className и class для элемента плагина React). Это также поможет вам оценить, что библиотеки делают для вас, например, обрабатывают пограничные случаи.

  • ДЕЙСТВИЕ: Изучайте или будьте в курсе лучших практик, читая книги/блоги.

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

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

Не торопитесь стать старшим разработчиком

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

Путей определенно много. Попытка сделать все сразу может быть непосильной (и привести к выгоранию).

Если вы думаете, что у вас сейчас слишком много дел, это видео — отличный ресурс.

Маршалл Смит также участвовал в написании этой публикации.

Спасибо, что читаете блог Радиал, найдите минутку, чтобы подписаться на нас здесь и в Твиттере!