Код
#статьи

Зарплаты бэкенд‑разработчиков разного уровня в России: исследование Skillbox Media

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

Кадр: фильм «Зачинщики»

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

  • разработчики (фронтенд и бэкенд),
  • специалисты по работе с данными и аналитики,
  • менеджеры,
  • тестировщики,
  • технические писатели,
  • IT-рекрутеры,
  • системные администраторы и сетевые инженеры.

Мы проводим исследование рынка вакансий СНГ по всем направлениям. Сегодня — первая часть, зарплаты и скиллы бэкендеров.

Как изменилось количество вакансий с февраля 2022 года

По данным hh.ru, количество вакансий в марте 2022 года уменьшилось на 18%, в апреле вакансий стало ещё на 11% меньше.

Статистика HeadHunter
Скриншот: Skillbox Media

При этом количество резюме за этот же период выросло на 15%.

Статистика HeadHunter
Скриншот: Skillbox Media

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

Количество резюме на одну вакансию в разных сферах. Статистика HeadHunter
Скриншот: Skillbox Media

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

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

Пример вакансии с HeadHunter
Скриншот: Skillbox Media

Посмотрим, какие вакансии предлагают работодатели и сколько зарабатывают бэкендеры.

Стажёры

15 000–30 000 рублей

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

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

Junior

50 000–120 000 рублей

Зарплата зависит от уровня знаний и опыта работы сотрудника, в большинстве вакансий нужны такие профессиональные навыки:

Знание одного или нескольких языков программирования. JavaScript, Python, PHP, Java, Kotlin, Ruby, C#, Go, Scala и так далее. Статистику по всем языкам программирования можно посмотреть в исследовании Stack Overflow.

Статистика по используемым языкам программирования GitHut
Скриншот: Skillbox Media

Знание фреймворков (в зависимости от языка программирования). Самые популярные в бэкенде: Ruby on Rails, Meteor, Laravel, Express, Django, Flask, Spring, Koa, Symfony, Codelgniter, Beego, .NET Core, Yii Framework, Phoenix, Play Framework, Ktor. Статистику по всем фреймворкам можно посмотреть в исследовании Stack Overflow.

Знание SQL. Основные операторы, логика транзакций, внешние ключи, индексы и их влияние на скорость выборки и так далее. Кроме основных операторов SQL нужно понимание транзакций (в том числе их уровней), варианты хранения данных (таблицы связей, EAV и прочее), нормализация, связи (внешние ключи используются почти всегда), индексы (не только какие бывают, но и как организовано сбалансированное дерево B-tree, как влияет селективность на выборку), план запроса, оптимизатор и сбор статистики, какие бывают локи и из-за чего и для каких изменений нужно снимать нагрузку. Также важны «сопутствующие» вещи — миграции, фикстуры, драйверы СУБД, подготовленные запросы, SQL-инъекции и тому подобное. Для начала достаточно иметь общее теоретическое понимание этих вещей, реально будете их изучать на практике, в зависимости от проектов и их нагрузки с разной степенью глубины.

Умение работать с системой контроля версий Git и сервисами типа GitHub и GitLab.

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

Компании предлагают достаточно большую вилку зарплат, в которой верхняя граница может отличаться от нижней на 50–70%. Это связано не только с уровнем знаний соискателя. Через какое-то время после начала работы зарплату могут повысить, потом ещё. И так добраться до верхней границы. Но этот момент нужно уточнять на собеседовании.

В Москве уровень зарплат выше (80 000–120 000 рублей). Если предполагается наставничество, скорее всего, придётся ездить в офис.

Пример вакансии с HeadHunter
Скриншот: Skillbox Media

Middle

80 000–250 000 рублей

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

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

Вакансия с сайта «Хабр Карьера»
Скриншот: Skillbox Media

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

Пример вакансии с сайта SuperJob
Скриншот: Skillbox Media

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

Пример вакансии с сайта HeadHunter
Скриншот: Skillbox Media

Senior

250 000–500 000 рублей

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

Пример вакансии из Telegram-канала GetIT-Russia
Скриншот: Skillbox Media

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

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

Пример вакансии с HeadHunter
Скриншот: Skillbox Media

Тимлид

400 000–500 000 рублей

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

Ниже пример вакансии из Санкт-Петербурга с зарплатой от 480 000 рублей, ДМС и другими плюшками.

Пример вакансии c HeadHunter
Скриншот: Skillbox Media

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

Что нужно знать, чтобы пройти собеседование на Junior-разработчика в бэкенде

