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

Пока кто-то не может найти работу, на HH.ru открыто 1270 вакансий по специальности бэкенд-разработчик, на Indeed.com — 440. Работодателям нужны подготовленные специалисты, и они готовы платить. В среднем в Москве Junior получает 60 000 рублей, в регионах — 30 000 рублей.

Обучение в онлайн-университете: курс «Веб-разработчик с нуля»

Teamlead, PHP & Rails developer Нетологии Максим Смирнов рассказал, кто такие бэкенд-разработчики, какие навыки и умения им нужны и как стартовать новичку.

Место бэкенд в веб-разработке

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

Веб-разработчики работают в трех направлениях:

Кто такой бэкенд-разработчик

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

Просто. Бэкенда можно сравнить со строителем, который:

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

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

Какие навыки нужны

Hard skills — основные рабочие навыки, которые нужны для выполнения задач. Бекэнд-разработчику нужно знать:

  • языки серверного программирования PHP, Ruby, Python или другие;
  • MySQL, основы работы с базой данных;
  • паттерны программирования и фреймворки Ruby on Rails, Yii, Django или другие;
  • алгоритмы.

Чтобы освоить профессию, нужно понимать работу языка и его окружения, функционирование сетей — стека протоколов TCP/IP, HTTP. Бэкенду нужно разбираться в работе системы версионирования Git и сервера, например, по схеме ubuntu server + nginx + mysql + фреймворк.

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

Soft skills — неспециализированные навыки, которые не связаны с должностными обязанностями прямо, но помогают устроиться на работу, стать частью команды и развивать карьеру:

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

Как развивать карьеру

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

  • занимается самообразованием;
  • знает, где и как искать ответы на вопросы по ходу работы;
  • работает под наблюдением опытных разработчиков;
  • проходит pull request — опытные специалисты просматривают его код, комментируют и дают рекомендации по улучшению.


Пример вакансии для Junior с superjob.ru. По статистике, в Москве Junior получают 60 000 рублей, в регионах — 30 000.

Middle. Знает язык программирования на продвинутом уровне, ознакомлен с code style проекта, умеет использовать фреймворки. Самостоятельно выполняет несложные задачи на проекте, может проектировать решения для небольших задач. За счет опыта может оценить задачи и ставить сроки выполнения.


Пример вакансии для Middle c superjob.ru. По статистике, в Москве Middle получают 140 000 рублей, в регионах — 80 000.

Senior. Опытный разработчик, хорошо знает специфику своего стека и особенности его работы в разных окружениях. Может проектировать масштабные задачи и проекты, понимает необходимость использования или отказа от определенных паттернов или решений. Благодаря большому опыту может консультировать других разработчиков. Обладает развитыми soft skills:

  • умеет донести до заказчика, какие решения лучше использовать;
  • делится знаниями с командой, помогает решить проблемы менее опытных разработчиков;
  • понимает, зачем конкретные решения нужны бизнесу;
  • отличает хорошие решения поставленных задач от плохих, может предложить оптимальное.


Пример вакансии для Senior c glassdoor.com. По статистике, в Москве Senior получают 120 000 рублей, в регионах — 180 000.

Полезные материалы для начинающих

«Совершенный код», С. Макконнелл

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

«Рефакторинг. Улучшение существующего кода», М. Фаулер

Автор перечисляет простые шаги рефакторинга — перемещение поля в другой класс, вынесение фрагмента кода из метода, превращение его в самостоятельный метод и другие. Материал для тех, кто хочет предотвратить распад плохо спроектированной программы и улучшить проект.

«Создание микросервисов», С. Ньюмен

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

«Working Effectively with Legacy Code», М. Физерс

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

Полный текст статьи читайте на Нетология