Данные из 78вакансий · 12 августа 2026

Как стать бэкенд-разработчиком: путь от нуля до первого оффера

Не «стань разработчиком за 3 месяца» — реальный путь входа на основе данных по 78 вакансий.

Мурадов ЮрийАвтор·Мурадов Юрий·Аналитик SkillStat
ЕБПроверено·Евгений Борисов·Технический редактор·Java/JVM-эксперт
Junior-вакансий сейчас
5
6% от всех 78 вакансий
Сложность входа
Высокая
6% junior-вакансий
Senior / Junior+Intern
8.4x
На каждого junior+intern — 8.4 senior
Навыков / вакансия
14.5
медиана по вакансиям
Всего вакансий
78
активных в Москве

Можно ли стать бэкенд-разработчиком с нуля

Да. По данным SkillStat, 6% вакансий бэкенд-разработчика — уровня junior или стажёр. Это 5 вакансий прямо сейчас.

«С нуля» для бэкенд-разработчика — это без коммерческого опыта, но с выбранным языком. В вакансиях профессии язык не один: Java — в 16.7%, .NET — в 26.9%, Python — в 19.2%, JavaScript — в 21.8%. Работодатель ищет человека, который держит серверный контракт, а язык называет вторым абзацем. Медиана требований — 14.5 навыков, и большая часть списка одинакова при любом языке: PostgreSQL, SQL, REST, Git, Docker.

Вход трудный не из-за синтаксиса. Трудно то, чего новичок не видит: что будет, если клиент повторит запрос и деньги спишутся дважды; что произойдёт с чужим клиентом после переименования поля в ответе; почему миграция, прошедшая локально, кладёт прод на таблице в миллионы строк. На одну junior-вакансию приходится 8.4 senior-вакансии — платят за уже пережитый инцидент.

Как стать бэкенд-разработчиком: короткий план

Порядок, в котором серверное ядро идёт впереди языка, а не наоборот.

01
HTTP и REST
REST — в 83.3% вакансий бэкенд-разработчика, самый частый способ разговаривать с клиентом. Учи не «как отдать JSON», а коды ошибок, версионирование контракта и поведение при повторе запроса.
02
SQL и PostgreSQL
PostgreSQL — в 52.6% вакансий, SQL — в 46.2%: самая частая пара требований у бэкенд-разработчика. Соединения, индексы, транзакции, план запроса и миграция, которую можно откатить.
03
Язык под задачу
Java, .NET, Python или JavaScript — рынок берёт все четыре. Возьми один и доведи до сервиса, который поднимается у чужого человека, вместо сравнения синтаксиса в блогах.
04
Сценарный сервис
Одна таблица и четыре ручки — не проект. Нужны права, статусы, повтор запроса и отказ внешнего сервиса. Git — в 46.2% вакансий, историю коммитов читают вместе с кодом.
05
Очередь и упаковка
Docker — в 41% вакансий, Kafka — в 29.5%, RabbitMQ — в 21.8%. Добавь асинхронный кусок и упакуй сервис так, чтобы его поднял посторонний.

Что учить бэкенд-разработчику первым

Не всё сразу. Вот очерёдность по частотности в вакансиях — от самого нужного к менее срочному.

Навык Все вакансии
REST 83.3%
REST API 62.8%
PostgreSQL 52.6%
SQL 46.2%
Git 46.2%
Docker 41%
CI/CD 33.3%
Microservices 32.1%
Apache Kafka 29.5%
Linux 26.9%

«Все вакансии» — доля из 78 вакансий. Обновлено 12 августа 2026.

Полный список навыков с частотностью, связками и зарплатной премией — навыки бэкенд-разработчика →

Roadmap бэкенд-разработчика: от нуля до junior

Порядок опирается на частотность навыков по данным вакансий. Первые 4–5 этапов — минимум для первого оффера.

  1. 01
    Основной язык и рантайм 19.2% вакансий

    Синтаксис, ООП, обработка исключений, стандартная библиотека, async-основы.

    Подробнее →
  2. 02
    Git 46.2% вакансий

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

    Подробнее →
  3. 03
    SQL и база данных 46.2% вакансий

    Реляционные БД, запросы, индексы, транзакции.

    Подробнее →
  4. 04
    HTTP и REST API 62.8% вакансий

    Протокол HTTP, методы запросов, статусы, проектирование RESTful-интерфейсов.

    Подробнее →
  5. 05
    Веб-фреймворк

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

    Подробнее →
  6. 06
    Тестирование middle+

    Юнит-тесты, фикстуры, мок-объекты — ожидается даже на junior.

    Подробнее →
  7. 07
    Docker и Linux 41% вакансий middle+

    Контейнеризация и базовые навыки Linux — стандарт серверной разработки и CI/CD.

    Подробнее →
  8. 08
    Очереди и кэш 21.8% вакансий middle+

    Redis, RabbitMQ, брокеры сообщений — актуальны на middle.

    Подробнее →
  9. 09
    CI/CD и production-практики middle+

    GitLab CI / GitHub Actions, деплой, мониторинг. Востребованы на middle/senior.

    Подробнее →
  10. 10
    Kafka, Kubernetes — senior/infra 29.5% вакансий middle+

    Не входят в junior-минимум. Востребованы в масштабируемых системах и инфраструктурных ролях.

    Подробнее →

Junior-вакансии бэкенд-разработчика: что реально требуют работодатели

Срез построен на 78 активных вакансий.

Junior-вакансий
5
inc. стажировки
Доля junior
6%
от всего рынка
Senior / Junior+Intern
8.4x
соотношение
Навыков / вакансия
14.5
медиана
Распределение вакансий по грейдам
Intern — 1.6% (1)
Junior — 6.3% (4)
Middle — 22.2% (14)
Senior — 66.7% (42)
Lead — 3.2% (2)
Что значат эти цифры. 5 вакансий уровня junior из 78 — вход конкурентный. У бэкенд-разработчика есть отдельная сложность: вакансия без привязки к языку обычно означает готовую систему, куда человека берут менять чужой код, а не писать с нуля. Поэтому чаще заходят через языковую позицию — Java, .NET, Python — и уже внутри команда называет тебя бэкендером.

Какие проекты сделать для портфолио

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

Сервис с правами и статусами
Средняя · 2 недели
Стек: PostgreSQL, SQL, REST, Git
GitHub: README с описанием ролей и статусной модели, миграции отдельными файлами, тесты на запрет доступа
Ценность: Показывает то, за что платят: сервер сам решает, кому можно, а не верит клиенту
Идемпотентный обработчик оплаты
Средняя · 1–2 недели
Стек: REST API, PostgreSQL, транзакции
GitHub: Тест на двойной вызов с одним ключом, описание поведения при обрыве соединения
Ценность: Повтор запроса — один из главных вопросов на серверном собеседовании
Обработчик событий из очереди
Средняя · 2 недели
Стек: Apache Kafka или RabbitMQ, Docker Compose
GitHub: docker-compose с брокером и сервисом, README про поведение при дубле события
Ценность: Kafka — в 29.5% вакансий, RabbitMQ — в 21.8%: асинхронный кусок отличает сервис от учебного CRUD
Миграция схемы без простоя
Средняя–высокая · 1 неделя
Стек: PostgreSQL, CI/CD, Git
GitHub: Две миграции — расширяющая и удаляющая, план отката, чек-лист выката
Ценность: Редкий артефакт в портфолио новичка и мгновенный сигнал, что человек думал о старых клиентах

Как оформить GitHub и резюме

Профиль GitHub
  • Pinned: сервис со статусами и очередью впереди учебных задач — рекрутер открывает первые два репозитория
  • README отвечает на три вопроса: что сервис делает, как поднять одной командой, что произойдёт при повторном запросе
  • Миграции отдельной папкой: у бэкенд-разработчика это часть кода, а не приложение к нему
  • docker-compose с базой и брокером: проект должен подниматься без установки PostgreSQL руками
  • Коммиты по смыслу изменения: «добавил ключ идемпотентности» читается, «правки» — нет
Резюме без коммерческого опыта
  • Указывай язык явно — Java, .NET, Python или JavaScript: «бэкенд» без языка отсеивают на первом просмотре
  • На каждый проект: какой сценарий, какие данные, где транзакция, чем проверял
  • Навыки — только из проектов. Kubernetes в резюме без единого манифеста вскроется на первом же вопросе
  • Раздел «Проекты» вместо «Опыт работы», но описывай его как работу: задача, решение, ограничение
  • Сопроводительное — три предложения: какой сервис писал, на чём, ссылка
Слабое резюме

«Разрабатывал серверную часть, работал с базами данных и REST API»

Сильное резюме

«Сервис заявок на Java + PostgreSQL: статусная модель из пяти состояний, ключ идемпотентности на создание, обработчик событий RabbitMQ с защитой от дублей, миграции с откатом. Поднимается docker-compose, 14 тестов. GitHub: [ссылка]»

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

Самостоятельно
Бесплатно, темп свой, можно сразу писать сервис под собственную задачу
Никто не скажет, что транзакционная граница проведена не там; ошибка живёт годами
Если рядом есть кто-то, кто прочитает твой код хотя бы раз в месяц
Курсы с ментором
Ревью кода — то, что быстро чинит серверное мышление
Многие курсы учат одному каркасу и обходят транзакции, очереди и миграции стороной
Если в программе есть код-ревью живым человеком, а не автотесты на задачки
Вуз / колледж
Сети, операционные системы, базы данных и структуры данных — то, что потом не сядешь читать
Четыре года, и промышленного стека там нет: Docker, Kafka и CI/CD придётся брать самому
Если целишься в крупные компании или в нагруженные системы, где спрашивают базу
Ловушка бэкенда: учить инструменты списком. Kubernetes — в 24.4% вакансий бэкенд-разработчика, и его начинают учить третьим шагом, до того как написан сервис, который туда можно положить. Порядок обратный: сначала сервис, который переживает повтор запроса и отказ соседа, потом упаковка. Строчка технологий в резюме не доказывает ничего — доказывает объяснение, почему выбран этот компромисс.
Курсы · подобрано по данным рынка

Курсы для бэкенд-разработчика

Сопоставили программы с реальным стеком из 78 вакансий — оценка соответствия рассчитана автоматически, это не реклама.

Все курсы →
Соответствие = доля ключевых навыков вакансий, которые закрывает программа курса. На основе 78 вакансий, обновлено автоматически.

Что спрашивают на собеседовании

Базы данных и транзакции
Типовые вопросы
  • ·Уровни изоляции: что такое грязное чтение и когда оно допустимо
  • ·Зачем индекс и когда он делает хуже
  • ·Как выкатить миграцию, если старая версия сервиса ещё работает
  • ·Что произойдёт при двух параллельных списаниях с одного счёта
Как показать проектом

Сервис со статусами: покажи, где начинается и заканчивается транзакция

API и контракты
Типовые вопросы
  • ·Чем ошибка клиента отличается от ошибки сервера в ответе
  • ·Как поменять поле в ответе, не сломав чужой клиент
  • ·Что такое идемпотентность и где она нужна
  • ·Постраничная выдача: почему на большой таблице она ломается
Как показать проектом

REST API из портфолио: покажи описание контракта и обработку ошибок

Очереди и интеграции
Типовые вопросы
  • ·Kafka и RabbitMQ: в чём разница задач
  • ·Событие пришло дважды — что делает потребитель
  • ·Внешний сервис не отвечает: таймаут, повтор или отказ
  • ·Порядок событий важен — как его удержать
Как показать проектом

Обработчик очереди: покажи тест на дубль события

Эксплуатация
Типовые вопросы
  • ·Docker: чем образ отличается от контейнера
  • ·Что смотришь первым, когда сервис отвечает медленно
  • ·Зачем нужна Grafana рядом с логами
  • ·Linux: как найти, что съело память
Как показать проектом

docker-compose проекта: объясни, почему база и сервис разнесены

Язык и код
Типовые вопросы
  • ·Почему выбрал этот язык
  • ·Как обрабатываешь ошибки в своём коде
  • ·Что покроешь тестом в первую очередь
  • ·Что бы переписал в своём проекте сейчас
Как показать проектом

Любой репозиторий: пройди по коду и объясни решения

Сколько времени нужно, чтобы стать бэкенд-разработчиком

Минимум
8–12 мес
С опытом рядом с кодом: тестировщик, поддержка, аналитик — базу и домен уже знаешь
Медиана
14–20 мес
Самостоятельно с нуля, по 2–3 часа в день, с сервисом, а не с конспектами
Реалистично
20–28 мес
При совмещении с работой и без ревью со стороны

Почему у бэкенд-разработчика дольше, чем у языковых ролей. Вакансия без языка обычно senior-ская: 8.4 senior на одного junior. Быстрее заходят через язык — Java, .NET, Python — и уже потом берут на себя ширину: очереди, миграции, контракты.

Скорость решают три вещи: есть ли своя задача, ради которой пишется сервис; читает ли кто-то твой код; дошёл ли проект до состояния «поднимается у постороннего по README». Без третьего первые два не считаются.

Ошибки новичков

Собирают CRUD вокруг одной таблицы

Почему мешает: Такой проект не показывает ни прав, ни статусов, ни ошибок — по нему нечего спросить

Как исправить: Добавь сценарий с отказом: недостаточно прав, повтор запроса, внешний сервис недоступен

Выбирают язык месяцами

Почему мешает: Рынок берёт и Java (16.7%), и .NET (26.9%), и Python (19.2%) — сравнение не приближает к офферу

Как исправить: Возьми любой и доведи один сервис до рабочего состояния; второй язык потом дастся за недели

Учат Kubernetes до первого сервиса

Почему мешает: 24.4% вакансий его упоминают, но junior туда только смотрит логи — знание без сервиса не проверяется

Как исправить: Сначала Docker и запуск одной командой, кластер — после того, как есть что разворачивать

Игнорируют транзакции

Почему мешает: PostgreSQL — в 52.6% вакансий, и половина серверных вопросов на собеседовании про целостность данных

Как исправить: Разбери изоляцию, блокировки и план запроса на своей же базе; сломай данные специально и почини

Не думают о повторном запросе

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

Как исправить: Ключ идемпотентности на создающие операции и тест, который вызывает ручку дважды

Пишут микросервисы в учебном проекте

Почему мешает: Микросервисы — в 32.1% вакансий, но три сервиса вместо одного показывают моду, а не понимание границ

Как исправить: Один сервис, сделанный до конца, плюс одна асинхронная интеграция — этого хватает

Не читают чужой код

Почему мешает: Junior приходит не писать с нуля, а менять систему, которую написали до него

Как исправить: Возьми открытый серверный проект и разберись в одной миграции и одном обработчике до конца

Пишут резюме строчкой технологий

Почему мешает: PostgreSQL, Docker, Kafka в перечислении не отличают тебя от сотни таких же откликов

Как исправить: Одно предложение на проект: какой сценарий, какая гарантия, чем проверено

Как SkillStat считает данные

Источник: 78 вакансий в московском сегменте. Навыки и грейды извлекаются автоматически из текста каждой вакансии.

Грейды: определяются по требованиям вакансии — уровню опыта, упоминанию «junior», «intern», «стажёр». Это рыночная оценка объявления.

Сложность входа: рассчитывается по доле junior-вакансий и медиане навыков на junior-уровне. Это индикатор, а не гарантия.

Обновление: данные пересчитываются регулярно. Текущий срез — 12 августа 2026.

Частые вопросы

Можно ли стать бэкенд-разработчиком с нуля?
Да, но вход идёт через язык. По данным SkillStat, 5 из 78 вакансий бэкенд-разработчика — уровня junior или стажёр, а вакансия без указания языка почти всегда ищет опытного. Первый оффер обычно приходит по языковой позиции: Java, .NET, Python или JavaScript.
Какой язык выбрать бэкенд-разработчику?
Рынок берёт все распространённые: Java — в 16.7% вакансий бэкенд-разработчика, .NET — в 26.9%, Python — в 19.2%, JavaScript — в 21.8%. Серверное ядро — PostgreSQL, REST, очереди, Docker — одинаково для всех четырёх, поэтому второй язык учится в разы быстрее первого. Выбирай по вакансиям в своём городе и по тому, чей код тебе легче читать.
Чем backend-разработчик отличается от fullstack?
Бэкендер отвечает за то, чего клиент не видит: данные, права, транзакции, очереди, контракт. Fullstack добавляет к этому интерфейс. В вакансиях бэкенд-разработчика JavaScript встречается в 21.8% — но чаще как серверный язык, а не как фронтенд.
Нужен ли SQL?
Да, это ядро. SQL — в 46.2% вакансий бэкенд-разработчика, PostgreSQL — в 52.6% (41 из 78). Минимум: соединения, группировки, индексы, транзакции и чтение плана запроса. Отдельно — миграции: их пишет бэкендер, а не администратор базы.
Нужен ли Docker?
Да. Docker — в 41% вакансий (32 из 78). Для первого оффера хватает написать Dockerfile и поднять сервис вместе с базой одной командой.
Нужен ли Kubernetes junior-бэкендеру?
Знать зачем — полезно, эксплуатировать — нет. Kubernetes — в 24.4% вакансий бэкенд-разработчика, но новичок обычно только смотрит логи и перезапускает под. Учить его до того, как написан сервис, — трата времени.
Нужны ли очереди — Kafka или RabbitMQ?
На старте — понимание, зачем они. Kafka — в 29.5% вакансий, RabbitMQ — в 21.8%. Разница задач: Kafka — поток событий с историей и перечитыванием, RabbitMQ — доставка задачи конкретному потребителю. Один обработчик очереди в портфолио закрывает вопрос.
Нужны ли микросервисы?
Знать границы — да, писать их в учебном проекте — нет. Микросервисы — в 32.1% вакансий бэкенд-разработчика. Спросят не про нарезку, а про то, что делает сервис, когда сосед не отвечает: таймаут, повтор, отказ.
Что такое идемпотентность и правда ли про неё спрашивают?
Правда, и это один из главных вопросов на серверном собеседовании. Идемпотентность — свойство операции давать один и тот же результат при повторе. Сеть рвётся, клиент шлёт запрос второй раз, и без ключа идемпотентности заказ создаётся дважды. Покажи в портфолио тест, который вызывает создание дважды и проверяет, что запись одна.
Нужен ли Linux?
На уровне пользователя терминала — да. Linux — в 26.9% вакансий бэкенд-разработчика. Хватает: посмотреть логи, найти процесс, разобраться с правами на файл, понять, что съело память.
Нужна ли математика?
Нет. Серверная разработка требует аккуратности в логике и понимания структур данных, а не высшей математики. Алгоритмы нужны на уровне «понимаю сложность и выбираю структуру», в редких компаниях — глубже.
Нужно ли высшее образование?
Большинство вакансий бэкенд-разработчика диплом не требуют. Он помогает при входе в крупные компании и в системы с высокой нагрузкой, где спрашивают базу: сети, операционные системы, структуры данных. Проверяют всё равно кодом.
Какие проекты сделать для портфолио?
Один сервис, доведённый до конца, с ключевыми навыками профессии: REST, REST API, PostgreSQL. Внутри должны быть права, статусы, обработка повторного запроса и миграции. Второй проект — обработчик событий из очереди.
Когда начинать откликаться?
Когда сервис поднимается по README у постороннего человека и ты объясняешь каждое решение внутри. По рынку прямо сейчас: 5 вакансий для junior из 78.
Что писать в резюме без коммерческого опыта?
Проекты как опыт: сценарий, стек, гарантия, ссылка. Укажи конкретные инструменты: REST, REST API. Вместо «работал с базами» — «спроектировал схему на пять таблиц, добавил индекс по дате, ускорил отчёт».
Сколько зарабатывает начинающий Бэкенд-разработчик?
Ориентир для junior — 87 750–126 750 ₽ при медиане рынка 195 000 ₽. Разбивка по грейдам — на странице зарплат бэкенд-разработчика.
Где посмотреть навыки бэкенд-разработчика?
На странице навыков бэкенд-разработчика: частотность по 78 вакансий, разбивка по грейдам и связки технологий.