Сколько получают бэкендеры и почему вилку в вакансии трудно сравнить с зарплатой

Сопоставляем зарплатные данные по бэкенду с открытыми вилками и показываем, как сравнить оклады и премии.

В первом полугодии 2026 года Хабр Карьера оценила медианную зарплату бэкенд-разработчиков в 278 тысяч рублей в Москве, 251 тысячу в Петербурге и 220 тысяч в регионах. Это данные по профессии в целом. Чтобы оценить предложение для мидла, нужно сначала отфильтровать анкеты по грейду, затем посмотреть, какую часть дохода вообще показывает работодатель.

Сколько получают бэкендеры в Москве, Петербурге и регионах

Регион Медиана в первом полугодии 2026 года
Москва 278 000 ₽
Санкт-Петербург 251 000 ₽
Регионы 220 000 ₽

Московская медиана в этом срезе выше региональной на 58 тысяч рублей, петербургская — на 31 тысячу. В отчёт входят бэкендеры разных грейдов. На странице с отдельным фильтром Middle и Москва сервис указывал 957 анкет на момент проверки. Для разговора об офере полезнее именно такой фильтр, особенно если дополнительно можно выбрать нужный период.

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

Как читать объявления, в которых открыли сумму

На момент просмотра в выдаче hh.ru вакансия Middle+/Senior Python Developer у Evrone указывала до 300 тысяч рублей на руки. В другой выдаче работодатель для позиции Middle+ / Senior Python Backend Developer указывал от 289 412 рублей до вычета налогов. Это отдельные примеры из объявлений смешанного грейда. «До» в первом случае задаёт потолок, «от» во втором — нижнюю границу, а суммы приведены на разных основаниях.

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

Почему из объявлений нельзя сразу вывести средний офер

В выдаче hh.ru по запросу Python backend в Москве встречаются позиции разных уровней: от Junior до Senior, а также роли, в которых к бэкенду добавили разработку ИИ-приложений. Часть объявлений указывает возможность удалённой работы. Фильтр по слову Middle помогает собрать кандидатов для выборки, но каждую карточку всё равно надо проверить. Иначе в среднем окажутся и вакансии для начинающих, и поиск ведущего разработчика.

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

Даже цифры из одного объявления отвечают на разные вопросы. Вилка от 200 до 300 тысяч рублей даёт две границы. Объявление «от 250 тысяч» даёт только нижнюю. Если поставить 250 тысяч и в нижнюю, и в верхнюю колонку, таблица искусственно сожмёт диапазон. Среднее между границами открытых вилок тоже не отвечает на вопрос, сколько кандидаты в итоге получили.

Какие объявления стоит сравнивать с вашей ролью

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

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

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

Что добавить в таблицу, чтобы цифры можно было проверить

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

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

Зарплатную статистику по анкетам соберите отдельно. Хабр Карьера описывает метод расчёта и показывает, сколько анкет попало в конкретный фильтр. Укажите период, грейд и географию. Если вы меняете фильтр с «бэкенд, все уровни» на «бэкенд, Middle», это новый срез, у него будут своё число анкет и своя медиана.

Как использовать диапазон на разговоре с рекрутером

До первого технического этапа можно спросить, из каких частей складывается вознаграждение. Например: «В вакансии указано до 300 тысяч на руки. Какую вилку рассматриваете для мидла на эту роль и входит ли в неё премия?» В ответе важна не только цифра, но и её основание. Если премия годовая и зависит от результатов, сравнивайте фиксированную часть отдельно, а условия премии записывайте рядом.

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

Пример сравнения двух предложений с разным составом выплат

Допустим, в первом объявлении указано 240 тысяч рублей в месяц до вычета налогов, без премии. Во втором указано 220 тысяч на тех же условиях и квартальная премия до 90 тысяч рублей. Это условный пример. За год фиксированная часть первого предложения составляет 2,88 млн рублей, второго 2,64 млн. При четырёх максимальных премиях второе предложение может дать до 3 млн рублей. Чтобы сравнять первый вариант, на втором нужно получить хотя бы 240 тысяч премии за год.

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

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

Зачем смотреть на диапазон, даже если есть медиана

Сервис показывает процентили, поэтому можно увидеть, где находится середина и насколько далеко от неё нижняя и верхняя четверти анкет. Так одна зарплата из объявления получает контекст: её можно сопоставить с группой похожих специалистов, а не с общей цифрой по профессии.

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