Сценарист: Наташа Осборн
Есть много способов стать старшим разработчиком. Точно так же существует множество определений того, что такое старший разработчик. Мне посчастливилось иметь доступ к некоторым замечательным старшим разработчикам, которые были готовы обучать и наставлять меня на этом пути.
Теперь, когда я работаю в веб-разработке уже два года, я хотел поделиться своими мыслями о том, как выйти на новый уровень. У других может быть другое мнение, но я надеюсь, что эти советы помогут вам стать старшим разработчиком.
Прежде чем я смог написать о том, как стать старшим разработчиком, мне нужно было определить, что это значит. Далее следует набор принципов или качеств, которые, как я считаю, определяют старших разработчиков, и конкретные действия, которые вы можете предпринять для достижения этих качеств.
Старший разработчик понимает, как работают инструменты, или имеет интуицию/ожидание относительно того, как работают инструменты.
- ДЕЙСТВИЕ: прочитайте и попрактикуйтесь в понимании кода других разработчиков (код библиотеки)
Изучая иностранный язык, вы должны погрузиться в язык и понять его контекстуальное использование. Чтение библиотечного кода знакомит вас с синтаксисом и методами языка, организованными так, как вы, возможно, еще не умеете. Он также предоставляет вам шаблоны проектирования, которые разработчики использовали в библиотеке. Умение читать и понимать код библиотеки поможет вам получить опыт решения проблем, которые решает код библиотеки.
Старший разработчик обычно знает, что есть несколько способов сделать что-то, и понимает эти компромиссы.
Старший разработчик понимает правильное использование расширенного синтаксиса языка по сравнению с базовой структурой.
- ДЕЙСТВИЕ: Тренируйте и тренируйтесь
Когда вы тренируете кого-то, вы оцениваете, можно ли что-то упростить или обязательно усложнить. Коучинг укрепляет знания, в которых вы уверены. Это отличный способ справиться с этими надоедливыми «неизвестными» неизвестными, а также помочь своей команде или сообществу. Как старший разработчик, вы хотите знать, где пробелы в ваших знаниях. Эти пробелы может быть трудно найти. Коучинг улучшает способность сообщать о решениях и концепциях, с чем многие люди могут столкнуться с трудностями.
Вы также захотите, чтобы вас тренировали. Вы захотите узнать больше о шаблонах проектирования и различных подходах к решению проблем. Вы также захотите спросить о том, почему принимаются определенные архитектурные решения, и их потенциальные плюсы и минусы (масштабируемость по сравнению с производительностью). Обсуждайте с другими старшими разработчиками вопросы: «Как я могу сделать это лучше?»
У старшего разработчика есть опыт работы с его кодом (с пользователями, и вы несете ответственность за последствия).
Старший разработчик принимает крупные архитектурные решения.
- АКЦИЯ: Получите опыт работы над проектами с разной продолжительностью жизни
С проектом с длинным жизненным циклом сложнее получить такой опыт, поэтому вы не так быстро научитесь. Живые пользователи заставляют сократить время вашего цикла (если есть ошибка, ее нужно исправить — немедленно). Вы должны иметь дело с масштабируемостью, например, с миллионом пользователей, или с некоторыми пользователями, у которых есть крайние случаи, например с миллионом записей. Это заставляет вас иметь дело с последствиями ранних архитектурных решений и учиться на этих решениях. В будущем это поможет вам лучше учитывать инфраструктурные потребности проекта.
Старший разработчик понимает, как работают инструменты.
- ДЕЙСТВИЕ: Используйте новую технологию
Экспериментирование с новой технологией — отличный способ улучшить навыки решения проблем, потому что вы изучаете новый подход к решению проблемы. Новая технология может расширить ваши знания о шаблонах проектирования, которые стабильны во времени и более независимы от конкретной технологии или языка. Например, один из наших старших разработчиков улучшил свое понимание функционального программирования на Javascript, играя с Эликсиром в течение двух часов.
Старший разработчик ценит соответствие стандартам (чистый код, документация).
Старший разработчик самоуверен / заботится о стиле кода.
- ДЕЙСТВИЕ: Создайте полезные инструменты (плагины/ресурсы сообщества)
Когда вы берете на себя задачу создания инструмента, такого как библиотека или плагин, который будет использоваться либо внутри, либо снаружи, вы должны понять ограничения и требования для создания инструмента. Интерфейс должен иметь смысл. Он должен быть разработан таким образом, чтобы быть последовательным и интуитивно понятным (например, атрибут className и class для элемента плагина React). Это также поможет вам оценить, что библиотеки делают для вас, например, обрабатывают пограничные случаи.
- ДЕЙСТВИЕ: Изучайте или будьте в курсе лучших практик, читая книги/блоги.
Есть отличные справочники и лидеры сообщества, которым нужно следовать, и это важная часть работы старшего разработчика. Это поможет вам оставаться в курсе того, что сообщество считает лучшими практиками, и если вы решите отклониться от этих практик, вы можете сделать это осознанно.
Эта библиотека не обязательно должна быть общедоступным проектом, но если ее будут использовать и поддерживать другие, это поможет вам обеспечить соблюдение политик чистого кода и стиля кода. И если он общедоступен или используется другими, документация также становится важной. С этим опытом ваше понимание экосистемы, с помощью которой разработчики общаются и сотрудничают, будет расти по мере того, как вы будете знакомиться с этими процессами.
Не торопитесь стать старшим разработчиком
В конце концов я понял, что накопление опыта и терпение к себе имеют решающее значение для сохранения долголетия в стремлении стать старшим разработчиком.
Путей определенно много. Попытка сделать все сразу может быть непосильной (и привести к выгоранию).
Если вы думаете, что у вас сейчас слишком много дел, это видео — отличный ресурс.
Маршалл Смит также участвовал в написании этой публикации.
Спасибо, что читаете блог Радиал, найдите минутку, чтобы подписаться на нас здесь и в Твиттере!