Кто такой бэкенд-разработчик и чем он занимается, чтобы зарабатывать до $7 тыс
Кто такой бэкенд-разработчик и чем он занимается, чтобы зарабатывать до $7 тыс

Кто такой бэкенд-разработчик и чем он занимается, чтобы зарабатывать до $7 тыс

Работа в IT – это возможность быть востребованным специалистом, работать удаленно и хорошо зарабатывать. Стас Шихов, генеральный директор рекрутингового агентства ITExpert, пишет, что хорошие разработчики получают по 200 рабочих предложений в день.

Прямо сейчас по запросу backend на Djinni 469 вакансий, на DOU, в разделе PHP (один из популярных языков программирования для бэкенд-разработчика. – Прим. ред.), 453 вакансии. При этом большинство вакансий либо полностью удаленные, либо совмещают офис и удаленную работу, зарплаты доходят до $4–5 тыс.

Редакция MC.today разобралась, чем занимается бекэнд-разработчик, что нужно знать, чтобы им стать, и сколько можно зарабатывать.


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

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

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

Можно встретить сравнение фронтенда с верхушкой айсберга, а бэкенда – с его подводной частью.

Вот чем занимаются backend-разработчики:

  • строят системную архитектуру;
  • управляют ресурсами, например, API (application programming interface – программный интерфейс приложения. – Прим. ред.) и базами данных;
  • организуют системную логику;
  • интегрируют облачные вычисления.

Программист Виталий Карнаух в своем видеоблоге называет такие задачи для бэкенд-разработчика:

  • Сохранять данные в базу данных. Когда фронтенд-часть сайта передает какие-то данные на сервер, бэкенду нужно эти данные получить и сохранить. Например, вы можете добавить товары в корзину на сайте и закрыть его. При этом, если вы заново откроете сайт с компьютера или смартфона, ваша корзина сохранится – это задача бэкенд-разработки.
  • Обрабатывать бизнес-логику. Например, пользователь регистрируется на сайте, вводит свое имя и пароль. Задача бэкенд-разработчика в этом случае – сделать так, чтобы данные корректно отправились на сервер, зашифровались и сохранились. После этого нужно отправить ответ пользователю об успешной регистрации или, например, ссылку, по которой нужно активировать аккаунт. А в конце регистрации дать ответ фронтенд-части, что все прошло успешно, или выдать ошибку, если что-то пошло не так.
  • Работать с данными. Например, вы заходите в личный кабинет и хотите посмотреть свою информацию. Часто бывает так, что данные хранятся в разных базах. Например, ваши имя и фамилия будут в одной базе, адрес электронной почты – в другой, а список заказов – в третьей. Задача бэкенд-разработчика – корректно собрать эти данные из всех источников и «отдать» фронтенд-части, чтобы пользователь увидел свой профиль.

Дмитрий Соколов, Java Trainer & Mentor | Lead Software Developer в BecomeJavaSenior, говорит, что уметь писать код уже недостаточно. Он описывает типичный день бэкенд-разработчика на Java вот так:

  1. Настроить сервисы удаленного сервера через консоль.
  2. Проверить почту и систему ведения проектов, определить с коллегами срочные задачи.
  3. Изучить новый фреймворк (программная платформа. – Прим. ред.) и применить его на практике.
  4. Исправить ошибку, которую нашли тестировщики.
  5. Ответить заказчику устно или письменно.
  6. Обсудить с командой планы, проблемы и идеи.
  7. Помочь новичкам, если нужно.
  8. Пообщаться с другими командами, если над проектом работает больше одной команды. Это может быть взаимодействие с отделом фронтенд, например.
  9. Следить за состоянием серверов.
  10. Продумывать архитектуру системы или ее отдельные компоненты.

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

Columbia Engineering Boot Camps называет девять главных навыков для бэкенд-разработчика:

  1. Python.
  2. Java.
  3. PHP.
  4. SQL.
  5. Git.
  6. HTML.
  7. CSS.
  8. JavaScript.
  9. Коммуникативные навыки.

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

  1. Java – он часто используется в крупных проектах и больших компаниях. Например, в сфере финансов или здоровья. Java на рынке больше 15 лет, и для него есть много разных инструментов, которые пригодятся в работе.
  2. Python – более молодой язык программирования. Он часто используется в работе с искусственным интеллектом.
  3. Node.js – язык, который часто используют для стартапов. Он легок в изучении, но не подходит для больших проектов.
  4. С# – язык, разработанный компанией Microsoft, главный конкурент Java.

IT-специалист Женя Андриканич называет такие навыки:

  • языки программирования Python, PHP, Ruby, Java;
  • знание баз данных, языка SQL и архитектур;
  • знание аппаратной части (сервера).

Среди важных личных качеств для бэкенд-разработчика называют:

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

Нужно ли бэкенд-разработчику знать английский язык

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

Что касается вакансий, для позиции начинающего разработчика требуют уровень Intermediate: 

Для разработчиков уровней Middle и Senior нужен Upper Intermediate или свободный письменный и устный английский:

В DOU выяснили, что только 6% украинских разработчиков (software engineer) знают английский язык на самом высоком уровне Advanced. Большинство (43,6%) знают английский на уровне Intermediate.

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

