КУРС
DATA SCIENCE ACADEMY
Научитесь использовать инструменты анализа данных, включая языки программирования и средства визуализации.Что оценивает пользователь, когда впервые заходит на сайт или авторизуется в приложении – дизайн и удобство. А именно быстродействие, скорость обработки запросов, безопасность. И за все это отвечает бэкэнд разработчик. Узнаем, кто такой бэкэнд разработчик и чем он занимается.
В чем отличия от фронтенда
Эти два направления неразделимы, но чем отличается фронтенд от бэкэнд разработчика. Первый отвечает за интерфейс, его удобство. А второй – за алгоритмы, которые обрабатывают команды пользователей на платформе.
Если проще, то frontend – это видимая часть софта. Картинки, кнопки, ссылки, баннеры, на которые пользователь может кликнуть. Если приводить в пример онлайн-магазин, то удобство просмотра карточек товара, сортировки по параметрам, добавления в корзину, быстрая навигация по разделам – это ответственность фронтендера. То есть та часть сайта, видимая для посетителей, которую они могут оценить.
Бэкэнд же – это серверный код, которого для пользователей как бы не существует (считается, что все переходы со страницы на страницу происходят сами по себе). Но он определяет механизм работы ПО. Если брать в пример тот же онлайн-магазин, то действия по сохранению товара в корзине, оформлению заказа и соединение с сервисом оплаты – это заслуга backend.
Зоны ответственности у frontend и backend тоже разные. Первый отвечает за интерфейс, второй – за весь сайт, от аутентификации, раздачи прав, до скорости обработки данных, интеграции с другими приложениями.
Успех проекта зависит от обеих составляющих. Например, результат дисконнекта двух компонентов – это вывод сообщения 500 Internal Server Error, ошибка, при которой сервер не может обработать пользовательские запросы, а браузер – идентифицировать, что не так.
Что делает бэкэнд разработчик
Пишет код для сайтов, приложений, который хранится на серверах. Остальные обязанности зависят от проекта и самого цифрового продукта. Это могут быть:
- проектирование исходного кода ПО, веб-приложения;
- работа с СУБД;
- диагностика, отладка готовых программ;
- оптимизация кода.
Бывает, что backend выполняет часть задач фронтендера. Это не всегда обоснованно с точки зрения разделения обязанностей и их оплаты, но базовые понятия frontend изучить стоит.
Что должен знать backend-разработчик
Стоит упомянуть, что это одно из немногих направлений в ИТ, где ценят высшее образование. Поскольку это больше наука, причем точная, основанная на математических принципах, требующая логического склада ума.
Если говорить о профессиональных скиллах, то стандартные навыки бэкэнд разработчика выглядят примерно так:
- знание PHP (классика), фреймворки, систем контроля Git, архитектуры баз данных
- понимание принципов ОС (обычно Linux ) и серверов (Apache, например);
- API (установка, настройка);
- оптимизация чужого кода, исправление ошибок;
- написание алгоритмов;
- базовые знания frontend, верстки;
- технический английский.
КУРС
DATA SCIENCE ACADEMY
Научитесь использовать инструменты анализа данных, включая языки программирования и средства визуализации.Последний пункт – по умолчанию. Поскольку тематическая литература для программистов есть только в англоязычном варианте.
Бывают еще и дополнительные требования, которые компании выдвигают в зависимости от направления, например, опыт в продажах. И это логично. Компания делает онлайн-магазин для увеличения продаж. Задача backend – написать код, адаптированный под эту задачу. А без понимания в чем суть воронки продаж сделать это будет непросто.
Поскольку зона ответственности здесь больше, то и требования к кандидатам серьезные. Это правда. Но и новые инструменты в этой сфере появляются не часто. Значит постоянное повышение квалификации, изучение новых инструментов здесь особо не нужно. Достаточно быть в курсе последних профессиональных новостей.
Что до личных качеств сотрудника, то это – логический склад ума, самостоятельность, умение аргументировать свою точку зрения (не спорить, а доказывать преимущества решений), быстро переключаться между задачами.
Уровень зарплаты и карьера
Зарплатная вилка, как и в любой специальности в ИТ, большая. Как по регионам, так и по значениям для разных компаний. На зарплату бэкэнд разработчика влияет:
- Опыт – для сравнения стажеру платят 20-40 тысяч рублей, джуниору (с опытом от полутора лет в профессии) уже от 45, кодерам уровня middle от 100 тысяч рублей и выше. А синьор – претендовать на оклад от 200 тысяч рублей.
- Тип проекта и обязанности – за поддержку, доработку существующего функционала платят меньше, за проектирование, разработку, поддержку нового – больше. И разница в деньгах часто приличная. Для сравнения – средний оклад для первой вакансии – до 80, для второй – от 150 тысяч рублей.
- Регион – в Москве, Петербурге, Новосибирске зарплаты обычно выше среднего по России. Здесь речь о регионе регистрации компании, ведь сотрудник может кодить удаленно, из любой точки РФ.
На средний доход влияет и стек технологий, которыми владеет претендент на вакансию – фреймворки, инструменты, профессиональные навыки в конкретных направлениях.
Что до карьерного роста, то начинают работу в этой сфере ИТ обычно с должности стажера. После – переходят на первую ступень карьерной лестницы Junior. Джуниор знает один язык программирования, фреймворки, работает с базой данных, но по заданию и под контролем старших сотрудников.
Middle – это вторая ступень, с повышением дохода и пропорциональным повышением ответственности и требований. Как минимум, в дополнение к базе знаний джуниора добавляется еще Docker. Senior – работает с высоконагруженными системами, координирует работу сотрудников отдела.
Ну и верхняя ступень карьерной лестницы – Lead. Это руководитель проекта, который курирует все этапы разработки. Уровень зарплаты тимлида зависит от опыта, стека, языка программирования. И кадровой зарплатной политики компании-работодателя.
Как стать бэкэнд разработчиком
Порог входа в профессию выше, чем в другие ИТ-сферы. Поэтому часто серверное программирование выбирают выпускники ВУЗов с техническим образованием. Вузовская база дает общее понимание построения функций, алгоритмов.
Первый шаг к профессии – изучение информации о базах данных, языках PHP, Go, ASP.NET. Здесь вариантов два – смотреть видеоуроки, участвовать в вебинарах, читать книги или пройти платное обучение.
Если только планируете поступать в институт и хотите в дальнейшем работать серверным программистом, то лучше выбирать специализацию прикладной информатики. За время обучения студентам дают хорошую базу, которую нужно будет только развить дополнительными прикладными знаниями.
Для уже закончивших ВУЗ вариантов обучения два – самостоятельное, по видеоурокам или книгам. И платные курсы. Плюс самообучения – нет дополнительных расходов, полное погружение в тему. Поскольку разбираться во всем придется самостоятельно. Минус – нужна строгая дисциплина.
Платные курсы не отменяют саморазвития, но плюс их в том, что информация подается структурировано, по блокам. От простой темы, к сложной, от базовых понятий до принципа построения функций.
А вообще, в ИТ сфере учиться новому нужно. Изучать новые языки, разбираться в инструментах, совершенствовать навыки и набираться опыта. От этого зависит карьера программиста и его уровень дохода.