У сайта есть две стороны: пользовательская и серверная. Всё, что видит пользователь на сайте: кнопки, плашки, заставки — это ответственность frontend-разработчика. Всё, что пользователь не видит, — это ответственность backend-разработчика. К backend можно отнести всё, что располагается на сервере: CMS, API систем сайта, админки и личные кабинеты, базы данных.
Из этой статьи вы узнаете, кто такой backend-разработчик и как им стать. Мы расскажем, чем он занимается, какие карьерные возможности есть в этой профессии и какие языки программирования нужны для работы.
- Кто такой backend-разработчик
- Мифы о работе backend-разработчика
- Средние зарплаты
- Карьерный путь
- Преимущества и недостатки профессии
- Требования к backend-разработчику
- Обязанности backend-разработчика
- Типичный день backend-разработчика
- Какие языки используются в backend
- Как стать backend-разработчиком
- Полезные книги и ресурсы для backend
Кто такой backend-разработчик
Backend — это программист, который находится на невидимой для пользователя стороне ресурса. Он отвечает за обработку пользовательского ввода, хранение и передачу данных.
Представьте, вы покупаете что-то в интернет-магазине. Вы сформировали корзину, ввели номер карты и нажали кнопку «Оплатить». В этот момент вы перешли на страницу платёжного шлюза. Вот тут вы сталкиваетесь с работой backend-разработчика. Он отвечает за то, чтобы сайт правильно определил вашу карту, банк и платёжную систему. От него зависит, пройдёт ли оплата вашей покупки успешно.
Страница платёжного шлюза
В каких сферах нужен
Backend-разработчики нужны везде, где есть приложение, сайт или программа, которые взаимодействуют с пользователем. Другой вопрос, что уровень специалистов может быть очень разным. Всё зависит от потребностей компании.
Над чем может работать backend-разработчик:
- сайты-агрегаторы,
- платёжные терминалы,
- банковские системы,
- корпоративные сайты,
- интернет-магазины,
- приложения.
Чем backend отличается от frontend-разработчика
Backehd | Frontend |
Отвечает за «начинку» ресурса | Отвечает за внешнюю часть ресурса |
Для работы нужно знание серверного языка программирования (PHP, Python, Java, Ruby, Go) и SQL для работы с базами данных | Для работы нужно знание JavaScript, HTML, CSS, LESS, SASS |
Сложное обучение, нужны глубокие знания в узких вопросах | Обучение среднего уровня сложности, нужно базовое знание широкого набора рабочих инструментов |
Высокая востребованность | Высокая востребованность |
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-разработкой,
- оптимизировать функции и работу сайта для его быстрой загрузки,
- работать с системами резервного копирования,
- контролировать работу сайта и заниматься отладкой его компонентов,
- оптимизировать алгоритмы,
- тестировать ресурс или отдельные элементы,
- контролировать состояние серверов.
На скрине ниже — почти обычная «раскладка» рабочего пространства бекендера.
Слева направо, сверху вниз.
- Файловая система проекта.
- Код скрипта.
- Файловая система на сервере.
- Git — система контроля версий.
- Терминал — серверные процессы.
Большую часть дня рабочий стол бекендера выглядит вот так
Типичный день backend-разработчика
Мы попросили знакомого backend-разработчика рассказать, как проходит его обычный рабочий день.
Какие языки используются в backend
В разработке используют разные языки, но есть 3 основных. Их полезно будет знать всем бекенд-разработчикам. В качестве основного нужно выбрать один из них. Из тех языков, что мы приводим ниже, новичку проще всего будет освоить PHP.
PHP
Этот язык был создан специально для веб-разработчиков. Он помогает автоматизировать работу сайта и добавлять те элементы, которые подразумевают сохранение данных на сервере. Говорят, PHP сдаёт позиции, но это не так: на нём работает множество ресурсов. Под PHP постоянно обновляются фреймворки, да и сам язык прогрессирует: в конце 2020-го вышел PHP 8 с набором уникальных возможностей, которых практически не найдёшь в других языках.
Java
Этот универсальный язык набирает популярность последние 20 лет. Веб-разработчикам доступно множество фреймворков, бесплатная среда разработки и сервера. Есть много книг, курсов и форумов, посвящённых Java. Среда разработки на Java имеет богатый API ― набор способов и правил, по которым ресурсы или приложения обмениваются информацией.
Python
Python — это язык с простым синтаксисом, его используют для мобильной и веб-разработки. Он упрощает процесс обработки адресов, обращение к базам данных и создание HTML, отображающихся на пользовательских страницах. Благодаря фреймворкам работа на этом языке программирования становится быстрее в несколько раз.
Как стать backend-разработчиком
В разработку можно попасть 3 путями: вуз, курсы и самообразование. Обучиться всему самостоятельно не лучший вариант в этом случае. Особенно, если вы никогда не имели дел с написанием кода. У вас уйдёт очень много времени на освоение базовых навыков backend-разработчика.
Вуз
В вузе вы получите базу для работы в IT. При этом стать полноценным backend-разработчиком не выйдет. Всё равно придётся много практиковаться, потому что в вузе дают базовую информацию, и она быстро устаревает.
Онлайн-курсы
На курсах можно получить полноценную профессию backend-разработчика всего за год-полтора. После обучения у вас уже будет портфолио, а с ним проще найти работу.
Полезные книги и ресурсы для backend
Книги:
- К. Бек, «Экстремальное программирование. Разработка через тестирование».
- Р. Мартин, «Идеальный программист. Как стать профессионалом разработки ПО».
- Р. Мартин, «Чистый код. Создание, анализ и рефакторинг».
- М. Фаулер, «Рефакторинг. Улучшение проекта существующего кода».
Сервисы:
- webref.ru ― сайт для веб-разработчиков, где собрано много обучающего материала по разным тематикам.
- codecademy.com — сайт, где можно научиться ве-разработке с нуля (на английском).
- ITc | сообщество программистов — группа во «ВКонтакте», где собраны курсы и лекции по любому вопросу из сферы разработки.
- Библиотека программиста — сообщество во «ВКонтакте», где публикуют полезные книги для программистов, вакансии и статьи по теме IT.
Профессия backend-разработчика правда подходит не каждому. Если вы мечтали писать код и разрабатывать логику ресурсов, то эта специальность для вас. Вы можете получить необходимые знания на курсах, и всего через год стать backend-разработчиком.