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

Всем привет! Меня зовут Глеб Михеев, я занимаюсь разработкой с 2003 года. В прошлом я основал компанию по заказной разработке и 9 лет там успешно отгалерил в роли CTO. Седьмой год руковожу программным комитетом конференции FrontendConf. Веду в Telegram канал «Уставший Техдир». Лидер команды Виртуального Ассистента в В2С в Сбере.

Ситуация на рынке

Сначала посмотрим на рынок. Подчеркну, что это не настоящее исследование, а поверхностные выводы на основе того, что я вижу на HeadHunter. 

Вот как выглядит рыночная потребность в специалистах на HeadHunter по состоянию на 19.03.2024: 881 вакансия стажёров, около 2000 — джунов, 130 тысяч — мидлов, 54 тысячи — сеньоров. Всё это звучит серьёзно, но на графике выглядит так:

А сколько резюме в активном поиске? 

Покрыто только 30 % спроса на мидлов, и только 2 % (!) — сеньоров. Сеньора сейчас днём с огнём не сыщешь. Денег больше даём, и проекты интересные, и тамада хороший, но найти всё равно затруднительно. 

Я начал отслеживать количество вакансий за год до этого, в феврале 2023, и измерял каждый месяц. Вот как поменялось предложение за прошедший год:

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

А теперь оценим текущую нехватку специалистов не в процентном, а в количественном выражении:

Последствия

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

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

  • Долгий поиск нужных специалистов. Приходится искать по много месяцев. Поиск сеньора в полгода для многих компаний стал нормой, а некоторые закрывают позицию сеньора ещё дольше.

  • Снижаются требования к кандидатам. Приходится закрывать глаза на какие-то недостатки, и в итоге мы нанимаем вроде бы мидлов и вроде бы сеньоров. А по факту, путём компромиссов получаем недостаточно квалифицированные кадры, что роняет производительность труда в коллективе

  • Уменьшается время работы в компании. Поработал полтора года, тебя начинают переманивать и ты спокойно уходишь на более выгодное место. Есть даже те, кто пропагандирует такую стратегию поведения для максимизации заработка (дожили).

  • Растут зарплаты. Чтобы как-то удержаться в конкуренции за специалистов, компаниям приходится повышать зарплаты. По данным SuperJob, c 2008 года зарплаты в ИТ выросли в среднем на 376 %. Но если посмотреть отдельно по специальностям, всё куда интереснее.

Кто из вас в последние годы хоронил PHP? Он живее всех живых, а PHP-программисты в процентном выражении выросли больше всех. На втором месте — Java-программисты. Java тоже все хоронят и прочат на её место всякие Scala и Kotlin’ы, а воз и ныне там. 

В экономике страны всё это приводит к тому, что общая производительность труда снижается: отрасли не хватает людей. А имеющиеся обходятся всё дороже, растут издержки на привлечение и удержание, а значит и на производство продуктов. Люди чаще меняют работу: только вышел на какую-то продуктивность, как уже собрался в другое место. Один мой знакомый из большой технологической компании рассказал, что один продуктивный сотрудник обходится им в 6,5 зарплат. Здесь учитывается и стоимость найма, и тот адаптационный период, когда человек осваивается на новом месте, с новыми инструментами и инфраструктурой, и на «полную мощность» он выходит примерно через полгода-год после прихода в компанию.

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

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

Что ещё важно?

Давайте вернёмся к статистике:

Стажёры и джуниоры — это те, из кого в будущем получаются мидлы и сеньоры. Сейчас нам не хватает 143 000 опытных разработчиков, а на входе мы имеем 2 796 человек. Разрыв в 51 раз. Это драматически много. При этом Минцифры проводят куда более серьёзные исследования, и по их мнению в стране на самом деле нехватка в 500-700 000 разработчиков. Как нам заполнить этот вакуум, если мы мы за раз нанимаем только 3 000 новичков? Конечно, не все выкладывают резюме. И иногда приходишь в компанию, там одна вакансия React-разработчика, а за ней 150 позиций. Так что истинное положение вещей может быть еще хуже получившейся статистики. 

