Node.js: карьерный обзор 2019 года

Микроисследование ИТ-специализированного кадрового агентства Spice IT Recruitment о текущей ситуации на рынке труда Node.js-разработчиков.

Мы в Spice IT уже десять лет занимаемся подбором ИТ-специалистов, поэтому знаем инсайты (и инсайдеров!) рынка каждой из профобластей.

Ведущий консультант Spice IT Юлия Артемова поговорила с тимлидами компаний, использующих Node.js в разработке, а Юлия Попова оформила результаты этих интервью в яркие иллюстрации.

Кроме того, в конце материала будет тест, (ладно, тут он тоже будет, вот он) с помощью которого можно спрогнозировать, за какое время у вас закроется вакансия разработчика вообще, и Node.js-разработчика в частности. Особенно полезен этот тест будет для ИТ-рекрутеров, а также для нанимающих менеджеров со стороны компаний.

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

Несмотря на то, что Node.js постоянно меняется, требования к разработчикам остаются — в общих чертах — неизменными.
Тимлиды как нанимающая сторона ждут от джуниоров базовых знаний JS, от мидлов — умения работать с фреймворками, а от синиоров — способности самостоятельно решать абстрактные задачи.

Медианные зарплаты начинаются от 50 тысяч рублей (для джуниоров) и достигают 250 тысяч рублей (для синиоров).

Востребованность разработчиков каждого из грейдов легко оценить по количеству офферов за две недели активного поиска.

Какие скиллы делают выше стоимость разработчиков на рынке труда:

  • RabbitMQ, Kafka.
  • Elastic Search.
  • Docker, Kubernetes.
  • Опыт с Highload.
  • Свободный английский.

Для мидлов зарплатная вилка при наличии вышеперечисленных навыков уверенно приблизится к 180 тысячам рублей. Для синиоров — к 250 тысячам рублей.

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

Для джуниоров:

Для мидлов:

Из российских компаний Node.js в разработке используют (just to name a few): Rambler, «Яндекс», МТС, «Лаборатория Касперского», «ВКонтакте», EPAM, 2GIS, OneTwoTrip, «Сбербанк», Leroy Merlin, FxPro, Zecurion, LATOKEN, Waves, «Туту.ру», «Сравни.ру», Altarix, «Тинькофф», MERA, Profi.ru.

Из зарубежных (опять же just to name a few): PayPal, Netflix, Uber, LinkedIn, Ebay, Walmart, Medium, GoDaddy, Mozilla, Trello.

Если вы уже ищите или в скором времени планируете искать работу как Node.js-разработчик, наши респонденты советуют обратить внимание в первую очередь именно на эти компании.

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

0
132 комментария
Написать комментарий...
Ринат Г.

Хм... Что-та на hh заходишь и там по нулям. Половина это фронтовые, другая половина это криптопроекты. Да и по разговорам понятно что народ наелся лапшой из колбэков, и говно архитектурой(а-ля нахерачь говна на express) и больше ноду видеть не хочет.

Ответить
Развернуть ветку
color
лапшой из колбэков

Это какой то неправильный народ.

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

Впрочем, вы про фронтенд. Нода не в фронтенде хороша, а в микросервисах. У нас куча микросервисов висит типа подписей эцп, zip/unzip, взаимодействие с внешними сервисами, все в контейнерах докера, максимально удобно. 

Ответить
Развернуть ветку
Выпил ли mojo?

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

Ответить
Развернуть ветку
Alex

Это очень и очень спорно.

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

Ответить
Развернуть ветку
Выпил ли mojo?

Это не проблема обратных вызовов — скорее неспособность разработчика делить код на части. С async/await тоже всё непросто, их надо и любят обмазывать try/catch, который который до сих пор влияет на производительность.

Ответить
Развернуть ветку
Alexander Perlamutrov

Try-catch уже давно заоптимизирован и не даёт просадки по производительности: https://gist.github.com/wreckah/e50d58d8c6e44966dbebee626138dc56

Сорян за гист, тупо не могу вставить кусок кода в комент из буфера, он обрезается %)

"Обмазывать" каждый вызов не нужно, достаточно ловить ошибки в ключевых точках архитектуры. Например, для веб-сервиса можно ловить ошибки вызова обработчиков конкретных урлов (вью/хендлеры/контроллеры), логировать в случае возникновения и возвращать 500-й HTTP ответ. Это решит 99% всех проблем с ошибками. И только в ~ 1% бывает нужна кастомная реакция на ошибку.

Ответить
Развернуть ветку
129 комментариев
Раскрывать всегда