Хватит рассказов о том, как стать старшим разработчиком.

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

Может быть, там была одна-две статьи. Но теперь они повсюду.

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

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

Почему? Потому что идея стать старшим разработчиком очень субъективна.

Субъективность старшинства

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

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

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

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

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

Такое случается.

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

Так как же не попасть в такую ​​петлю?

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

На чем следует сосредоточиться вместо этого

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

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

Например, вот несколько полезных:

Bento.io также бесплатно делает достойные обучающие путеводители.

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

Что, если вы действительно решили взглянуть на свой код с новой точки зрения после изучения нового кода, дизайна или архитектурного паттерна?

Вы начнете замечать неэффективность своих привычек и стилей.

Почему это важнее, чем чрезмерная мотивация?

Потому что вы на самом деле тренируетесь, чтобы стать лучшим разработчиком. Проблема с кодом в том, что идеального кода никогда не будет. Как только вы узнаете или узнаете что-то новое, как только произойдет изменение, и как только появится обновление пакета, новая платформа или выпуск языковой функции, ваш код начнет устаревать.

Насколько у вас Т-образная форма?

В мире рекрутинга понятие Т-образной формы часто используется для оценки потенциального кандидата.

Горизонтальная часть буквы T представляет собой широту ваших знаний - то есть, сколько еще вещей вы знаете и понимаете помимо чистого кодирования?

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

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

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

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

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

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

Но правда в том, что это не так.

Конечно. Я умею писать код. Я могу наблюдать. Я могу думать. Но считаю ли я себя старшим разработчиком? Возможно нет.

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

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

Некоторые комментарии расширяют и расширяют мои знания. Остальные - просто бессмысленные личные атаки незнакомца в Интернете.

Многие более продвинутые, чем я, разработчики, вероятно, сочли меня несколько посредственным.

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

Последние мысли

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

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

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

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

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

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