Перейти к содержимому

Backend разработчик кто это

  • автор:

Что нужно знать, чтобы сейчас начать работать backend-разработчиком?

Что нужно знать, чтобы сейчас начать работать backend-разработчиком?

Это рубрика, в которой эксперты коротко отвечают на актуальные и волнующие вопросы об IT-профессиях, будущем сферы и ее перспективах.

Освойте профессию
«Fullstack-разработчик на Python»

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

Какая удаленная профессия ваша?
Пройдите профориентационный тест
и получите доступ к библиотеке
полезного контента
Пройти тест

Group 3 (4)

Мнения экспертов

Алексей Шарыпов,
Lead Python Development в ООО «ВК» (VKPay)

Backend-разработчик отвечает за внутреннюю логику работы приложений и сайтов. Отличие этой профессии от большинства других разработчиков заключается в том, что его работу часто не видно невооруженным взглядом. Результат работы сложной логики приложения, написанного backend-разработчиком, пользователь видит в приложениях и на сайтах, нажимая на кнопки, загружая страницы или обращаясь к голосовому помощнику. То, чем frontend отличается от backend’а, мы объяснили на мемах. Кроме привычных сайтов и приложений, в создании которых участвуют backend-разработчики, можно найти множество отраслей, где присутствует идентичная разработка. Среди них финансовые сервисы, сложные агрегаты, промышленное оборудование, умные дома, самолеты.

Станьте веб-разработчиком и найдите стабильную работу на удаленке

  • 2–4 backend-разработчика;
  • 1 frontend-разработчик;
  • 1 тестировщик;
  • 1 дизайнер;
  • 1 менеджер.

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

С одной стороны, кризис способствовал оттоку IT-специалистов, с другой — ушли многие западные компании. Вместе с ними некоторые российские компании также вывезли бизнес и специалистов в близлежащие страны.

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

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

Антон Губарев,
Senior Backend Engineer в компании «Авито»

Некоторые компании ушли из России. Однако на их место уже пробуют вставать российские стартапы, открываются новые вакансии. Я имею в виду интернет-ресурсы и инфраструктуру для них: инструменты разработки, облачные технологии и т.д. Здесь абсолютно точно требовались и будут требоваться backend-разработчики. Процесс становления не быстрый, но уже заметно появление новых проектов, масштабирование старых, которые занимают освобождающиеся ниши. Также в стране есть и крупные компании вроде Яндекса, VK, Авито, которые продолжают активную деятельность и постепенно начинают открывать приостановленный на время найм.

С начала кризиса в работе backend-разработчика ничего не поменялось. Используются те же технологии. Требования к кандидатам тоже прежние. Очень важно иметь профессиональное образование. Конечно, можно обойтись и без него, но наиболее широкие перспективы открываются в сфере искусственного интеллекта и машинного обучения, где требуются глубокие знания. Можно начать с профессиональных курсов. Наиболее востребованные навыки для старта — алгоритмы и структуры данных, какой-либо один язык программирования, понимание на базовом уровне SQL, контейнеризации и виртуализации. Обязательно иметь навыки работы в Linux. Также не лишним будет знание принципов работы компьютерных сетей.

О том, как стать backend-разработчиком с нуля, мы рассказали в этой статье.

Backend-разработчики будут востребованы в разных нишах. Наиболее важными и перспективными отраслями во всем мире являются искусственный интеллект и машинное обучение. И Россия тут не исключение. Пока что эти отрасли достаточно молоды в нашей стране, но уже в самом ближайшем будущем их совершенно точно ждет рост. Также всегда будут с нами интернет-ресурсы: социальные сети, интернет-магазины, площадки для размещения объявлений и пр.

Игорь Лопушко,
Backend Team Lead в компании RBI Retail Innovation

Профессия backend-разработчика очень востребована , т.к. большая часть приложений (мобильные, компьютерные игры, веб-сайты) чаще всего имеют backend-часть. Именно в ней находится большая часть бизнес-логики, без которой невозможно любое современное приложение.

Профессия затрагивает много разных областей программирования и технологий. Требования к backend-разработчикам меняются не так часто, как к frontend-разработчикам.

О требованиях к frontend-разработчикам мы говорили в этой статье.

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

Очень важно владеть одним из языков программирования: Python, Go, C#, Java, JavaScript, Rust, Ruby. Данные языки чаще всего используются для программирования backend-части. Не так важно, каким языком вы владеете, главное — как вы им можете пользоваться.

Для backend-разработчика обязательно знание баз данных, в первую очередь реляционных (SQL): Postgres, MySQL, SQL Server, Oracle. Также желательное знание и нереляционных (NoSQL) БД: Cassandra, MongoDB, CouchDB, Neo4j, RavenDB. Базы данных очень часто используются в приложениях, позволяя сохранять жизненно важные для них данные.

Немаловажным навыком является понимание устройства серверов и интернет-ресурсов, знание API, понимание принципов RESTful-сервисов. Также к обязательным навыкам backend-разработчика можно отнести работу с системами контроля версий, например Git. Особенно важным является навык написания различных видов тестов, таких как модульные или интеграционные. Кроме того, необходимо понимание принципов совместной работы с frontend-разработчиком и верстальщиком.

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

Часто задаваемые вопросы

