20 июля / 2021

Профессия бэкенд-разработчик: кто это, что делает и сколько зарабатывает

Алёна Митрофанова
  • /
  • /
Лучшие курсы по изучению языка программирования PHP >>>
Close
У сайта есть две стороны: пользовательская и серверная. Всё, что видит пользователь на сайте: кнопки, плашки, заставки — это ответственность frontend-разработчика. Всё, что пользователь не видит, — это ответственность backend-разработчика. К backend можно отнести всё, что располагается на сервере: CMS, API систем сайта, админки и личные кабинеты, базы данных.

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

Содержание

Кто такой backend-разработчик

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

Представьте, вы покупаете что-то в интернет-магазине. Вы сформировали корзину, ввели номер карты и нажали кнопку «Оплатить». В этот момент вы перешли на страницу платёжного шлюза. Вот тут вы сталкиваетесь с работой backend-разработчика. Он отвечает за то, чтобы сайт правильно определил вашу карту, банк и платёжную систему. От него зависит, пройдёт ли оплата вашей покупки успешно.
Страница платёжного шлюза

В каких сферах нужен

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

Над чем может работать backend-разработчик:

● сайты-агрегаторы,
● платёжные терминалы,
● банковские системы,
● корпоративные сайты,
● интернет-магазины,
● десктопные программы,
● приложения.

Чем backend отличается от frontend-разработчика

Frontend и backend работают над одной общей целью ― запустить удобный и стабильно работающий ресурс. В идеале они работают параллельно: пока фронтенд разрабатывает интерфейс, бекенд разрабатывает логику работы ресурса, а после помогает подключить серверную часть к движку.

Мифы о работе backend-разработчика

Профессия backend-разработчика связана со множеством мифов, мы разберём три самых популярных.

Backend-разработчики по статусу выше frontend-разработчиков. На самом деле это не так: backend и frontend — это партнёры, а не конкуренты. Один не может существовать без другого. А вот если говорить об уровне сложности работы, то сложнее всё-таки backend: там выявлять и исправлять ошибки труднее. Можно сказать, что backend — фундамент и стены, а frontend — штукатурка. Слабые и кривые стены штукатуркой не спасёшь.

Backend-разработчики получают миллионы. Некоторые на старте могут рассчитывать только на 40 000 ₽. Потолок заработка backend-разработчика, судя по сайтам с вакансиями, — 700 000 ₽. Чтобы получить такой доход, нужно иметь высокую квалификацию, обширные знания в серверном администрировании, архитектуре баз данных, оптимизации нагрузок.

Backend-разработка — это очень сложно. Да, backend — это сложно, потому что критично. Плохой бекендер может загубить даже самый продуманный проект. Но backend может быть не настолько сложным, как вы можете представить, потому что в этой сфере есть множество готовых решений.

Средние зарплаты

Backend-разработчикам готовы много платить не только в Москве.
Средняя зарплата backend-разработчика по городам России по данным zarplan.com

Карьерный путь

Карьерная лестница у backend такая: junior, middle, senior. Расскажем, какие навыки вам понадобятся для перехода на новый уровень и какую зарплату вам стоит ожидать на каждом из них.

Junior

Знает один из популярных языков программирования (PHP, Python, Java) на базовом уровне. Может выполнять простые задачи в проекте и умеет работать с базами данных.
Вакансия для junior backend-разработчка

Middle

Владеет одним из популярных языков программирования на продвинутом уровне. Умеет использовать фреймворки, сам выполняет часть работы на проекте и участвует в разработке решений для небольших задач. Понимает, сколько времени нужно на выполнение той или иной работы, может устанавливать дедлайны для junior-разработчиков.
Вакансия для middle backend-разработчика на Python

Senior

Разработчик, который много работал на проектах и понимает глубокие особенности задач, которые решают в backend. Он владеет несколькими языками программирования на продвинутом уровне. Участвует в проектировании масштабных задач, понимает, когда нужно отказаться или внедрить определённое решение. Может консультировать других разработчиков и обладает развитыми soft skills.
Вакансия для senior backend-разработчика на Java

Преимущества и недостатки профессии

Высокая востребованность и неплохая зарплата — ещё не всё, чем привлекает профессия backend-разработчика.

Преимущества

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

Недостатки

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

Требования к backend-разработчику

Даже к начинающим разработчикам предъявляют высокие требования для вхождения в профессию.

Профессиональные навыки