Бэкенд-разработчик в США в среднем может зарабатывать $8548 в месяц.

Согласно ресурсу Indeed, в США лучшие компании для бэкенд-разработчика: Twitter, Atlassian, eBay, Capital One, Walmart и Gametime. В этих компаниях можно зарабатывать от $10,7 тыс. до $13,4 тыс. в месяц.

Сейчас на Djinni можно найти вакансии с переездом в другие страны. Например, опытный бэкенд-разработчик, который знает PHP, может переехать в Германию на зарплату $5,5–6,5 тыс. или в Прагу с зарплатой $2,5–3 тыс. 

Некоторые украинские разработчики переезжают в другие страны, работая в украинских компаниях. Например, DevOps-инженер Станислав Пидгаетский поехал работать в США по приглашению клиента. При таком переезде компания берет на себя оформление визы и другие расходы. Станислав рассказывает, что в его случае рабочая виза L1 «привязала» его к одной компании, где он быстро вырос как специалист, но не смог развиваться дальше. История Станислава закончилась возвращением в Киев.

Некоторые специалисты уезжают работать в другие страны самостоятельно. Например, львовский Java-разработчик Владимир Бондарчук переехал на Бали на пять месяцев. Он работает удаленно, но уехал по рабочей визе. По его подсчетам, на одного человека в месяц уходит $700. Сами билеты на Бали стоят $700–800. Поэтому Владимир говорит, что «джуну» переехать будет сложно, но у «мидла» и выше проблем не будет. 

В Украине средняя зарплата junior-специалиста – $850, middle может получать $2,3 тыс., а senior – $4 тыс.

Если сравнивать зарплату бэкенд-разработчика с другими программистами, можно увидеть, что зарплата senior-специалистов одинаковая, у middle отличается на $100–200, а у junior – на $50–150.

JuniorMiddleSenior
Backend$850$2300$4000
Frontend$750$2200$4000
Full-stack$800$2100$4000
Mobile$800$2325$4000
MCUS/
Embedded/
IoT
$950$2278$4000

Бывают зарплаты и выше. Например, зарплатная статистка на портале Djinni показывает, что есть разработчики, которые получают $5–7 тыс.

Для middle-позиции можно найти вакансии с зарплатой $2,5–3 тыс. Для этого нужно знать Python, уметь работать с базами данных PostgreSQL или их аналогами, плюсом будет опыт асинхронного программирования на Python и опыт работы с Docker/Kubernetes.

Для вакансии на $4–5 тыс. нужно 5+ лет опыта с бэкенд-разработке, 3+ лет опыта работы с Node.js, опыт работы с экосистемой AWS: ECS, CloudFront, CloudFormation, опыт работы с базами данных MongoDB, Elasticsearch, Redis и английский язык уровня Intermediate.

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

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

  1. Изучите структуры данных и алгоритмов. Большинство разработчиков пропускают этот шаг и переходят сразу к изучению языков и фреймворков, но для бэкенд-программиста важно знать основные структуры данных, алгоритмы поиска и сортировки.
  2. Изучите язык программирования. Если вы не знакомы с основами программирования, можно начать с языков Python, Java или C. Среди бэкенд-разработчиков больше всего популярны Python, PHP и Ruby. Можно как выбрать один язык и детально изучать его, так и взяться за несколько языков сразу.
  3. Изучите основы баз данных. Бэкенд-разработчик постоянно работает с базами данных, ведь сегодня практически у каждого сайта есть свое хранилище информации.
  4. Изучите фреймворк. Когда вы определитесь с основным языком программирования, на котором планируете работать, нужно выбрать фреймворк. Например, Django или Ruby-on-Rails. Фреймворки помогают ускорять работу за счет шаблонов, которые вы можете повторно использовать в своей работе.
  5. Практикуйтесь. Теория – это хорошо, но настоящий опыт в программировании можно получить только на практике. Вы можете создавать собственные небольшие проекты или устроиться в компанию, как trainee или junior-разработчик.
  6. Постоянно создавайте что-то новое. Не бойтесь экспериментировать и использовать новые подходы и технологии.

Курсы и полезные ресурсы для бэкенд-разработчика

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

Например, можно пройти сертификацию от IBM на Coursera Full Stack Cloud Developer, которая включает обучение и фронтенду, и бэкенду, курс «Обзор Frontend Backend технологий» на Udemy или Server-side Development with NodeJS, Express and MongoDB на Coursera.

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

Бэкенд-разработчику нужно уметь работать с данными, их хранением и обработкой. Значит, такой программист может стать data scientist или data engineer. Эти специалисты работают с big data – большими данными и обучают модели искусственного интеллекта. Еще можно стать DevOps-инженером, такой специалист работает с инфраструктурами, масштабирует проекты и приложения, ищет и устраняет слабые места в IT-системах.

Если говорить про будущее бэкенд-разработки, то среди трендов называют:

  • разделение фронтенд- и бэкенд-частей;
  • приложения без серверной части (serverless) – те, которые работают в облачной инфраструктуре; 
  • контейнеризацию – эта технология помогает быстрее развертывать и масштабировать приложения;
  • языки Python, Ruby и Erlang/Elixir.
Источник материала
loader