Что такое бэкенд-разработка?

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

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

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

Чем бэкенд- отличается от фронтенд-разработки?

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

Преимущества и недостатки у бэкенд-разработки

Преимущества
  • Креативная работа для людей с аналитическим образом мышления.
  • Большая ответственность.
  • Высокая заработная плата.
  • Большая востребованность на рынке.
  • Возможность работать удаленно или в иностранных компаниях.
  • Возможность стать фулстек-программистом после изучения фронтенда.
Недостатки
  • Нужны серьезная подготовка и обширные знания.
  • Новичкам бывает непросто найти работу.
  • Нужно быть в курсе все время меняющихся технологий, чтобы оставаться востребованным специалистом.
  • Для перехода с уровня на уровень требуется учиться и работать минимум 2-3 года.

Fullstack-разработчик на Python

Fullstack-разработчики могут в одиночку сделать IT-проект от архитектуры до интерфейса. Их навыки востребованы у работодателей, особенно в стартапах. Научитесь программировать на Python и JavaScript и создавайте сервисы с нуля.

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

Если бы эта статья вышла не на Хабре, а в образовательном журнале, я бы начал её так: «Вспомните сайты, которые вам нравятся, на которых удобная навигация и приятный интерфейс. А знаете ли вы, что это только верхушка айсберга…». Но на Хабре это знают, пожалуй все, поэтому никакой лирики. Бэкенд любого веб-проекта — это сложная система, которая позволяет приложению быстро работать, качественно искать, шустро отдавать информацию пользователю, надёжно и безопасно хранить данные и при необходимости работать с другими внешними системами. Это как швейцарские часы: покупают их за стиль и шильдик, но ценители знают, что под сдержанным циферблатом кроется волшебный мир часового механизма. И бэкенд-разработчики — это маги механизмов, организмов, кишочек, внутренностей или как вы ещё это называете у веб-приложений. Эх, без лирики не удалось!

Короче, сегодня разбираем очередную профессию в серии «Профессия…». Итак, а что, если пойти в бэкенд-разработчики?

Бэкенд это всегда немного боль

Кто это?

Если говорить академично, то бэкенд-разработчик — это программист, который отвечает за внутреннюю и вычислительную логику веб-сайта или веб-приложения, а также иного программного обеспечения и информационных систем. Строго говоря, бэкенд бывает не только у веб-решений, он есть и у десктопа, и у мобильных приложений, т.к. по сути бэкенд — это всё, что относится к программно-аппаратной части сервиса. Но исторически так сложилось, что бэкенд и фронтенд начали особенно явно выделять именно в веб-разработке. А поскольку это ещё и самая популярная на данный момент сфера, то и мы будем говорить именно о вебе (для десктопа многие тезисы тоже будут справедливы, а про мобильных разработчиков мы с вами поговорим в одном из выпусков отдельно).

Бэкенд-разработчик создаёт компоненты и функции, которые доступны пользователю приложения или сайта через интерфейс. Проще говоря, бэкендеры — это программисты, которые разрабатывают всё то, что не видит и напрямую не трогает пользователь. То есть красивая форма ввода данных или корзина интернет-магазина — это фронтенд, а хранение данных в СУБД, связка полей формы регистрации и корзины, интеграция с платёжным шлюзом, автоматические письма, подгрузка и обновление контента — это всё бэкенд. Поэтому, если форма регистрации стала отдавать ошибку базы, виноват… тестировщик 🙂 (почему— мы тоже расскажем в очередной серии).

За что отвечает бэкенд-разработчик:

  • обеспечение корректной работы всех функций сайта и его вычислительной логики;
  • организация и работа с базами данных посредством СУБД;
  • разработка базовой логики и алгоритмов работы приложения;
  • API;
  • необходимые интеграции с внешними сервисами;
  • тестирование и отладка приложения и отдельных компонентов.

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

Бэкенд-разработчики удивляются, откуда у всех взялись проблемы с этими лампочками, вспоминает, что забыл задеплоить свет в базу данных, успокаивается и валит вину на фронтэнд.

Где нужен?

Как и в случае с фронтенд-разработкой, абсолютно везде, где есть сайт или приложение, которое в вебе взаимодействует с пользователем. Другое дело, что всем нужны бэкендеры разного уровня: в офисе условной социальной сети или крупного сайта объявлений бэкенд-разработчик обязан не просто иметь базовые навыки, но и работать с высокими нагрузками, микросервисной архитектурой и контейнеризацией (Docker, Kubernetes), знать системы мониторинга (типа Zabbix, Grafana), иметь навыки Scrum (опционально для конкретных компаний). А для небольшого интернет-магазина вполне достаточно связки PHP-Ajax-нужная СУБД-немного HTML, иногда и того меньше. Понятно, что и оплата труда, и требования к опыту также совершенно разные.

Традиционно на «Хабр Карьере» мы нашли 444 вакансии бэкенд-разработчика, что без малого в 2 раза больше, чем во фронтенде. На hh.ru — около 1800. В общем, на рабочих местах вас уже ждут фронтендеры, у которых поиск по сайту отрабатывает два часа 🙂 А если серьёзно, в компании может быть 2-3 бэкенд-разработчика на одного фронтенда, особенно если речь идёт о приложениях со сложной внутренней логикой и бизнес-логикой (интернет-магазин, CRM-ERP, корпоративный портал и т.д.).