● знать и уметь использовать один из основных серверных языков программирования — PHP, Python, Java, Ruby, Go;
● понимать, как работают сервера и ресурсы;
● проводить тестирование ресурса: юнит-тесты, нагрузочные, интеграционные;
● владеть основами сетевой безопасности;
● знать фреймворки;
● работать с базами данных и проектировать их;
● администрировать UNIX-подобные системы;
● знать API;
● уметь составлять ТЗ на работу другим кодерам;
● разбираться в основах объектно-ориентированного программирования;
● использовать системы контроля Git.

Личные качества

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

Знание иностранных языков

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

Обязанности backend-разработчика

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

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

На скрине ниже — почти обычная «раскладка» рабочего пространства бекендера.

Слева направо, сверху вниз.

1. Файловая система проекта.
2. Код скрипта.
3. Файловая система на сервере.
4. Git — система контроля версий.
5. Терминал — серверные процессы.
Большую часть дня рабочий стол бекендера выглядит вот так

Типичный день backend-разработчика

Мы попросили знакомого backend-разработчика рассказать, как проходит его обычный рабочий день.

Максим Михин
backend-разработчик
10:00 Получил обновления кода проекта из репозитория кода. Сижу разбираюсь, кто это натворил и зачем.

11:00 Половину обновлений оставил, половину попросил переделать.

12:00 Объяснял, почему нужно переделать именно так.

13:00 Запустил сборку и тестирование проекта с учётом пожеланий.

14:00 Пока тестировалось — перекусил. Волшебная ситуация: проект собрался с первой попытки, можно готовить для переноса на прод (в продакшен).

15:00 Подготовил билд (готовую сборку проекта) — перенёс на прод, проверил, что ничего не упало.

16:00 Обсуждение с заказчиком новых хотелок. Планирование сроков, расстановка приоритетов.

17:00 Обсуждение с остальной командой новых хотелок заказчика. Выбор наиболее оптимальных способов реализации задач, небольшое обучение команды.

18:00 Проверил работу сервера — логи, нагрузки, место на сервере, достаточное количество памяти. Можно закругляться.

Какие языки используются в backend

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

PHP

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

Java

Этот универсальный язык набирает популярность последние 20 лет. Веб-разработчикам доступно множество фреймворков, бесплатная среда разработки и сервера. Есть много книг, курсов и форумов, посвящённых Java. Среда разработки на Java имеет богатый API ― набор способов и правил, по которым ресурсы или приложения обмениваются информацией.

Python

Python — это язык с простым синтаксисом, его используют для мобильной и веб-разработки. Он упрощает процесс обработки адресов, обращение к базам данных и создание HTML, отображающихся на пользовательских страницах. Благодаря фреймворкам работа на этом языке программирования становится быстрее в несколько раз.

Как стать backend-разработчиком

В разработку можно попасть 3 путями: вуз, курсы и самообразование. Обучиться всему самостоятельно не лучший вариант в этом случае. Особенно, если вы никогда не имели дел с написанием кода. У вас уйдёт очень много времени на освоение базовых навыков backend-разработчика.

Вуз

В вузе вы получите базу для работы в IT. При этом стать полноценным backend-разработчиком не выйдет. Всё равно придётся много практиковаться, потому что в вузе дают базовую информацию, и она быстро устаревает.

Онлайн-курсы

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

  1. «Профессия Python-разработчик» от Skillbox.
  2. «Профессия PHP-разработчик c нуля до PRO» от Skillbox.
  3. «Профессия Java-разработчик» от Skillbox.

Полезные книги и ресурсы для backend

Книги:

  1. К. Бек, «Экстремальное программирование. Разработка через тестирование».
  2. Р. Мартин, «Идеальный программист».
  3. Р. Мартин, «Чистый код».
  4. М. Фаулер, «Рефакторинг. Улучшение существующего кода».

Сервисы:

webref.ru ― сайт для веб-разработчиков, где собрано много обучающего материала по разным тематикам.
codecademy.com — сайт, где можно научиться ве-разрабтке с нуля (на английском).
ITc | сообщество программистов — группа во «ВКонтакте», где собраны курсы и лекции по любому вопросу из сферы разработки.
Библиотека программиста — сообщество во «ВКонтакте», где публикуют полезные книги для программистов, вакансии и статьи по теме IT.
Профессия backend-разработчика правда подходит не каждому. Если вы мечтали писать код и разрабатывать логику ресурсов, то эта специальность для вас. Вы можете получить необходимые знания на курсах, и всего через год стать backend-разработчиком.
Нравится наш блог?
Подпишитесь и будьте в курсе новых статей, обучающих курсов и бесплатных мероприятий