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

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

Итак, я просмотрел 21 статью, которая появилась при поиске «Как стать старшим разработчиком» и смежных запросах.

Общие черты

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

Мягкие навыки

Т-образные знания

Согласно википедии:

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

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

Здесь — отличная статья о том, как именно развивать Т-образные знания.

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

Вокруг темы наставничества возникло три основных темы.

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

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

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

Думая о большой картине™

«Общая картина» — это одна из тех вещей, о которых люди говорят очень много, но они могут означать так много разных вещей. Просматривая все эти статьи, они, как правило, означают что-то (или все) из следующих вещей:

  1. Бизнес-материалы — как уложиться в KPI, или уложиться в срок, или что-то еще.
  2. Пользовательские материалы — как на самом деле приносить пользу людям, которые используют то, что вы делаете.
  3. The Technology Stuff — как построить то, что прослужит долго.

У меня нет впечатления, что есть быстрый способ развить эти навыки. Похоже, это просто вопрос опыта.

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

Решение проблем

Как сказал Джеймс Хики (@jamesmh) в этой статье:

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

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

Сделайте свои цели известными

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

Как сказано в моей любимой статье:

Дело не в изучении нового популярного фреймворка или языка… Грубо говоря, дело больше в понимании того, что строить и стоит ли это строить, а не в том, как это строить… [A] Один человек, обладающий знаниями как о том, «что», так и о том, построить и узнать, как это сделать, могут дать превосходные результаты.

Хорошие навыки

Я думаю, что это гораздо больше свидетельствует о культуре разработчиков, но на самом деле не так уж полезно. Не относитесь к этому слишком серьезно, просто посмейтесь.

Скорость печати

Это всплывало так часто, что я смеялся. Как мы все знаем, вы не сможете стать лучше, если не будете печатать как хакер по телевизору. Много похожих советов, чтобы хорошо освоить выбранную вами IDE (должны знать все ярлыки!). Я думаю, что суть здесь в том, что вы должны чувствовать себя комфортно со своими инструментами, что бы это для вас ни значило.

Узнать This Technology

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

Работа над сторонними проектами

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

По моему опыту, есть три причины работать над сайд-проектом:

  1. Обучение – приобретение определенного навыка, которого у вас раньше не было.
  2. Опыт - в целом больше программирования (делает вас более опытным).
  3. Веселье — иногда программирование — это весело!

Если вы хотите заниматься всеми тремя одновременно, то сайд-проекты, вероятно, идеально вам подойдут! Если это ты, то ты в правильном месте! Посетите WeeklyProject.Club.

Если это не ты, не расстраивайся!

«Изучай классику»

Это встречалось не так часто, но многие люди говорят вам, что вам нужно читать Кнута, или Прагматическое программирование, или Чистый код, или что-то еще популярное. книга.

Статьи

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

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

Первоначально опубликовано на https://weeklyproject.club 10 сентября 2019 г.