Средняя заработная плата

Заработную плату будем смотреть тоже на «Хабр Карьере». Возьмём данные за второе полугодие 2019 года, вне зависимости от владения тем или иным стеком.

Уровень специалиста Средняя заработная плата
Стажёр (Intern) 35 345 руб.
Младший (Junior) 55 241 руб.
Средний (Middle) 105 048 руб.
Старший (Senior) 168 350 руб.
Ведущий (Lead) 185 335 руб.

Если сравнить с заработной платой фронтендеров, то рост незначительный, от нескольких сотен рублей до 6000 руб. (у мидлов). Но это реально очень средние значения, многое зависит именно от стека программирования, дополнительных навыков, опыта и основного языка разработки. Кстати, для всех уровней бэкенд-разработчика на первом месте стоит PHP, и мы о нём ещё поговорим.

Базовые требования к профессионалу

Требования к бэкендеру ещё более чувствительны к особенностям компании и её бизнес-процессам, чем у фронтендера. Иногда это могут быть весьма странные на первый взгляд вещи такие как «понимание принципов работы рыбного холодильника как предприятия», «знание основ продаж или опыт в продажах», «блестящее знание JavaScript, CSS и HTML». Но это выглядит безумно и отталкивающе только при первом подходе. На самом деле, бэкенд-разработчик действительно больше погружён в бизнес-процессы, должен не только разрабатывать код в соответствие с ними, но и подстраивать какие-то вещи под конкретные задачи, понимать, как оно работает изнутри. Если вы никогда не видели воронку продаж и не понимаете, чё это за фигня, вы никогда не сможете разработать её логику вместе с фильтрами, срезами и переходами (даже если у вас будет отличное ТЗ, разобраться сложно). Ну а в примере с «блестящее знание JavaScript, CSS и HTML» всё просто: вероятно, руководитель не очень-то доверяет своему другому разработчику и готов пересмотреть подход к разработке. Такое нередко случается в небольших компаниях.

Но есть и базовый набор требований, который бэкенд-разработчик увидит практически в любой вакансии.

  • Знание хотя бы одного «серверного» языка программирования: PHP, Go, ASP.NET, C/C++, Python, Ruby, Java. В некоторых случаях достаточно знания JavaScript для бэкенда (Node.js), но это скорее как плюс, чем как пункт.
  • Знание API (REST, SOAP — всё реже).
  • Понимание принципов работы серверов Apache, NGINX, IIS и проч.
  • Навыки написания юнит-тестов и покрытия кода тестами.
  • Основы сетевой безопасности и знание инструментов её обеспечения.
  • Знание популярных веб-фрейморков, которые способны решать задачи разработки конкретного приложения.
  • Навыки написания запросов к БД и проектирования баз данных.
  • Знание основ фронтенда — и это не плюс, а обязательный пункт, иначе вам придётся крайне непросто проектировать и писать приложение.
  • Администрирование UNIX или знание Linux (можно любого одного дистрибутива).
  • Знание принципов работы HTTP (кэширование, авторизация, структура сообщений, заголовки, коды ответов и проч.)
  • Модель OSI.
  • Навыки составления и оценки технического задания (ТЗ) — очень важный навык, который необходим для сбора самой точной информации о требованиях к ПО.

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

Топ-5 востребованных технологий у специалистов по данным «Хабр Карьера», 2 полугодие 2019 года, нижняя строка — «дополнительные» скиллы.

Принцип формирования списка: пользователи, внося данные о заработной плате, указывают скиллы, которые у них в приоритете (что они умеют делать!). То есть это не требования работодателя, а навыки специалистов каждой категории.

Как видите, компании готовы брать стажёров с базовыми вузовскими C, C++ и C#, но в дальнейшем предпочитают специалистов с «рабочим набором» бэкендера. Обратите внимание на интерес к контейнеризации и высоконагруженным системам.

Кстати, вот вам очередной роадмап, но уже для бэкенд разработчика (остальные тоже есть на сайте — по-моему, это одно из лучшего и системного, что мне приходилось видеть по этой теме). Разглядывайте, распечатывайте и вперёд, к вершинам бэкенда.

Важные личные качества

Бэкендеру хорошо, он может быть интровертом 🙂 Его зона работы с пользователями сведена до минимума, в основном, все рабочие контакты с менеджерами или коллегами. Эти ребята нередко работают по ТЗ и делают всё так, как это прописано в документе либо так, чтобы получить состояние, максимально близкое к целевому (ТЗ, знаете ли, тоже бывают несовершенны, а то и совершенно не…).

