Мы в HTML Academy занимаемся обучением фронтенд-разработке. За последние 8 лет мы выпустили на рынок большое количество начинающих специалистов, которые устроились на работу и начали приносить пользу рынку.

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

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

Как проводилось исследование?

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

Как собирались данные?

Мы выбрали два основных способа сбора информации о навыках.

  • Анализ вакансий на предмет требуемых навыков.

  • Интервью с опытными разработчиками, которые недавно стали мидлами, или которые нанимают мидлов на работу.

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

Исследование вакансий

В качестве площадок для анализа вакансий мы выбрали hh.ru, Хабр Карьеру и geekjob, как самые крупные и популярные площадки.

Вакансии отфильтрованы по следующим параметрам:

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

  • Указанный в вакансии опыт работы попадает в диапазон 1—3 года.

  • Зарплата ≥150 000 ₽ после вычета налогов.

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

  • Такая же выборка, но с требованиями по опыту от трёх до шести лет — 542 вакансии.

  • С опытом больше шести лет — 36 вакансий.

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

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

Таким образом, всего было проанализировано больше 1000 вакансий.

Как анализировались данные?

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

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

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

Для интервью с разработчиками было выбрано две группы:

  • Тимлиды и техлиды продуктовых компаний, которые нанимают и работают с мидлами.

  • Мидлы с опытом работы от двух до пяти лет.

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

  1. Пообщались с тимлидами и техлидами — всего около 40 человек.

  2. По итогам разговоров сформировали среднюю карту компентенции по навыкам и составили на её базе опрос по использованию или неиспользованию навыков.

  3. Разослали опрос на три группы опытных разработчиков:

    1. Наставники HTML Academy, которых у нас много.

    2. Выпускники Академии, которые закончили обучение от двух до пяти лет назад.

    3. Твиттер и группы в социальных сетях с опытными разработчиками.

  4. Пообщались голосом с двадцатью мидлами, чтобы получить апрув полученных результатов.

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

Важные уточнения

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

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

Результаты исследования

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

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

Подробные графики по JavaScript-фреймворкам и отдельным навыкам
JavaScript-фреймворки и TypeScript в вакансиях
JavaScript-фреймворки и TypeScript в вакансиях
Отдельные навыки. CSS-фреймворки — общее обозначение для Bootstrap, Material UI, Tailwind CSS
Отдельные навыки. CSS-фреймворки — общее обозначение для Bootstrap, Material UI, Tailwind CSS
Отдельные навыки. CSS-in-JS – общее обозначение для CSS.modules и StyledComponents
Отдельные навыки. CSS-in-JS – общее обозначение для CSS.modules и StyledComponents

Самые популярные навыки для мидлов

  1. React — 61%.

  2. TypeScript — 58%.

  3. Vue — 31%.

  4. Webpack — 30%.

  5. Понимание ООП, MVC, паттернов — 30%.

  6. Unit-тесты — 25%.

  7. Redux — 24%.

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

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

Интересно, что Vue уступает React в два раза, а Angular упоминается всего в 15% вакансий.

Востребованность фундаментальных знаний растёт с опытом

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

  • Алгоритмы и структуры данных.

  • Понимание ООП, MVC, паттернов.

  • Понимание работы сетей и протоколов передачи данных.

  • Понимание принципов работы баз данных.

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

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

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

По нашей статистике топ выглядит так

  1. TypeScript — востребованность растёт на 56%.

  2. Unit-тесты — 27%.

  3. React — 24%.

  4. Redux — 22%.

  5. Webpack — 17%.

  6. Группа фундаментальных основ — 17% в среднем.

Есть и другие навыки, которые не показывают такой рост, но он есть — Angular, State Management, GraphQL, Agile, CSS-in-JS, SSR, CI/CD.

При этом есть навыки, например, Vue.js и знание популярных CSS-фреймворков, востребованность которых падает при переходе из джуна в мидла.

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

Сравнение средних зарплат

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

1—3 года опыта. Средняя зарплата 219 тыс ₽, максимум — 480 тыс ₽.

3—6 лет. Средняя зарплата 255 тыс ₽, максимум — 500 тыс ₽.

6+ лет. Средняя зарплата 342 тыс ₽, максимум — 700 тыс ₽.

Пользуясь случаем, напоминаю, что в выборку попадали вакансии продуктовых компаний с зарплатой от 150 тыс ₽, а данные собирались осенью. Это значит, к текущему периоду средние числа можно смело увеличивать на 10-15%, если верить тенденциям на рынке.

Выводы

Главные выводы по результатам исследования представлены выше.

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

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

А пока на базе полученной информации собрали карту кометенций, которая показывает навыки фроненд-разработчика, усреднённые по рынку и разложенные по необходимости на каждом этапе опыта.

Спасибо за внимание и не забывайте про развитие.

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


  1. sinneren
    24.12.2021 10:11

    стаж ~10лет в вебе, в основном фронт, зп и 150 нету после вычета. без да, ровно. у нас и фулстек с 5 летним опытом среднюю джуновскую не получает. смешно.


    1. defaultvoice
      24.12.2021 10:48
      +5

      А зачем вы, собсна, работаете за копейки? Уже и миддловые ставки на фронте вон за 200 переваливать начинают


    1. SamTlT
      25.12.2021 10:50

      Ковид очень сильно изменил рынок. Сейчас даже переезжать никуда не нужно. Мидлы реально могут получать 200+. Главное подготовиться к собеседованию и пройти их штук 10. Прохождение собеседований это отдельный навык


      1. Metotron0
        27.12.2021 00:13
        +1

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


        1. ninJo
          27.12.2021 06:16

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


  1. JustDont
    24.12.2021 18:57
    +3

    Реакт теперь уже "навык", дожились.


    Главный скилл джуна — задавать вопросы.
    Главный скилл миддла — не задавать вопросов.
    Главный скилл сеньора — задавать вопросы.


    Входные задачи, правда, сильно разные.


  1. Exclipt
    24.12.2021 20:11

    Статью стоит переименовать с "какие навыки нужны фронтэндеру" на "что из умных слов требуют в вакансиях", потому что Webpack - это не навык, особенно если вы уже мидл