Никто не видит, но все пользуются.
В веб-разработке есть фронтенды: они делают видимую часть сайта. И есть бэкенды: они отвечают за невидимую часть. От них зависит скорость работы сайта и его возможности.
Например, когда вы в интернет-магазине видите блок с рекомендованными товарами, фронтенд отвечает за то, чтобы он красиво выводился, а бэкенд — за то, чтобы там были подобраны релевантные для вас товары.
В этой статье — в чём состоит работа бэкенда, что нужно уметь и куда вас приведёт эта карьера.
Что нужно делать
Бэкенд-разработчики пишут программы для серверов, которые формируют нужные нам страницы и отправляют их нам на компьютер. Например:
- они продумывают архитектуру сайта и связи между его компонентами;
- настраивают базы данных, где хранится вся информация;
- делают так, чтобы сайт мог получать и отправлять информацию в эту базу;
- пишут движок сайта — ту программу, которая формирует страницы;
- если движок уже готовый — допиливают его;
- оптимизируют движок, чтобы сайт работал как можно быстрее и стабильнее;
- следят за безопасностью сайта, чтобы злоумышленник не смог украсть или подделать данные;
- иногда настраивают сами серверы — Apache или Nginx.
Что нужно уметь
Если вы откроете вакансию любого бэкенд-разработчика, то там будут примерно следующие требования:
- часто хотят, чтобы вы знали JavaScript и Node.js, чтобы реализовывать часть логики на клиенте;
- AJAX — помогает обновлять данные на странице без её перезагрузки;
- базы данных — MySQL, PostgreSQL или MongoDB;
- Django и другие фреймворки для быстрой разработки;
- умение работать с API;
- владение Git или любым инструментом контроля версий.
Отдельно ценится умение работать в UNIX-системах, разбираться в том, как устроены сетевые технологии и владение сетевыми протоколами. Но на самом старте можно и без этого.
Пример из жизни
Допустим, компания решила запустить интернет-магазин. Они протестировали все существующие готовые «коробочные» решения, они не подошли. Компания решает делать собственную систему онлайн-торговли.
Для этой задачи нужно как минимум два человека — фронтенд, который настроит внешний вид сайта, красивые карточки товаров и сделает нужные цвета, и бэкенд-разработчик, который сделает всё остальное. Остального будет много:
- найти нужный движок магазина (или написать свой, но для этого уже нужна целая команда и большой бюджет);
- организовать и настроить хостинг под этот движок;
- запустить его в первоначальном виде и посмотреть, что нужно изменить;
- перепрограммировать шаблоны страниц, чтобы они показывали то, что нужно, а не то, что было изначально;
- связать базу данных магазина с системой онлайн-торговли — чтобы правильно считались остатки на складах, было точно известно наличие товара и т. д.;
- прикрутить к сайту регистрацию и авторизацию по популярным сервисам и соцсетям;
- убедиться, что всё это происходит безопасно и данные хранятся в нужном месте (и всё соответствует законам);
- переделать админку, чтобы менеджеры могли сами заполнять карточки товаров;
- проверить сайт под нагрузкой;
- настроить резервное копирование;
- сделать автоматическое оповещение о заказе по почте.
И это только на старте, когда интернет-магазин только запускается. Потом работы будет тоже много: допиливать то, что не допилили в самом начале, исправить глюки движка, добавить онлайн-оплату, сделать отслеживание доставки, настроить личный кабинет пользователя.
Вывод такой: работы у бэкенд-разработчика всегда много, потому что заказчик всегда будет стремиться к тому, чтобы сделать сайт ещё лучше, быстрее и удобнее.
Что по деньгам
Средняя зарплата бэкенд-разработчика — 130 тысяч рублей (и постоянно растёт). Про деньги у бэкендов мы выпустили отдельную статью— почитайте, довольно интересно.
С чего начать
Главный инструмент бэкенд-разрабочика — язык программирования. Здесь у бэкенда два главных языка:
- PHP, на котором сделаны почти все современные веб-движки;
- Python, на который переходит весь просвещённый мир.
Посмотрите, как устроены и как работают базы данных: что такое запросы, чем SQL-базы отличаются от остальных, как заставить их работать быстрее и так далее. С базами данных придётся работать чаще всего.
Узнайте, что такое API, для чего оно нужно и как одни сайты могут использовать возможности других. Самый популярный пример — использование API-карт, чтобы показывать посетителям место на карте и строить маршрут до заведения.
Почитайте про серверы — что за операционные системы там работают, что умеют, почему именно сделано так, а не иначе. Больше всего про это знают сисадмины, можно спросить у них.
Пройти 20 бесплатных часов в Практикуме, самому сделать один полноценный проект и понять, насколько эта профессия вам интересна.
Больше статей о программирование, IT и технологиях на нашем сайте: https://thecode.media/