Однако есть набор качеств, без которых о направлении бэкенда думать не стоит. Они вам могут показаться чем-то вроде качеств сотрудника, который нужен «молодой динамически развивающейся команде», но нет, речь именно о внутренних императивах, которые помогут не просто хорошо выполнять работу, но и делать это с внутренним комфортом (а не на «отвяжись»).

  • Ответственность. Действительно, на бэкендере лежит ответственность буквально за всё: чтобы данные сохранились, чтобы реляционные таблицы работали как надо, чтобы временные пояса учитывались, чтобы сайт был шустрым и т.д. И если кривая навигация от фронтендера приведёт к паре злобных вскриков пользователей, то ошибка бэкендера может стоить очень дорого — в прямом смысле (например, если бизнес-данные по какой-то причине перестанут сохраняться или не сработает разделение прав доступа в какой-нибудь CRM-системе).
  • Внимательность и внимание к мелочам. Опять же, мелочей в бэкенде не бывает, поэтому необходимо тщательно проектировать связность работы всех компонент и не упустить ничего.
  • Трудоспособность. Прокрастинация — опасный враг бэкендера, он должен уметь сосредоточенно работать, иногда в крайне сжатые сроки, поэтому «пилить код с ленцой» это, пожалуйста, в пет-проект или уже в состоянии тимлида (там других задач хватает).
  • Логическое мышление и аналитический склад ума. Оно и понятно.
  • Умение доводить дело до конца, нацеленность на результат. В бэкенде важен результат — корректно и ожидаемо работающее приложение.
  • Способность переключаться на макрозадачах. Нередко бывает, что нужно оставить код одной части проекта и реализовать довольно крупную функцию. Это непросто, потому что программист уже погружён в архитектуру и логику. Способность переключаться без особых проблем для задач — практически джедайская.
  • Навыки планирования и исполнения плана. Бэкенд любого проекта — это сборник разноплановых задач. И если вы единственный бэкендер проекта или у вас с коллегами слабо реализовано разделение труда, только планирование и спасёт от авралов, факапов и срыва дедлайнов. Жёсткое к себе и времени планирование — залог спокойной работы практически без переработок (которые у бэкендеров случаются чаще остальных).
  • Умение работать в команде. Вам нужно будет взаимодействовать с единой командой разработки единого же приложения, а значит, дискуссии, но не конфликты, рефакторинг, но не оскорбления, отстаивание своей позиции, но не бойкоты. Если злой интровертный бэкендер отлично сделает свою работу, закоммитит и умоет руки, его труд пользователи ещё долго не смогут оценить — потому что нужно «собирать» проект в составе всей команды, а не отгораживаться по принципу «к фронтенду ни ногой».

Необходимость знания иностранных языков

Вот что было написано для фронтенд-разработчика.

Для любого программиста крайне желателен английский язык не ниже upper-intermediate с уклоном в технический английский. Так вы сможете читать в оригинале многочисленные рекомендации Google и других компаний для оптимальной разработки (очень много полезной документации!), самообучаться с помощью зарубежных лекций, общаться с коллегами на форумах, задавать вопросы, а также читать книги по юзабилити и дизайну, среди которых очень много крутых англоязычных и пока не переведённых изданий.

Это же справедливо и для бэкендера, даже в большей мере. В комментариях к предыдущей статье заметили, что уровень upper-intermediate великоват для айтишника, достаточно и ниже. Я сужу по себе и по уровню учебников. Скажем так, от intermediate до upper-intermediate шаг не выглядит пропастью и уровень «на поболтать» берётся легко. А вот от upper до advanced — пропасть и по сложности, и по лексике. Впрочем, если вам норм читать и понимать, что читаете при другом уровне, никто вас экзамен сдавать не заставит, пользуйтесь.

Где учиться

В принципе, те же технические вузы, курсы, самообразование и корпоративные университеты. Но есть важные нюансы.

  • Если фронтент-разработчиком можно стать и после непрофильного вуза (строительство, дизайн, экономика и проч.), то бэкендером гораздо сложнее. Идеальная образовательная основа для бэкенд-разработчика — математическое, физическое и собственно ИТ образование. Именно они дают отличную базу для понимания алгоритмов, функций, паттернов, вычислительных процессов и т.д.
  • С курсами дело обстоит тоже печальнее — вы можете начать изучать какой-то язык (например, PHP или Java) и даже сделать какой-то фуллстековый мини-проект, но только опыт реальной работы даст полное понимание функционирования и взаимодействия всех компонентов, потому что у бэкенда слишком много деталей и подводных камней (даже несмотря на крутые инструменты разработки).
  • Именно для бэкенда лучшим образовательным путём мне видится изучение основ серверного языка и путь от стажёра в компании, где есть наставник/ментор по специальности. На реальном проекте и узких задачах вы быстрее поймёте, что к чему.
  • Никто не отменяет небольшие open source проекты, в которые можно коммитить.
  • И, конечно, должен быть свой сайт (пет-проект), который станет главным тренировочным плацдармом. Путь предстоит не самый простой, поэтому выбирайте ту тематику, которую, кроме самой разработки, вам будет интересно развивать. Например, если вы увлекаетесь спортом и здоровым образом жизни, разработайте приложение-дневник со счётчиками, коннекторами к каким-нибудь датчикам, ачивками и т.д. Это будет полезно и увлекательно (а иногда из таких сайд/пет проектов вырастают коммерчески успешные стартапы).

Лучшие книги и средства обучения