В любой технологии есть свои плюсы и минусы. Кстати, об этом часто любят спрашивать на собеседованиях. Есть общие требования для всех технологий: знание баз данных, типов и структуры HTTP-запросов, REST API, MVP, понимание стандартных алгоритмов обработки данных (любят спрашивать про бинарное дерево).

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

Go

Что нужно знать. Объектно-ориентированный подход вообще (наследование, полиморфизм, инкапсуляция) и то, как он реализован в Go. Типы данных и синтаксис. На собеседовании могут дать задачи на слайсы и спросить, чем последние отличаются от массива, или на map и попросить объяснить её особенности. Кроме того, нужно знать каналы, горутины, планировщик, многопоточность, конкурентность.

Сколько получают

Junior: от 70 000 до 120 000 рублей;

Middle: от 100 000 до 250 000 рублей;

Senior: от 220 000 до 450 000 рублей.

Node.js

Что нужно знать. Как устроена технология (что такое потоки, потоковая передача данных). Обработка событий (асинхронное программирование). Структуры данных, классы и наследование. Приведение типов данных, замыкания и тому подобное. На собеседовании могут попросить написать простой веб-сервер.

Сколько получают

Junior: от 100 000 до 150 000 рублей;

Middle: от 150 000 до 240 000 рублей;

Senior: от 300 000 до 400 000 рублей.

Kotlin/Java

Что нужно знать. Помимо общих вопросов, на собеседовании обычно задают вопросы про совместимость с Java, типы классов и виды функций в Kotlin, дженерики (чем они отличаются от дженериков в Java) и корутины.

Сколько получают

Junior: от 50 000 до 120 000 рублей;

Middle: от 160 000 до 350 000 рублей;

Senior: от 240 000 до 400 000 рублей.

C#

Что нужно знать. На собеседовании, кроме теории и решения задач, могут попросить объяснить готовый код. Примеры тем вопросов: разница между классом и структурой, классом и объектом; что такое boxing/unboxing; особенности работы со строками; сборщик мусора; методы Object, ковариантность. Фреймворк .NET.

Сколько получают

Junior: от 120 000 до 150 000 рублей;

Middle: от 200 000 до 280 000 рублей;

Senior: от 250 000 до 360 000 рублей.

PHP

Что нужно знать. Понимать разницу между PHP 7 и PHP 8. Преимуществом будет опыт написания тестов PHPUnit (понимание TDD), опыт работы с Composer. На собеседовании часто встречается задача написать функцию, которая склоняет слово в зависимости от числительного, передающегося ей в качестве аргумента.

Сколько получают

Junior: от 30 000 до 60 000 рублей;

Middle: от 120 000 до 200 000 рублей;

Senior: от 200 000 до 270 000 рублей.

C++

Что нужно знать. Понимать разницу между C и C++ и между версиями (например, знать, когда появилось лямбда-выражение и что это такое), процесс компиляции и линковки, модель памяти, шаблоны и указатели. Примеры вопросов: «Что используется вместо интерфейсов? Есть ли виртуальные функции? Как создать динамический массив?» В задачах на собеседовании нужно знать стандартные алгоритмы (бинарный поиск, сортировка, два указателя, сканирующая линия, обход в глубину и ширину).

Сколько получают

Junior: от 90 000 до 120 000 рублей;

Middle: от 100 000 до 240 000 рублей;

Senior: от 200 000 до 440 000 рублей.

Python

Что нужно знать. Структуры данных, изменяемые и неизменяемые типы данных, генераторы и итераторы, GIL, контекстные менеджеры, фреймворк Flask/Django. Примеры вопросов: «Как во множественном наследовании отрабатывается поиск атрибута? Отличия одного типа данных от другого. Разница между хешированием и шифрованием».

Сколько получают

Junior: от 60 000 до 140 000 рублей;

Middle: от 150 000 до 450 000 рублей;

Senior: от 380 000 до 500 000 рублей.

Заключение

Пройти путь от джуниор-разработчика до сеньора в среднем реально за пять-шесть лет. Курсы по специальности с преподавателями-практиками помогут получить нужные навыки быстрее. Если есть чёткая цель, желание развиваться и умение брать на себя ответственность, то всё получится — вакансий и возможностей для развития в сфере IT сегодня достаточно.

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

Участвовать
Понравилась статья?
Да

Пользуясь нашим сайтом, вы соглашаетесь с тем, что мы используем cookies 🍪

Ссылка скопирована