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

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

Освойте профессию
«Fullstack-разработчик на Python»
Backend-разработчики отвечают за внутренние процессы приложений и сайтов, выстраивают обмен данными, находят системы для управления и хранения информации, обеспечивают высокую производительность при минимальном количестве сбоев. Эксперты отвечают на вопрос о том, как стать таким специалистом.
Какая удаленная профессия ваша?
Пройдите профориентационный тест
и получите доступ к библиотеке
полезного контента
Пройти тест

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

Алексей Шарыпов,
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
Такой специалист работает под контролем более опытных коллег, которые смотрят и правят его код. Джуны разбираются в базе данных и выполняют самые простые задачи на проекте.

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

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

Еще нужно учитывать, что зарплаты в 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-разработчика.
«Совершенный код», автор С. Макконнелл

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

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

Практические советы, которые помогут стать профессионалом, который создает качественные ИТ-продукты.
«Рефакторинг. Улучшение проекта существующего кода», автор М. Фаулер

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

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