Выбирать средства обучения необходимо исходя из выбранного языка программирования и актуального в конкретный момент стека. Общие рекомендации такие.

  • Базовая книга по вашему языку программирования — мне нравятся издания O’Reilly, многие переведены издательством «Питер».
  • Аналогично базовые книги по вашему стеку.
  • Кукбуки (cookbook) по языкам и рекомендации корпораций, статьи в блогах и т.д.
  • Бек Кент, Экстремальное программирование. Разработка через тестирование — отличная книга для любого разработчика в принципе, но особенно для бэкендера. Проникнуться философией TDD дорого стоит.
  • Джоэл Х. Спольски — можно читать его блог, можно ещё на просторах Рунета найти электронную книгу «Джоэл о программировании» — сборник постов из блога на русском.
  • Роберт Мартин «Идеальный программист», «Чистый код» — переводная книга от «Питера» хороша, но в оригинале стиль и шутки вообще бесподобны.
  • Мартин Фаулер и коллектив авторов «Шаблоны корпоративных приложений» — «взрослая» книга для джавистов, но не помешает ни для одного серверного языка как сборник инсайтов и крутых находок.
  • Бесплатные курсы и видео, которых бесконечно много на Youtube на русском и английском языках. Просто слушайте, повторяйте, систематизируйте знания. Для начала подойдут любые, очень скоро вы научитесь отличать крутые вещи от дилетантских.
  • webref.ru — очень классный сайт для разработчиков веба, разбирайтесь, обучайтесь.
  • codecademy.com — интерактивный сайт для обучения разработке на разных языках программирования на английском, с самого низкого, нулевого, уровня.
  • ITc | сообщество программистов — вагон организованной информации с курсами, лекциями и чем угодно. Читайте комментарии, легко определяйте лучшее для обучения.
  • Библиотека программиста — куча книг по любой айти-тематике.

Будущее бэкендера

Будущее бэкендера прорисовывается довольно чётко и перспективно.

  • Стандартный путь внутри своего стека: junior с односложными задачами и запросами, middle с глубокими навыками программирования и отличным владением стеком, senior с проектированием, архитектурами, высокими нагрузками и прочим кубернетесом, team lead с управленческими навыками т.д. Это хороший корпоративный путь, внутри которого можно менять компании, проекты, отрасли, расти и быть востребованным.
  • Переход на другой стек и выход из веба: нередко именно бэкенд-разработчики осваивают Java, С/С++ и уходят в «кровавый энтерпрайз», десктопные приложения, разработку средств разработки, нейросети, компьютерное зрение и т.д. Действительно, бэкендеру проще осваивать эти трудные технологии и ЯП.
  • Переход в фуллстек-разработку: бэкендер ближе к фуллстеку и совершить такую трансформацию можно совершенно незаметно.
  • Переход в DevOps, DevSecOps, информационную безопасность — когда знаешь веб-приложения изнутри как свои пять пальцев, этот путь оказывается логичным и весьма доходным.
  • Переход на менеджерские позиции, если есть желание и склонность к управленческим задачам.
  • Фриланс и своё программное агентство — для смелых и в меру азартных ребят. Можно неплохо зарабатывать на аутсорс-разработке (особенно если идти в сторону фуллстек-разработки).

Главное, что у вас не выйдет — это быть плохим разработчиком и при этом рассчитывать на что-то интересное. Дело в том, что каждая компания ждёт от бэкендера ответственности (представьте себе ошибки в коде банковского приложения, какой-нибудь критически важной ГИС или системы онлайн-мониторинга — сразу поседеть можно) и здравого подхода к работе. Филонить или говорить «так задумано» вряд ли получится — при всей внешней незаметности работы бэкенда сбой в ней заметнее всего.

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

▍Бэкенд — это очень сложно

Спорный вопрос. Часть разработчиков утверждают, что он проще благодаря средствам разработки, бесчисленным библиотекам и низкому уровню динамичности, другая часть боится подойти к бэкенду в принципе. Правда, как всегда, посередине: скорее, стэк бэкенд-разработчика многообразен и имеет разнородные компоненты, но, во-первых, не всё нужно в проекте, во-вторых, стоит понять что-то одно, и вот уже все взаимосвязи очевидны, знания нанизываются на единый стержень. В любом случае попробовать себя в бэкенде нужно — даже если вы развернётесь и выберете другой тип разработки, полученные знания помогут вам в работе.

▍Бэкенд-разработчик получает миллионы

Это вообще общий миф про программирование. Самая большая реальная заработная плата у российского разработчика, которую мне приходилось видеть своими глазами — это 540 тыс. руб. в месяц (С/С++, зарубежный проект, системы компьютерного зрения, кандидат наук, удалёнка), вторая от него — 400 тыс. руб. (Delphi, удалёнка, зарубежный энтерпрайз, немецкий язык как нативный). Остальные очень похожи на те цифры, которые я взял с «Хабр Карьеры» для своих табличек. Миллионы получать вы будете только в том случае, если сойдётся: блестящее знание языка + талант + опыт и уникальные навыки в узкой сфере + проект, готовый столько платить. Таких ребят единицы и я не скажу, что их участь прекрасна: 99% их жизни работа, 1% — сон. Поэтому важно осознать другой тезис: бэкенд-разработчики востребованы и хорошо зарабатывают, лучше многих специалистов. Значит, стоит постараться.

▍PHP — г@вно, PHP мёртв, PHP must die

