Back end разработчик пишет внутреннюю логику веб-приложения. Это может быть что угодно: запросы в базу данных о наличии товара, обработка оплаты, возврат выдачи поиска на сайте и так далее. Профессия backend developer крайне востребована, поскольку внутреннюю составляющую любого более-менее крупного проекта нужно писать руками, освойте профессию – и вы никогда не останетесь без работы. Ниже – о том, чем именно разработчик занимается, что ему нужно знать, почему вакансия «java developer» так популярна и сколько зарабатывает ведущий разработчик.
Как мы уже сказали, backend разработчиком можно стать в любой компании, в которой есть более-менее крупное веб-приложение. Для того, чтобы объяснить востребованность профессии, мы приведем следующий пример: предположим, есть сайт по продаже галош. Сами галоши лежат на складе юрлица, а потенциальные покупатели сидят дома на ноутбуками и вбивают в поиск «купить галоши недорого Москва». Маркетинг мы опустим, сразу перейдем к тому, что наш сайт – ТОП-1 в РФ, и на него ежедневно заходит множество пользователей, желающих купить модные разноцветные галоши на скидке или без нее.
Итак, из чего должен состоять наш сайт?
Профессия backend-разработчика полностью забирает себе последний пункт списка. Хороший программист делает так, чтобы невидимые скрипты делали основную работу, которая превращает бизнес в бизнес: что-то высчитывает, что-то обновляет в базе данных, создает новую информацию (то же поручение курьерам), уточняет текущую информацию и так далее. Все это – логика бизнеса, которую нужно отразить кодом. Поэтому профессия и востребована – у любого бизнеса есть бизнес-логика, и везде ее нужно переносить в код. Исключения – готовые сервисы вроде Tilda, в которых бизнес-логика прописана внутри изначально. Но крупные проекты по финансовым соображениям обычно создают свои собственные платформы, и для каждой такой платформы нужен свой бэкенд.
Из этого следует неочевидный вывод о том, что бэкенд бэкенду – рознь. Профессия бэкенд-разработчика – понятие довольно размытое, потому что в нем нет конкретных деталей. Одни бэкенды занимаются исключительно взаимодействием с базами данных, другие пишут кросс-серверный код, третьи пишут алгоритмы для парсинга данных, четвертые полностью тащат на себе всю инфраструктуру небольшого веб-приложения. Для того, чтобы как-то «упорядочить» бэкендов, чаще всего используется разбивка по языкам программирования и технологиям – ниже мы приведем описания основных.
Если backend-разработчик выполняет задачи, связанные со внутренней логикой веб-приложения, то фронты занимаются конкретно «лицевой» частью этого приложения. И здесь есть одно заблуждение – нужно разделять внешний вид и функционал внешнего вида. Внешний вид – это непосредственно картинки, формочки и кнопочки. Функционал внешнего вида – это масштабирование картинок для разных экранов, проверка правильности введенных данных в формочках и запросы к серверу по нажатию кнопочек. Фронтенд занимается и тем, и тем, но функционал внешнего вида зачастую отнимает больше сил и времени, чем сам внешний вид.
Это – материал о профессии backend-разработчик, поэтому глубоко вдаваться в жизнь фронтов мы не будем. Но есть одна вещь, о которой обязательно нужно рассказать – API. API – это интерфейс взаимодействия внешней и внутренней части веб-приложения. Когда фронтэнд-разработчик пишет функционал для кнопки добавления в корзину, ему нужно:
Когда бэкенд-разработчик пишет функционал для корзины, ему нужно:
А теперь давайте посмотрим, что здесь может пойти не так:
На эти, как и на многие другие вопросы, должен отвечать API. Запрос выглядит как «add_to_cart [username] [item]», дополнительно нужно послать на сервер номер телефона и почту, валидность проверяем пополам, ошибки генерируются на стороне сервера и имеют числовые коды, все сценарии-коды-обработки ошибок прописываются в отдельном документе. Что здесь самое важное – кроме навыков программирования бэкенд-разработчику понадобятся еще и навыки коммуникации, потому что API нужно согласовывать с другими разработчиками.
И поэтому хорошему бэкенду желательно в общих чертах знать, как устроен фронтенд – тогда договориться будет намного легче.
Средние требования по грейду:
Интерн | Джун | Миддл | Сеньор | Лид |
Любой «серверный» язык программирования | Предыдущее + SQL + Git | Предыдущее + концепция и применение ООП + SOLID + паттерны проектирования | Предыдущее + узкоспецифичные знания – тонкости работы конкретного компилятора, редкие фреймворки и так далее | Предыдущее + глубокое понимание бизнес-логики |
Сейчас все чаще требуются скилы, связанные с инфраструктурой: Linux, Docker, Kubernetes, Terraform, Ansible и прочее.
Но хорошо разбираться в них должен DevOps, бэкенду достаточно знать, что они делают.
Что касается непосредственно языков, то «в ходу» сейчас следующие:
Школа |
Нетология |
Стоимость |
107 500 руб |
Цена в рассрочку |
3 143 руб/мес |
Длительность курса |
13.5 месяцев |
Программа трудоустройства |
Есть |
Формат |
Запись лекций, Онлайн занятия с преподавателем |
Школа |
Skillfactory |
Стоимость |
105 717 руб |
Цена в рассрочку |
3 263 руб/мес |
Длительность курса |
12 месяцев |
Программа трудоустройства |
Есть |
Формат |
Запись лекций, Онлайн занятия с преподавателем |
Школа |
Skillbox |
Стоимость |
156 277 руб |
Цена в рассрочку |
5 041 руб/мес |
Длительность курса |
6 месяцев |
Программа трудоустройства |
Отсутствует |
Формат |
Запись лекций |
Школа |
Нетология |
Стоимость |
98 600 руб |
Цена в рассрочку |
2 883 руб/мес |
Длительность курса |
8 месяцев |
Программа трудоустройства |
Есть |
Формат |
Запись лекций, Онлайн занятия с преподавателем |
Школа |
Skillfactory |
Стоимость |
131 235 руб |
Цена в рассрочку |
4 050 руб/мес |
Длительность курса |
14 месяцев |
Программа трудоустройства |
Есть |
Формат |
Запись лекций, Онлайн занятия с преподавателем |
Школа |
Skillbox |
Стоимость |
96 439 руб |
Цена в рассрочку |
4 384 руб/мес |
Длительность курса |
10 месяцев |
Программа трудоустройства |
Есть |
Формат |
Запись лекций |
Школа |
Нетология |
Стоимость |
107 500 руб |
Цена в рассрочку |
3 143 руб/мес |
Длительность курса |
13.5 месяцев |
Программа трудоустройства |
Есть |
Формат |
Запись лекций, Онлайн занятия с преподавателем |
Школа |
Skillfactory |
Стоимость |
105 717 руб |
Цена в рассрочку |
3 263 руб/мес |
Длительность курса |
12 месяцев |
Программа трудоустройства |
Есть |
Формат |
Запись лекций, Онлайн занятия с преподавателем |
Школа |
Skillbox |
Стоимость |
156 277 руб |
Цена в рассрочку |
5 041 руб/мес |
Длительность курса |
6 месяцев |
Программа трудоустройства |
Отсутствует |
Формат |
Запись лекций |
Школа |
Нетология |
Стоимость |
82 700 руб |
Цена в рассрочку |
3 625 руб/мес |
Длительность курса |
7.5 месяцев |
Программа трудоустройства |
Есть |
Формат |
Запись лекций, Онлайн занятия с преподавателем |
Школа |
Skillfactory |
Стоимость |
123 655 руб |
Цена в рассрочку |
3 817 руб/мес |
Длительность курса |
10 месяцев |
Программа трудоустройства |
Есть |
Формат |
Запись лекций, Онлайн занятия с преподавателем |
Школа |
Skillbox |
Стоимость |
154 392 руб |
Цена в рассрочку |
4 980 руб/мес |
Длительность курса |
10 месяцев |
Программа трудоустройства |
Есть |
Формат |
Запись лекций, Онлайн занятия с преподавателем |
Школа |
Хекслет |
Стоимость |
58 000 руб |
Цена в рассрочку |
5 402 руб/мес |
Длительность курса |
5 месяцев |
Программа трудоустройства |
Есть |
Формат |
Запись лекций, Онлайн занятия с преподавателем |
Школа |
Нетология |
Стоимость |
81 700 руб |
Цена в рассрочку |
3 585 руб/мес |
Длительность курса |
11.5 месяцев |
Программа трудоустройства |
Есть |
Формат |
Запись лекций, Онлайн занятия с преподавателем |
Школа |
Skillfactory |
Стоимость |
149 376 руб |
Цена в рассрочку |
4 610 руб/мес |
Длительность курса |
20 месяцев |
Программа трудоустройства |
Есть |
Формат |
Запись лекций, Онлайн занятия с преподавателем |
Школа |
Skillbox |
Стоимость |
57 733 руб |
Цена в рассрочку |
4 811 руб/мес |
Длительность курса |
3 месяца |
Программа трудоустройства |
Отсутствует |
Формат |
Запись лекций |
Школа |
Нетология |
Стоимость |
169 100 руб |
Цена в рассрочку |
4 945 руб/мес |
Длительность курса |
21.5 месяц |
Программа трудоустройства |
Есть |
Формат |
Запись лекций, Онлайн занятия с преподавателем |
Школа |
Skillfactory |
Стоимость |
149 376 руб |
Цена в рассрочку |
4 610 руб/мес |
Длительность курса |
20 месяцев |
Программа трудоустройства |
Есть |
Формат |
Запись лекций, Онлайн занятия с преподавателем |
Школа |
Skillbox |
Стоимость |
96 439 руб |
Цена в рассрочку |
4 384 руб/мес |
Длительность курса |
10 месяцев |
Программа трудоустройства |
Есть |
Формат |
Запись лекций |
Что касается основных технологий:
Основные должностные обязанности: разрабатывать новую инфраструктуру и поддерживать существующую. Конкретные задачи зависят от проекта: где-то надо часто создавать и изменять базы данных, где-то разработчиков привлекают для создания сайтов, где-то разработчик отвечает исключительно за исправление багов. Если рассматривать бэкенд с точки зрения интересной профессии, то можно без проблем найти работу по душе, поскольку проектов и возможностей для самореализации – более чем достаточно.
Если смотреть на отзывы, то основное личное качество – это коммуникабельность. Разработчик может владеть любым инструментом в мире, но если он не может синхронизировать свою работу с работой команды – он будет приносить очень много проблем. Сейчас приложения в одиночку практически не разрабатываются – «маленькое» приложение тянет до полугода времени и до 10 человек в команде.
И, как вы может помнить из нашего рассказа про API выше, эти люди постоянно вынуждены что-то согласовывать.
Основной стек языков/технологий мы уже рассмотрели выше. К нему можно добавить знания бизнес-логики, поскольку бэкенд-разработчик обычно ее и реализует. На реальной работе вы будете работать по ТЗ, и ТЗ далеко не всегда будут идеальными. Иногда будут пробелы в описаниях, иногда будут логические ошибки, иногда четкого ТЗ вообще не будет. Вам нужно будет самостоятельно разбираться в том, чего от вас хотят, и иногда самостоятельно генерировать и предлагать прибыльные идеи. А чтобы генерировать и предлагать их, вам нужно понимать, как работает бизнес.
По запросу Backend на hh.ru можно найти 4 988 вакансий. Зарплата указана только у 1 713, потому что в IT частой практикой является обсуждение зарплаты непосредственно на собеседовании. Из указанных зарплат – у 1 478 вакансий доход начинается от 90 000 рублей, от 450 000 рублей доход начинается у 57 вакансий. По языку программирования – ищут самых разных девелоперов.
В бэкенд разработку берут как новичков, так и Middle/Senior, но вакансий для джунов, как всегда, на порядок меньше (хотя все равно хватает).
Из плюсов:
Из минусов:
Начинающие специалисты обычно сталкиваются с ошеломляющим масштабом технологий, проектов и возможных решений. Их действительно много, и зачастую непонятно, с какой стороны вообще подходить к сложным задачам. Когда разработчик получает опыт (который решает эту проблему), сами проблемы становятся более высокоуровневыми: как оптимизировать приложение, как наделать меньше багов, какой паттерн лучше выбрать и так далее. Программисты высоких уровней, которые уже умеют работать со всеми этими вопросами, сталкиваются с совсем другой проблемой: где можно зарабатывать хорошие деньги?
Поскольку Senior умеют выполнять самые сложные задачи, владеют большим стеком технических навыков и опытом разработки, их готовы с руками и ногами забирать в любую компанию, поэтому вопрос заработка/интересного проекта/соцпакета становится самым сложным.
Школа |
Нетология |
Стоимость |
82 700 руб |
Цена в рассрочку |
3 625 руб/мес |
Длительность курса |
7.5 месяцев |
Программа трудоустройства |
Есть |
Формат |
Запись лекций, Онлайн занятия с преподавателем |
Школа |
Skillfactory |
Стоимость |
131 235 руб |
Цена в рассрочку |
4 050 руб/мес |
Длительность курса |
14 месяцев |
Программа трудоустройства |
Есть |
Формат |
Запись лекций, Онлайн занятия с преподавателем |
Школа |
Skillbox |
Стоимость |
123 964 руб |
Цена в рассрочку |
3 646 руб/мес |
Длительность курса |
8 месяцев |
Программа трудоустройства |
Есть |
Формат |
Запись лекций, Онлайн занятия с преподавателем |
Порог вхождения | Учат с нуля |
Длительность | 5 недель |
Небольшой вводный курс по Джаве – синтаксис, объекты, ООП, API и другие базовые вещи.
Порог вхождения | Учат с нуля |
Длительность | 18 часов |
То же, что и предыдущий курс, только на русском.
Порог вхождения | Учат с нуля |
Длительность | 23 часа |
Основной упор на курсе сделан конкретно на синтаксис языка и базовые управляющие конструкции.
И да, и нет. Такие специальности есть, но ВУЗы довольно медлительны в плане изменения учебной программы, поэтому знания, которые они дают, очень быстро устаревают. Ученик, прошедший 4-5 лет ВУЗа, идет после обучения работать джуном.
Ученик, прошедший годовые платные курсы, тоже идет работать джуном, но тратит на обучение и меньше денег, и меньше времени.
Первое, что вам нужно – это резюме на LinkedIn. В резюме желательно указать пет-проекты и/или дипломные проекты, которые нужно залить на Гитхаб – так рекрутер сможет посмотреть на ваш код. Составили резюме – рассылайте его повсюду. Искать вакансии можно где угодно: hh.ru, паблики соцсетей, каналы в Телеграм, какие-нибудь специализированные форумы. В 2022 году очень сильно помогает активность в LinkedIn – пишите посты о своем тяжелом пути джуна, старайтесь получить как можно больше репостов. Ваша цель – охватить как можно больше HRов и податься на максимальное число вакансий. Поиск первой работы может занимать месяц-два.
Нет. Если нужно написать какой-то сложный алгоритм – в 99.99% случаев это уже сделали за вас и выложили решение на StackOverflow. Вам нужно только найти этот алгоритм.
Нужно как минимум уметь читать техническую литературу. Английский – это довольно важный скилл для любого разработчика, поскольку на нем написана вся свежая документация и огромное количество решений типовых вопросов.
Тезисно: