Баннер мобильный (1) Пройти тест

Backend-разработчик: кто это такой и чем занимается

Рассказываем, кто создает сайты, которыми мы пользуемся каждый день

Разбор

3 марта 2024

Поделиться

Скопировано
Backend-разработчик: кто это такой  и чем занимается

Содержание

    Что такое бэкенд-разработка и чем она отличается от frontend? Что входит в обязанности опытного специалиста? Какие hard skills нужны, чтобы начать карьеру в этой сфере? Разбираем в статье.

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

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

    Я бы назвал backend-разработчика серым кардиналом. Он занимается вещами, которые обычному пользователю обычно совсем не видны. Результат работы нельзя потрогать или увидеть, но зато его можно почувствовать. Бэкендеры как инженеры в автомобильной промышленности: от них зависит скорость и управляемость автомобилем, расход топлива. Но сами водители и пассажиры взаимодействуют с тем, чем занимаются в основном дизайнеры. Так и в IT-индустрии: люди взаимодействуют с теми вещами, которыми занимаются frontend и mobile разработчики, а бекенд-разработчики делают двигатели и все внутренние механизмы для сервисов.

    Андрей Сундуков,
    Senior Kotlin разработчик,
    автор модуля по работе с нейросетями Skillfactory

    Как связаны frontend и backend разработка

    Прежде чем ответить на этот вопрос, давайте разберемся, что такое бэкенд и фронтенд.

    Frontend, или клиентская сторона. Это внешняя часть системы, с которой взаимодействуют пользователи. Сюда относят пользовательские интерфейсы и любые элементы, которые можно вывести на экран браузера с помощью HTML, CSS и JavaScript.

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

    Frontend и backend-разработчики всегда работают в команде. Фронтенд помогает пользователям передавать серверу запросы и получать понятные человекочитаемые ответы. Бэкенд создает основу сайта: базу данных, алгоритмы передачи информации. Фронтенд без бэкенда — как автомобиль без двигателя: руль есть, салон красивый, но уехать не получится.

    Взаимосвязь между сервером и клиентской стороной системы

    Кратко этот цикличный процесс можно описать так:

    Шаг 1. Пользовательская информация попадает на сервер

    Пользователь взаимодействует интерфейсом — например, заполняет форму обратной связи и нажимает кнопку «Отправить». Фронтенд получает информацию от пользователя и перенаправляет ее в бэкенд в формате HTTP-запроса. 

    Шаг 2. Сервер обрабатывает информацию и отправляет ответ

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

    Шаг 3. Информация готовится для показа пользователю

    Фронтенд получил ответ и приступил к созданию красочной веб-страницы с помощью языков HTML и CSS. Цель фронтенда — адаптировать ответ и передать пользователю информацию на понятном ему языке изображений и текста.

    Обязанности бэкенд-разработчика

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

    Чем еще занимается backend разработчик:  

    оптимизирует код;

    — работает с данными и системой управления базами данных — СУБД;

    — настраивает API — программный интерфейс приложения, который позволяет интегрировать в сервер внешние сайты;

    — проводит диагностику, тестирование и отладку готовых продуктов;

    — проектирует архитектуру приложения;

    — участвует в проработке продукта и разработке новых фич вместе с командой;

    — обеспечивает информационную безопасность веб-ресурсов.

    Что нужно знать backend-разработчику

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

    Стек разработки — что это такое

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

    Что может входить в стек:

    Владение одним из основных языков программирования Python, Java, PHP, C#, Ruby и др.

    Работа с СУБД — проектирование и настройка, знание SQL, опыт работы с реляционными и нереляционными БД, например, MySQL, PostgreSQL, MongoDB.

    Знание API — разработка и настройка для взаимодействия с фронтендом, проектирование REST API и SOAP.

    Знание паттернов проектирования и популярных фреймворков — например, React, Laravel, Django, Node.js, Next.js.

    Понимание принципов ООП, или объектно-ориентированного программирования.

    Знание систем контроля версийGit, GitHub.

    Знание устройства и функционирования веб-серверов, — например, NGINX и Apache.  

    Навык тестирования своего и чужого кода — проведение интеграционных, модульных и функциональных тестов.

    Понимание основ сетевой безопасности — защита веб-приложений от кибератак и взломов, например, XSS-атак или SQL-инъекций.

    Дополнительные навыки

    Помимо стека базовых инструментов, бэкенд-разработчику также не повредит: 

    Знание английского языка не ниже уровня B1 — для работы с англоязычной технической документацией и самообучения по книгам зарубежных авторов.

    Умение составлять техническое задание (ТЗ) для других разработчиков.

    Понимание принципов работы веба — что такое HTTP, HTTPS и DNS, какие бывают уровни модели OSI. 

    Знание основ фронтенд-разработки.

    Личные качества бэкенд разработчика

    На одних хардах даже самый профессиональный senior-разработчик далеко не уедет. Чтобы сотрудничать с другими IT-специалистами и коммуницировать с коллегами, необходимо развивать следующие soft skills:

    — коммуникативные навыки;

    — умение работать в команде;

    — высокий уровень ответственности;

    — аналитические способности, логическое и критическое мышление;

    — целеустремленность, проактивность.

    Я уже больше 10 лет работаю на различных бэкендерских позициях и считаю, что самые недооцененные скиллы разработчиков в России — это софт-скиллы. Именно они позволяют более полно понимать, что требуется заказчику, взаимодействовать с коллегами, работать в команде и ответственно подходить к своим обязанностями. Эти навыки, хотя они не технические, отличают просто хорошего сотрудника от профессионала. Можно хорошо работать в одиночку, но настоящие классные продукты создаются только командами, а в команде без софт-скиллов — никак.

    Андрей Сундуков, Senior Kotlin разработчик, автор модуля по работе с нейросетями Skillfactory

    Средние зарплаты backend-разработчиков

    В России. По данным калькулятора зарплат на Хабр Карьере, средняя зарплата бэкенд-разработчиков за первое полугодие 2023 года составила 204 581 рублей в месяц.

    Какая зарплата у backend разработчика
    Столько зарабатывают разработчики уровня Middle+ или Senior. Источник

    На hh.ru по запросу «backend developer» нашлось 4500+ вакансий по всей России:

    — только у 1527 из них указаны зарплаты;

    — уровень дохода для 1219 вакансий начинается от 105 000 рублей;

    — 44 вакансии предлагают зарплату от 460 000 рублей.

    Попробуем переформулировать запрос и написать в поиске «backend разработчик». Теперь по России открыто 3900+ вакансий:

    — зарплаты указаны у 1435 из них;

    — 1161 работодателей предлагают зарплату от 105 000 рублей;

    — 40 вакансий поддерживают уровень дохода от 460 000 рублей.

    За рубежом. В сентябре 2022 года средняя зарплата backend девелоперов в США составляла 82 597 долларов в год, где 77 700+ долларов — базовая оплата, а еще 4800+ — дополнительная.

    Сколько зарабатывает backend developer за рубежом
     Возможный диапазон зарплат разработчиков по версии Glassdoor. Источник

    Востребованность и перспективы профессии 

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

    Аналитический отчет Хабр Карьеры показал, что бэкенд — самая востребованная специализация на сервисе:

    Востребованность backend-разработчиков статистика
    В мае 2023 года на Хабре было открыто 806 backend вакансий. Источник

    Сегодня на Хабр Карьере по запросу «бэкенд разработчик» доступно 796 вакансий. Специалистов ищут различные IT-компании и такие крупные вендоры, как Сбер, Лаборатория Касперского, МТС, Газпромбанк и VK. 

    Вертикальный карьерный рост

    Стандартная карьерная лестница разработчика бэкенда выглядит так:

    Junior Developer — начинающий специалист

    Средняя зарплата: от 50 000 до 120 000 рублей в зависимости от региона. 

    Опыт работы: от года. 

    Требования: знание любого языка программирования, умение работать с базами данных и писать SQL-запросы, а также понимание основных принципов разработки веб-приложений.

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

    Middle Developer — крепкий середнячок

    Средняя зарплата: от 80 000 до 150 000 рублей в зависимости от региона.

    Опыт работы: от 3 лет.

    Требования: знание одного или нескольких языков программирования на продвинутом уровне, большой опыт работы с MySQL и другими базами данных, знание фреймворков, Git и опыт разработки API. 

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

    Senior Developer — бывалый разработчик  

    Средняя зарплата: от 200 000 до 500 000 рублей.

    Опыт работы: от 3 до 6 лет, иногда — больше 6 лет.

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

    Рабочий процесс: наставник для молодых разработчиков — делится с ними опытом, занимается онбордингом и проводит код-ревью.

    Горизонтальный карьерный рост

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

    — frontend или fullstack разработку;

    — нейросети, машинное обучение, компьютерное зрение;

    — DevOps, DevSecOps;

    — архитектуру ПО;

    — информационную безопасность.

    Мифы о профессии

    Развеиваем мифы вокруг бэкендеров.

    Все разработчики бэка — это угрюмые интроверты

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

    Кто кодит backend на PHP — тот не в тренде

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

    Для написания кода нужен особый талант

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

    Основные языки backend разработки

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

    Java

    Java — объектно-ориентированный язык программирования, который широко применяется в веб-разработке и разработке мобильных приложений. Многие пишут бэкенд на Java — взгляните на результаты опроса бэкенд-разработчиков за 2023 год. Java здесь на первом месте:

    Топ языков для бэкэнд разработки
    Самые востребованные языки backend-разработки. Источник

    За что разработчики любят Java? 

    Быстрое обучение. Благодаря структурированному и интуитивно понятному синтаксису, новички тратят на изучение основ Java до шести месяцев.

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

    Производительность. Код на Java компилируется с помощью ПО JIT, что обеспечивает высокую производительность на уровне языков C. 

    Кроссплатформенность. У Java есть свой интерпретатор — виртуальная машина JVM, которая интерпретирует код под разные платформы и операционные системы — например, переносит его с Windows на Linux.

    Высокий уровень безопасности. Безопасность в Java обеспечивается за счет нескольких механик: JVM, которая отвечает за верификацию байт-кода, Security Manager, который позволяет настраивать уровни доступа, а также различных API, сканеров уязвимостей и др.

    Не путайте Java и JavaScript. Если Java чаще всего применяется для создания мобильных и серверных приложений, то JavaScript используется во фронтенде и отвечает за действия браузера — например, задает интерактивность с помощью анимации и всплывающих окон.

    Python

    Python — язык высокого уровня, который используют в разных направлениях IT: в веб-разработке, тестировании и DevOps, Data Science и в машинном обучении. Язык быстро набрал популярность: из 87 510 разработчиков, опрошенных Stack Overflow, 65% уже используют Python, а 39% — планируют начать.

    На Python написан бэкэнд многих веб-ресурсов и мобильных приложений. В чем его преимущества:

    большое сообщество разработчиков по всему миру;

    множество фреймворков и дополнительных библиотек;

    быстрое обучение — у Python простой синтаксис, поэтому его изучают даже школьники;

    формирование базы для изучения других серверных языков программирования. 

    PHP

    PHP — язык программирования общего назначения, который преимущественно используется в веб-разработке и обеспечивает связь между браузером и сервером. На PHP написано множество динамических сайтов и веб-приложений: WordPress, ВКонтакте, YouTube. 

    Несмотря на то, что некоторые считают PHP устаревшим языком, backend-разработчики на PHP до сих пор востребованы на рынке. 

    Преимущества языка:

    скорость работы и производительность;

    совместимость с HTML — PHP способен встраиваться в HTML-документы для создания шаблонов и динамического контента на странице;

    низкий уровень вхождения для новичков;

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

    Как стать бэкенд-разработчиком

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

    С чего же начать новичку без знаний и опыта в IT? У вас есть три варианта:

    1. Получить высшее образование. Технический университет закладывает базу, необходимую для работы разработчиком. После окончания математического или айтишного факультета вам будет проще освоить паттерны, фреймворки и базы данных.
    2. Пройти курсы. Даже если вы окончили факультет филологии, то всегда можете переквалифицироваться в бэкенд-разработчика и получить необходимые навыки на онлайн-курсах. Здесь вам дадут разложенную по полочкам информацию и куратора, который будет помогать со сложными задачами.
    3. Заниматься самообразованием. Самый сложный вариант, который потребует от вас высокого уровня дисциплины и постоянства. Можно почитать профильную литературу, найти бесплатные куарсы и воспользоваться видеоуроками, а затем начать практиковаться. Но в самообразовании каждый сам за себя и все возникающие вопросы вам придется выяснять самостоятельно, поэтому учеба может занять много времени.

    Рекомендации для начинающих бэкенд-разработчиков

    Несколько полезных советов тем, кто только начал свой путь в бэкенд.

    Начните с азов

    Не бросайтесь в омут с головой. Сначала изучите Linux и другие операционные системы, затем переходите к основам веб-разработки — узнайте, как устроен веб, на чем основана работа веб-серверов и что такое HTTP/HTTPS.

    Выберите свой язык программирования

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

    Найдите ментора

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

    Какие навыки нужны для работы в бэкенде?
    Какие задачи решает бэкенд-разработчик?
    Какие технологии используют бэкенд-разработчики?
    Какие требования к образованию есть у работодателей?

    Разбор

    Поделиться

    Скопировано
    0 комментариев
    Комментарии