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

Васнецов, Витязь на распутье. 1882

Под катом — о том, так ли все страшно, глазами специалистов из “Максилекта”, уже проходивших через аналогичный выбор.

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

Закрывать эту потребность можно по-разному. Можно периодически кардинально менять предметную область, например, из разработки каких-то интеграционных вещей перейти в big data или вообще покинуть ИТ, выбрав другую отрасль. Но обычно начинать все сначала желающих мало, поэтому прыжков “с места в карьер” (в незнакомую область) избегают, предпочитая искать пути развития поблизости. Об этом и поговорим.

Направо пойдешь, развивая навыки руководителя, — станешь тимлидом или ПМ


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

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

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

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

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

Надо помнить, что путь менеджера — это и не универсальный ответ на все вопросы. Он не для всех. С первой же руководящей ступени придется учиться нести ответственность за все, что происходит вокруг — в первую очередь за команду, сроки и бюджет проекта. Придется выйти из своего уютного ИТ-мира и одновременно говорить со сторонниками разных взглядов на ситуацию — с разработкой и бизнесом — выступая своего рода переводчиком. Грубо говоря, уже не получится объяснять необходимость оптимизации кода лишь тем, что тот “некрасив”. Придется вникнуть в детали и представить бизнес-последствия каждого из вариантов решений.

Налево пойдешь, углубишься в технологию — станешь principal


Не всем в этом мире стоит идти в менеджеры, ведь не каждый видит в этом венец своей карьеры (о том, лучше ли это, чем писать код, можно спорить бесконечно).

Решая задачи в своей сфере, опыт получают все — т.е. все в каком-то смысле растут технически, кто-то быстрее, кто-то медленнее. Техническая специализация не имеет своего “потолка”. По мере развития в этом направлении ты фокусируешься на более сложных технологических вещах, глубже в них разбираешься. Когда ты вырастаешь далеко за пределы сениора, становишься своего рода “гуру”, для которых в западных компаниях даже есть свое наименование — principal.
Грамотных нишевых специалистов, способных крутить и обрабатывать огромные объемы данных, строить low-latency архитектуру или разбирающихся в перформансе Java, на рынке не так много, поэтому востребованность и ценность человека как специалиста растет. Хотя при этом диапазон вакансий сужается, а спектр ожидаемых навыков увеличивается. Помимо решения технических задач, на специалиста уровня principal, например, могут возложить задачу код-ревью, за счет которого его собственный опыт станет достоянием команды (ключевой момент в том, что он должен объяснять, почему надо делать так, а не иначе). Что касается денег, то здесь как повезет. У разработчиков зарплата, возможно, и не больше, чем у менеджеров, но стабильность и предсказуемость обычно выше.

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

Прямо пойдешь, разовьешь ответственность — станешь архитектором


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

По мере продвижения по этому пути ты берешь на себя ответственность за создание все более масштабных и сложных систем. Кстати, это характерно и для principal. Если уж ты обещаешь, что у тебя есть экспертиза в перформансе сложных систем, ты берешь на себя ответственность за нее. Но от квалифицированного разработчика, который пишет особо важные куски кода, системного архитектора и техлида отличает степень этой ответственности.

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

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

Прежде чем сворачивать куда-то еще, оцени риски


Иногда хочется не менять круг обязанностей, а сохранить все как есть, но добавить немного драйва в саму работу. И первый порыв — сменить компанию, чтобы поискать более “веселенькую” команду. Но тут важно понимать, что драйв зачастую приходит вместе с рисками. Стабильные проекты обычно самые скучные. Драйв же ассоциируется с созданием своего собственного продукта или с участием в стартапе, которые могут не взлететь из-за промаха маркетинга, ошибки с целевой аудиторией или миллиона других причин, иногда даже не связанных с конечной разработкой (особенности процесса запуска продукта — это тема для отдельного разговора).
Вопрос, который надо задать себе, звучит просто: позволяют ли жизненные обстоятельства в экстренном случае некоторое время посидеть без денег и выйти на поиск работы? Если другие пути не нравятся, трезво оценивая риски, можно хотя бы подготовить подушку безопасности перед тем, как искать драйва.

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

А как складывается ваш карьерный путь? Осознанно ли вы выбирали это направление развития? Кем вы видите себя в будущем?

Эта статья — четвертая часть нашего цикла публикаций о карьере ИТ-шника.
Первая часть здесь.
Вторая часть здесь.
Третья часть здесь.

Коллектив компании Maxilect.

P.S. Мы публикуем наши статьи на нескольких площадках Рунета. Подписывайтесь на наши страницы в VK, FB, Instagram или Telegram-канал, чтобы узнавать обо всех наших публикациях и других новостях компании Maxilect.

P.P.S. С наступающим 2020 Новым годом! Желаем в Новом году двигаться в правильном направлении!

