Что это простыми словами

Backend-разработчик (или просто «бэкендер») отвечает за всё, что вы не видите, но что работает за кадром: хранение пользователей в базе данных, обработка заказов, отправка уведомлений, логика корзины в интернет-магазине.

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

Официальное определение

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

«Backend-разработчик — специалист, реализующий серверную часть веб-приложения: бизнес-логику, взаимодействие с базой данных и API (программный интерфейс для обмена данными)».

Разберём по словам. «Серверная часть» — то, что работает на удалённом компьютере (сервере), а не в браузере пользователя. «Бизнес-логика» — правила, по которым работает приложение: например, «если пользователь оплатил заказ, отправь ему письмо». «API» — способ, которым две программы общаются друг с другом (как курьер, который передаёт информацию между кухней и официантом).

Что делает за обычный день

Backend-разработчик пишет код, который обрабатывает данные и принимает решения. Например, когда человек нажимает «Купить» на сайте, фронтенд отправляет этот запрос на сервер, а бэкенд проверяет наличие товара на складе, списывает деньги, создаёт заказ и отправляет подтверждение — всё это делает бэкендер.

Также бэкендер проектирует базы данных — это упорядоченные хранилища информации (как таблица в Excel, только гораздо мощнее). И пишет API — это набор правил, по которому разные части приложения обмениваются данными.

Из чего состоит направление

В бэкенде нет единого набора технологий — всё зависит от выбранного языка программирования. Вот основные языки, на которых пишут бэкенд, и самые популярные решения в каждом:

  • Python — универсальный, простой для старта. Фреймворки: Django (готовый набор инструментов), FastAPI (лёгкий, для микросервисов).

  • Java — строгий и надёжный, стандарт для крупных компаний. Практически всегда используется Spring (в частности Spring Boot) — фреймворк, который значительно ускоряет разработку.

  • Node.js — JavaScript на сервере. Фреймворки: Express (самый популярный), NestJS (структурированный, для крупных проектов).

  • PHP — классика, до сих пор очень востребован. Фреймворки: Laravel (самый популярный), Symfony (для крупных проектов), 1С-Битрикс (CMS для сайтов, особенно в России).

  • C# — от Microsoft, активно используется в корпоративной среде. Основной фреймворк: ASP.NET Core.

  • Go — быстрый и лёгкий, набирает популярность в высоконагруженных системах.

  • Kotlin, Rust, Ruby — менее массовые, но с преданным сообществом.

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

Инструменты простыми словами

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

Слой 1. Язык — фундамент, без него никуда.

Это самое главное при отборе. Бэкендер — это прежде всего языковой разработчик: Python-разработчик, Java-разработчик, Node.js-разработчик и так далее. Навыки между языками не переносятся.

Слой 2. Фреймворк — «школа», в которой человек работает. В бэкенде фреймворк идёт рука об руку с языком и тоже важен при отборе.

  • Python: Django, FastAPI, Flask

  • Java: Spring Boot

  • Node.js: Express, NestJS

  • PHP: Laravel, Symfony, 1С-Битрикс

  • C#: ASP.NET Core

Слой 3. ORM — инструмент, который превращает записи из базы данных в объекты в коде и обратно. Помогает работать с данными, не зная специальных запросов.

  • Django ORM (встроен в Django)

  • SQLAlchemy (универсальный для Python)

  • Hibernate (Java), Entity Framework Core (C#), Eloquent ORM (PHP)

  • Prisma, Drizzle ORM (Node.js)

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

  • Redis — «быстрый склад»: хранит часто используемые данные в оперативной памяти, чтобы серверу не приходилось каждый раз обращаться к базе данных.

  • RabbitMQ — «почтовый ящик»: ставит задачи в очередь, чтобы сервер обработал их позже, когда будет готов. Полезно для задач вроде отправки писем.

  • PostgreSQL, MySQL, MongoDB — базы данных (упорядоченные хранилища информации).

  • Docker, Kubernetes — упаковка и запуск приложений в изолированных «контейнерах».

  • Git — система контроля версий, позволяет хранить историю изменений кода.

  • Linux — операционная система, на которой работает большинство серверов. Умение работать в командной строке Linux — обязательный навык.

Что взаимозаменяемо, а что путать нельзя

Бэкендер на разных языках — это по сути разные специалисты. Опыт между языками почти не переносится: Python-разработчик ≠ Java-разработчик ≠ Node.js-разработчик.

А вот инструменты (Redis, RabbitMQ, Docker, Git) взаимозаменяемы между языками — их знает любой опытный бэкендер, независимо от языка.

Уровни: junior / middle / senior

Уровень (его ещё называют грейд, от англ. grade) — это не столько годы, сколько самостоятельность.

  • Junior (джуниор, «джун») — делает простые задачи под присмотром старших, нужен контроль.

  • Middle (мидл) — берёт задачу целиком и доводит до конца сам. Основная рабочая сила команды.

  • Senior (сеньор) — решает, как устроить проект, выбирает технологии и помогает младшим.

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

Как узнать роль в резюме

В резюме обычно есть раздел «стек» или «навыки» — это список технологий, которыми человек владеет. Ищите там название языка (Python, Java, Node.js и т.д.) рядом с фреймворком (Django, Spring Boot, Laravel и т.д.). Хорошие признаки — упоминание базы данных, Redis, Docker, Linux. Если в стеке только HTML и CSS — это, скорее всего, фронтенд-разработчик или верстальщик.

Что спросить на первичном скрининге

  • На каком языке программирования вы пишете бэкенд?

    Нормальный ответ: «Python, три года на Django» или «Java, два года на Spring Boot». Насторожить должно, если человек называет одновременно три-четыре разных языка — бэкендеры редко работают на нескольких.

  • Работали с базами данных и Redis?

    Нормальный ответ: «Работал с PostgreSQL, Redis использовал для кэширования». Redis — это «быстрый склад» для данных, с ним сталкивается любой опытный бэкендер.

  • Знакомы с Docker или Linux?

    Нормальный ответ: человек может кратко объяснить, зачем это нужно. Docker — упаковка, Linux — среда работы сервера. Для мидла и выше это ожидаемо.

  • Расскажите про последний проект и вашу роль в нём.

    Нормальный ответ: человек понятно говорит, что делал именно он — «отвечал за авторизацию и API оплаты», а не размыто «участвовал в разработке».

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

Частые путаницы и красные флаги

  • Backend ≠ Frontend ≠ Fullstack. Бэкенд — «за стеной», фронтенд — «торговый зал», фуллстак — и то, и другое сразу.

  • Python-разработчик ≠ Java-разработчик ≠ Node.js-разработчик. Это разные специалисты с разными инструментами.

  • Backend ≠ Fullstack. Фуллстак — это и бэкенд, и фронтенд. Бэкендер фронтендом обычно не занимается.

  • 1С-Битрикс ≠ Битрикс24. Первый — фреймворк для создания сайтов, второй — CRM-система для управления бизнесом.

  • Красный флаг: «Python, Java, Node.js и Go на уровне senior» — так не бывает, бэкендеры специализируются на одном языке.