Что делать?

Сегодня компании сильно зависят от кадрового рынка. А мы, как производители ПО, знаем, что с зависимостями надо работать. Нужно сделать так, чтобы они меньше на нас влияли. Как? Научиться растить свои кадры, а не ждать, когда они появятся на рынке. 

Что собой представляет «специалист мечты», с которым хотелось бы работать? Вопрос дискуссионный, и я пришёл к такому мнению, что это человек: 

  • в нашей инженерке;

  • в нашей культуре и процессах;

  • лоялен компании.

Кто на рынке больше всего подходит под эти критерии? Никто. Такого человека можно только вырастить внутри компании. Это молодой айтишник, выпускник ВУЗа или самоучка, который пришёл в компанию стажёром или джуном, и который впитал нашу культуру и благодарен компании за обучение и возможности. 

Как растить кадры?

Если спросить коллег, как интегрировать джуна, вам обычно ответят: «Давайте сделаем лягушатник и программу обучения, тестовые проекты. Они там полгода побарахтаются, а мы будем лучших забирать». Очевидное решение. Кто-то скажет: «А давайте их как-нибудь изолируем, ограничим им возможность набедокурить с архитектурой, планированием, ещё чем-нибудь. Даже если новички будут ошибаться, это не повлияет на наши процессы».

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

Какой должна быть среда обучения?

Есть много разных подходов, подробно описывающих, как совместить обучение с производством:

  • Apprenticeship;

  • Dual Education System;

  • Kaizen;

  • Just-in-Time Training;

  • Blended Learning;

  • 70-20-10 Model.

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

Есть три составляющие, с которыми нам предстоит работать:

Найм (как мы нанимаем) → Среда (куда мы погружаем новичка) → Действия (набор активных действий для максимального результата)

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

Найм

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

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

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

Целеустремленность и трудолюбие. Кроме желания, должна быть дисциплина и умение работать на результат. Важно, чтобы человек понимал свою цель и был готов системно вкалывать для её достижения.

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

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

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

Среда

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

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

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

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

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

Действия

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

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

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

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

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

Манифест

Всё рассказанное мной — не откровение. Местами даже банальщина. Мы всё это знаем, где-то слышали. Но иногда так не хватает, чтобы кто-нибудь про это напомнил. Поэтому мы со своими единомышленниками составили манифест-напоминание. Мы назвали его JEDI-манифест (Junior Education Development Initiative) да, аллюзия на джедаев не случайна :)) Он не про большие компании, а про команды. И не про джунов. Он вообще про обучение новичков, которыми могут быть сеньоры, метящие в менеджеры. Эта система обучения строится на уровне того коллектива, в котором вы работаете. И вам никто дополнительно не нужен, чтобы начать это практиковать. 

Возможно, позже мы составим для вас и руководства, которые помогут проверять новичков на соответствие описанным здесь критериям. Если вам нравится наш манифест, применяйте его у себя и пишите о результатах. Нам очень хочется узнать ваши выводы, и особенно критику. Можно критиковать прямо на странице манифеста, там есть ссылка на шаблон на GitHub. Всё обязательно изучим и учтём.

Заключение

Мы не сможем поменять ситуацию на рынке, если не откажемся от стратегии хантинга, которой придерживается большинство компаний. Тот океан, в котором все мы пытаемся выловить хороших сеньоров, создан нашими руками: «Ой, нет времени обучать, пусть кто-нибудь другой обучит, а мы у него схантим». Вместо этого рынку очень нужна стратегия взращивания. Если мы, как опытные и умные разработчики, отвечающие за свои команды, примем для себя правило «одна команда — один джун», то мир разработки достаточно быстро изменится. А для этого нам нужно научиться растить людей, а не ждать, пока они вырастут сами. 

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