Комментарии (15)


  1. vodopad
    25.12.2019 11:36
    +1

    Возможно, моё мнение будет непопулярным, но:
    По мне так лучше оставаться Lead-инженером. За счёт переработок и дежурств можно получать гораздо больше денег, чем в архитекторах и тим. лидах. А отвественности и головной боли гораздо меньше. Можно найти душевный покой.

    Архитекторы, как правило, не работают руками, и это крайне негативно сказывается на их квалификации. Работать с архитектором, у которого стаж работы более пяти лет, становится очень сложно, так как технологии меняются, но у архитектора уже не остаётся времени и сил развиваться наравне с инженерами. Архитектор с пятилетним стажем в 2019 году мыслит так же, как инженер в 2014. И с каждым годом архитектор всё дальше и дальше отдаляется от «реальности».


    1. stone_evil
      26.12.2019 13:00

      Верное замечание. Архитектор все-таки развивается, как и инженер, но чисто теоретически, на практику, как вы верно заметили, ни времени, ни сил не остается. Поэтому от «реальности» он, может, и не отдаляется, возможности современных технологий представляет, но лопату в руки уже вряд ли возьмет.


  1. stilic
    25.12.2019 11:44

    Говорят, что профессионалом в своей области становишься в среднем после 5 лет активной работы.

    Это миддл.
    Не сеньор.


    1. Nemiroz
      25.12.2019 14:22

      По такой логике первые 5 лет в области ты джун? Мне кажется, что порог джуна 1-1,5 года, а к 5 годам это как раз порог сеньора.


      1. stilic
        25.12.2019 14:54

        По такой логике первые 5 лет в области ты джун? Мне кажется, что порог джуна 1-1,5 года, а к 5 годам это как раз порог сеньора.


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

        Ну во первых люди разные. Разные также и критерии. Скажем джун в Гугле — запросто сильнее сеньора в Мухосранске.

        Во вторых, я исхожу из того, что несмотря на то какие бы талантливые ребята мне попадались — все равно я еще ни разу не встречал настоящего сеньора (не тот, что так называется, а настоящего) с опытом менее 7-9 лет (если рассматривать не Гугль и не Мухосранск, а нечто среднее). Даже если рассматривать мегаталантливых, которые попадались мне за 30 лет моей работы в ИТ. А типично — вообще ближе к 9-12 годам начинается нормальный сеньор.

        Есть те, что как бы занимают сеньорскую должность, но не обладают знаниями. Зачастую фирме проще не платить больше, а назвать должность попонтовее — так что это всё по большому счету условность.

        А 5 лет — это такой очень крепкий миддл должен быть, если мы говорим о среднем уровне талантливости.

        Впрочем годы — это не показатель.

        Я видал неоднократно и джунов 7-9 лет опыта.
        И миддлов с 17 годами опыта парочку.


        1. nckma
          25.12.2019 20:19

          Я честно говоря очень удивлен вообще с этого деления — джун/мидл/сеньер.
          Я вот больше 20ти лет программирую на всяких языках.
          А приходится браться за новый проект, где используется ранее не известная тебе технология и все — ты джун. Заново учишься и наступаешь на разные грабли.
          Или скажем умеешь в c++11, c++14 как-то пропустил мимо ушей, вышел c++17 и опять, был сеньером, а стал мидлом, особенно если c++ к примеру это не единственный используемый язык в проекте, а скажем их 4-5 на проекте.


          1. vodopad
            25.12.2019 23:22

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


            1. stilic
              26.12.2019 05:31

              А джуна нужно направлять.


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

              Например, регулярно вижу жалобы и заблуждения от начинающих:
              «ИТ это такая сфера где нужно только и делать что учиться всю жизнь, это же как жить».

              Учится всю жизнь полезно, но не так страшно. Но речь о другом:

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


          1. sentyaev
            26.12.2019 03:27

            Я честно говоря очень удивлен вообще с этого деления — джун/мидл/сеньер.

            Да эти названия нужны чтобы небыло вопросв «почему я получаю меньше Пети?».


    1. nonname
      25.12.2019 14:39
      +1

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


    1. Habrell
      25.12.2019 23:51

      Оценивать человека как мидл, только имея информацию о его стаже, это как минимум предрассудки. Как максимум дискриминация.


      1. VolCh
        26.12.2019 07:08

        Речь о статистике, а не о человеке


      1. stilic
        26.12.2019 10:04

        Оценивать человека как мидл, только имея информацию о его стаже, это как минимум предрассудки. Как максимум дискриминация.


        Ну вы же понимаете, что «диагноз по телевизору» не поставить и речь не идет об оценке конкретного человека, а речь об том, что работает для подавляющего большинства?

        Профессиональный опыт 30-ти лет позволяет оценивать, полагаю, корректно. Мне и гении попадались. И те, что с детства программируют. Но без многих лет опыта реальных проектов — сеньором не стать.

        В чём то вы правы:

        5 лет — это вполне себе самостоятельный работник. Однако этого недостаточно.

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

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


    1. Maxilect Автор
      27.12.2019 12:09
      +1

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


      1. stilic
        27.12.2019 12:35

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


        Вы на ходу придумываете какие-то детские отмазки.

        Вся статья — профанация:

        1) «Идити ли в архитекторы?» Да сеньор именно тем и отличается от миддла, что он способен грамотно архитектуру составить. Уже отличается. Корректнеей было бы назвать статью «Перепутье миддла».

        2) «Идти ли в тим-лиды?» Да не одна адекватная фирма не позволит сеньору быть без команды, это просто расточительно. Да и нормальный сеньор будет рад скинуть повседневную рутину на тех, кто под ним. Без команды разве что миддлы бывают. Статью корректнее нужно было бы назвать «Перепутье миддла».

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

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

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


        Полагаю это написал какой-то JS-ник, которому бэкенд кажется тёмным лесом?
        Уверяю вас — вы ошибаетесь.
        Есть и сложный фронтенд.

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

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