Обожаю этот холивар! Но при этом знаю, как его пугаются новички и стремятся обойти этот мощный и во многом удобный язык и его фреймворки. Дело в том, что в начале 2000-х-2010-х PHP был крайне популярным языком программирования у фрилансеров и прочих джентльменов удачи от ИТ. На нём написано море плохих дилетантских сайтов и приложений — но не потому что язык плохой, а потому что эти ребята не были способны использовать его изящно и грамотно. Оттуда и пошли эти мифы про «плохость».

Конечно же, PHP прост в изучении, живее всех живых, на нём написаны и поддерживаются сотни тысяч проектов, проектищ и проектиков и жить ему ещё довольно долго. Согласно Stackoverflow PHP выбирают 25.8% профессиональных разработчиков. Да и по Octoverse GitHub язык довольно стабилен по количеству проектов:

К слову, по-настоящему хорошие программисты PHP высоко ценятся во всех смыслах этого слова.

Главный совет

Нет лучшего языка для бэкенда, более того я вам скажу, что нет лучшего языка программирования для ни для чего. Изучайте тот язык, который необходим вам или вашему будущему возможному работодателю (это можно узнать заранее), тогда вы сможете быстро и элегантно решать поставленные перед вами задачи. Не стоит изучать какую-то технологию из принципа «все побежали и я побежал».Тогда вы сможете стать действительно уникальным, думающим и зарабатывающим специалистом. Который будет диктовать свои условия, конечно, лучшие.

Ну что, есть среди читателей опытные бэкендеры? Как оно? Почему выбрали именно эту сторону разработки?

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

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

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

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

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

Что должен знать Backend-разработчик

Важно знать определенный стек технологий: – Языки: PHP, Ruby, Python, Java, C#. – Фреймворки: Laravel, Django, Spring, Ruby on Rails, Meteor, Node.js. – Базы данных: MongoDB, MySQL, Oracle. – Серверы: Apache, NGINX, Lighttpd, Microsoft IIS. – Структуры данных и алгоритмов – API и ORM, если вы хотите принять участие в разработке мобильных приложений. Стоит отметить, что приведенный выше список не означает, что вы должны владеть всеми этими языками, фреймворками и базами данных. Большинство Backend-разработчиков сосредоточены на одном или двух языках и сопутствующих технологиях. Наиболее популярным и влиятельным языком Backend-разработки считается Java. Большинство известных компаний используют этот язык программирования в качестве основного для создания своих проектов. Например, Google, Yandex, Ebay, Amazon и другие. Подробнее об этом языке программирования мы писали здесь. Помимо технических составляющих, Backend-разработчику нужны следующие навыки: – Аналитическое мышление и навыки решения проблем. – Нестандартное мышление. – Хорошие коммуникативные навыки. Перечисленные выше навыки помогут в повседневной работе, без них достаточно сложно расти по карьерной лестнице.

Сколько зарабатывает Backend-разработчик

По данным Glassdoor, средняя зарплата Backend-разработчика в США – 115 604 долларов (на июнь 2022 года). Она может варьироваться в зависимости от местоположения, стажа и других факторов. Backend-разработчики пользуются большим спросом. По данным Бюро статистики труда США, ожидается, что позиции таких разработчиков вырастут на 13% в период с 2020 по 2030 год. По данным SalaryExpert, что средняя зарплата Backend-разработчика в Германии – от 76 000 евро в год. Что касается России, сейчас на эту позицию открыты более 5 тыс вакансий. Средняя зарплата Backend-разработчика от 110 тыс рублей в месяц, самая высокооплачиваемая позиция доходит до 500 тыс рублей в месяц. Так, можно с уверенностью сказать: если вы решите начать этот карьерный путь, у вас не будет проблем с поиском работы и заработком. Факторы, которые могут больше всего повлиять на зарплату Backend-разработчика: – Уровень знаний. – Опыт. – Стек технологий – языки программирования, фреймворки, инструменты и технологии, которыми владеет разработчик. – Местоположение – Знание иностранных языков. Так, зарплата Backend-разработчика может значительно варьироваться в зависимости от того, из каких языков программирования и других инструментов состоит стек технологий разработчика.

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

Стать Backend-разработчиком можно с помощью онлайн-курсов, изучая нужный язык самостоятельно и обучаясь в университете. Каждый вариант дополняет предыдущий. Лучше всего совмещать сразу несколько способов обучения, т.к. Backend-разработка имеет комплексный подход. Не лишним будет получить базовое образование в вузе, но этот момент не обязателен. Если решитесь получать высшее образование по этому направлению, лучше выбирать факультет прикладной информатики. Но это лишь часть большого объема знаний Backend-разработчика. Даже в этом случае лучше дополнительно пройти курсы по нужному направлению. Онлайн-образование и самообразование – самые выгодные позиции в данном случае. Первое поможет получить необходимые и актуальные знания и трудоустроиться в хорошую компанию. Ну а без самообразования никуда. Сейчас работодателям не так важны образование кандидата, важнее опыт, интеллект и умение самостоятельно учиться новому. Backend-разработка подходит тем, кто интересуется написанием кода, увлечен технологиями и хочет хорошо зарабатывать. Есть множество способов получить навыки Backend-разработчика, необходимые для трудоустройства. Куда важнее ваша мотивация и самодисциплина. Именно эти составляющие помогут стать востребованным Backend-разработчиком.

Читать еще:

Статистика: IT-сфера в 2023-2024

Мы собрали мировую статистику о развитии отрасли разработки программного обеспечения в 2023 году. Вместе с карьерным консультантом Kata Academy оцениваем, какие изменения произойдут в российской IT-сфере в 2024 году.

Как выделить время на самообучение программисту: 7 эффективных способов

Не хватает времени на самообразование из-за работы? Узнайте способы найти программисту время на самообучение в блоге Kata Academy.

Как стать лучшим программистом? 5 советов

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

Как начать карьеру программиста без опыта работы?

Эта статья поможет понять, какие шаги необходимо предпринять, чтобы стать успешным программистом без опыта.

Backend-разработчик: кто это, как им стать и сколько он зарабатывает

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

Кто такой backend-разработчик и чем он занимается

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

Обязанности бэкэнд-разработчика — работа с админкой сайта, базами данных и всей внутренней архитектурой проекта. Если пользователь заходит в интернет-магазин и делает покупку, именно backend делает так, чтобы сайт правильно определял карту пользователя и его данные. Или если компания подключает сторонний сервис к своей CRM по API, все технические работы проводит именно backend-программист.

Читайте также:
Что такое Frontend и Backend разработка: в чем их отличия

Что нужно знать для работы backend-разработчиком

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

Для работы в backend необходимо разбираться и уверенно использовать:

  • Языки серверного программирования, чтобы внедрять сценарии использования сайта: PHP, Ruby, Python, Java, Go и другие.
  • MySQL и другие системы для управления базами данных.
  • Фреймворки для того, чтобы продолжать проект на собственном коде: Ruby on Rails, Yii, Django или другие.
  • Стеки протоколов TCP/IP, HTTP для передачи данных и обмена информацией.
  • Систему отслеживания изменения GIT (распределенная система управления версиями), чтобы знать, как менялся код в проекте, над которым работает команда разработчиков.
  • Все ИТ-алгоритмы, чтобы получать нужный результат в работе.

Навыки выше относятся к Hard Skills, то есть без них просто не получится работать. Но, кроме этого, есть и Soft Skills, которые помогут найти хорошую работу и развиваться в профессии:

  • Английский язык. Язык поможет получить работу в иностранном проекте, тем более в IT можно работать удаленно. Английский нужен, чтобы легко поддерживать коммуникацию на профессиональном уровне, а не только общаться на бытовые темы. Язык также поможет быть в курсе всех актуальных тенденций в профессии, так как новые материалы часто выходят на иностранных ресурсах.
  • Любопытство. Технологии активно развиваются и меняются. Нужно постоянно повышать свой уровень знаний, чтобы быть востребованным backend-разработчиком.
  • Коммуникабельность.Чаще всего над проектами работает команда разных специалистов: продакты, дизайнеры, фронтенды и другие. Нужно уметь доносить свою мысль, идеи и вносить предложения, чтобы проект был эффективным и работающим.
  • Дисциплина. Нужно соблюдать дедлайны и вовремя сдавать все поставленные задачи. Вряд ли получится работать без этого навыка.

Читайте также:
Как пользоваться Git: гайд для новичков

Зарплата backend-разработчика

Если заглянуть на HH, то на ресурсе почти 2 000 вакансий для backend-разработчиков. На специализированном ресурсе «Хабр Карьера» можно найти почти 1 000 подобных предложений.

Зарплатная вилка находится между 70 и 300 тысячами рублей. И оплата зависит от уровня специалистов. В backend, как и у других разработчиков, различают 3 уровня:

1. Junior

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

Требования для Junior c зарплатой в 80 000 рублей

2. Middle

Уверенно владеет языками программирования и работает с фреймворками. Такие специалисты самостоятельно выполняют несложные задачи на проектах без контроля более опытных коллег.

Требования и зарплата Middle-backend в Казани

3. Senior

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

Если понимаете, что требует этот работодатель, то можете получать 300 000 рублей в месяц

Еще нужно учитывать, что зарплаты в IT зависят от компании и региона. Например, Junior в Пензе может получать в офисе 50 тысяч рублей, а в Москве такому специалисту сразу предложат 80 тысяч и более. С другой стороны, backend-разработчик может спокойно работать удаленно, поэтому даже начинающие разработчики могут найти работу в столичной компании.

Зарплатная вилка для Senior-backend находится между 200 и 300 тысячами рублей. Здесь все зависит от уровня и опыта специалиста. Плюс важен и уровень компании. Если это федеральный проект, там предложат больше, чем в региональной студии. А еще такие специалисты могут найти работу в иностранных компаниях, но тут важен хороший уровень английского языка.

Кстати, если изучать вакансии для backend, то можно встретить объявления, где зарплата указана в долларах. Скорее всего, эти проекты базируются в России, но продолжают работать с иностранными заказчиками. Плюс некоторые компании релоцировались в другие страны, но продолжают набор сотрудников из России. Они тоже указывают зарплату в валюте.

Московский работодатель, но зарплата в долларах

Где искать работу backend-разработчиком? Если говорить про работодателей, этих специалистов ищут все, кто занимается IT-разработкой или внедрением:

  • Банки.
  • ИТ-департаменты государственных структур и корпораций.
  • Студии разработки.
  • ИТ-интеграторы.
  • Разработчики сервисов и SaaS-решений.

