Хватит этих историй о том, “как стать старшим разработчиком”

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

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

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

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

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

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

На чём следует сосредоточиться?

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

Нужно прорабатывать эти пути развития или идти собственным, собирая знания, откровения и знакомясь с ошибками. В большинстве случаев мы просто перестаём работать, когда работает код. Но что, если вы сделаете ещё один шаг вперёд? Что, если вы решили взглянуть на свой код по-новому после изучения другого кода, дизайна или архитектурного шаблона? Тогда вы начинаете видеть недостатки своих привычек и стилей. Почему это важнее, чем цепляться за мотивацию? Потому, что вы на самом деле тренируете себя, чтобы стать лучшим разработчиком. Проблема с кодом в том, что идеального кода не будет никогда. Как только вы узнаете или распознаете что-то новое, как только происходят изменения, и как только появляется обновление пакета, новый фреймворк или новые возможности в языке, ваш код устаревает.

Насколько вы Т-образны? 

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

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

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

Есть общее предположение, что, поскольку я много пишу о коде, я должна быть старшим разработчиком. Но на самом деле это не так. Конечно, я умею писать код. Я могу наблюдать. Могу думать. Но считаю ли я себя старшим разработчиком? Нет. Почему? Потому, что всегда есть кто-то лучше меня. Более осведомленный. Скорее всего, более творческий в написании кода, чем я. Именно принятие этого позволило мне узнать что-то новое. 

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

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

Последняя мысль

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

Где бы вы сейчас ни находились в своей карьере, именно к этому вам и следует стремиться. Мастерство приходит во многих формах, и чем больше вы понимаете и знаете о том, как что-то сделать, тем лучше у вас это получается. И это — ваш весомый аргумент на переговорах о повышении зарплаты. Чтобы сделать нечто значимое с нуля, нужны проекты, эксперименты и немного творческого мышления. Так что перестаньте читать статьи о том, как быть старшим разработчиком (по мнению других) и всё, что окружает эту тему. Вместо этого начните изучать актуальный код. Приступайте к творческому процессу. Так вы добьётесь большего прогресса в больших скачках и, по иронии судьбы, приблизитесь к этому желанному значку старшего разработчика ближе, чем когда-либо прежде.

Читайте также:


Перевод статьи Aphinya Dechalert: Stop it. The myth of the senior developer