Читайте также:
Работа в digital: разбираем 16 самых популярных профессий

Плюсы и минусы профессии backend-разработчика

Плюсы

  • Востребованность профессии. На рынке сотни актуальных вакансий и средняя зарплата больше 100 тысяч рублей. Нейросети пока не способны заменить backend-разработчиков, и в ближайшие годы спрос на таких специалистов не упадет. Поэтому можно спокойно работать. Если говорить про Россию, то в 2023 году стало понятно, что в стране не хватает опытных айтишников. В перспективе будет много проектов, где понадобятся толковые backend-разработчики.
  • IT-ипотека. В большинстве случаев, разработчики получают белую зарплату, а это дает возможность участвовать в ИТ-ипотеке, чтобы взять кредит на квартиру под 5 %. В условиях этой программы прописано, что зарплата должна быть более 100 тысяч рублей.
  • Работа из любой точки планеты. В ИТ развита удаленная работа и фриланс. Не обязательно куда-то уезжать, чтобы получить высокооплачиваемую и интересную работу. Причем можно спокойно работать и на иностранные компании.

Минусы

  • Постоянные изменения. Нужно всегда развиваться и осваивать новые языки программирования, фреймворки, стеки и все остальное. Это позволит оставаться актуальным и востребованным специалистом. Backend — это работа, где идет постоянное совершенствование.
  • Ответственность. Работать придется на сложных проектах, где велика цена ошибки. Например, если backend допустит ошибки в базе данных финансового сервиса, а они окажутся в руках мошенников, это станет большой проблемой. Поэтому предстоит быть внимательным и осторожным, а также контролировать каждое свое действие.
  • В деле только технари. А еще такая работа больше подходит людям с техническим складом ума. Конечно, гуманитарии иногда осваивают ИТ, но работа в backend, скорее всего, им не подойдет, так как нужны глубокие знания в программировании.

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

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

Высшее образование

Кафедры для программистов есть в МФТИ и МИФИ, а также в региональных вузах. Есть возможность пройти обучение за счет бюджета, но даже после обучения в вузе придется активно заниматься самообразованием. В учебных заведениях вы получите довольно общую информацию, а глубокие навыки придется приобретать на практике.

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

В ИТ довольно легко относятся к отсутствию профильного образования. Поэтому backend-разработчиком реально стать без обучения в университете и достаточно пройти онлайн-курсы. Обучение проводят Нетология, SkillFactory, HTML Academy и Loftschool.

Например, основы backend-разработки можно пройти за 3 месяца, но организаторы предупреждают, что нужны минимальные знания в программировании. Стоит такой курс меньше 30 тысяч рублей. Студенты в процессе обучения получают проекты в портфолио и возможность получить работу с зарплатой от 50-60 тысяч рублей.

Есть и более короткие курсы, которые помогут освоить отдельные направления в backend. Это подходит для тех, начал работать в ИТ и поэтапно получает новые навыки. Например, фреймворк Node.js или комплексный курс по PHP. Подобное обучение можно пройти за 1,5 месяца.

Самообразование

Перед обучением лучше самостоятельно освоить какую-то ИТ-базу, чтобы примерно понимать, чем предстоит заниматься. Например, языки программирования, алгоритмы и стеки протоколов. Материалы можно найти на специальных ресурсах, а также в сообществах разработчиков в соцсетях. Например, в «ITc» и «Библиотеке программиста». Самостоятельное изучение материалов поможет и в будущем. Это научит заниматься самообразованием, без которого вряд ли получится статья грамотным backend-разработчиком.

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

«Совершенный код», автор С. Макконнелл

Книга поможет разобраться во всех аспектах программирования

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

«Создание микросервисов», автор Сэм Ньюмен

Книга научит взаимодействию разных систем

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

«Идеальный программист. Как стать профессионалом разработки ПО», автор Р. Мартин

Идеальных не бывает, но нужно стремиться стать таким

Практические советы, которые помогут стать профессионалом, который создает качественные ИТ-продукты.

«Рефакторинг. Улучшение проекта существующего кода», автор М. Фаулер

Автор использует Java для примеров, но книга будет понятна всем

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

Менторство

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

Читайте также:
15 лучших книг для программистов: чтобы читать и понимать код

Коротко о главном

  • Backend-разработчик работает с внутренней и серверной частью сайта, приложения или сервиса. Его работа не видна пользователю.
  • Для работы нужны глубокие знания в языках программирования, фреймворках, стеках протоколах и управлении базами данных.
  • Backend-разработчик — востребованная работа. На специализированных ресурсах есть сотни актуальных вакансий. Начинающий специалист зарабатывает 50-80 тысяч, а более опытные от 100 до 300 тысяч рублей. Суммы зависят от региона и уровня компании. Но можно работать удаленно из любой точки планеты.
  • Для работы не обязательно получать высшее образование. Можно освоить специальность самостоятельно, на онлайн-курсах или с помощью менторов.

Присоединяйтесь к нашему Telegram-каналу!

  • Теперь Вы можете читать последние новости из мира интернет-маркетинга в мессенджере Telegram на своём мобильном телефоне.
  • Для этого вам необходимо подписаться на наш канал.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *