Что выбрать — frontend или backend

Объясняем, что такое фронтенд- и бэкенд-разработка и что выбрать в 2021 году
5 минут4542

В веб-разработке два пути — frontend и backend. Есть ещё «срединный», объединяющих их — fullstack, но всё равно надо с чего-то начинать. В этом году, как и всегда, лучше выбирать то, что нравится. Эта статья поможет определиться.

Содержание:

В чём разница

Фронтенд

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

Бэкенд

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

Типичные задачи

Фронтенд

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

Работа с SPA (Single Page Application). Разработка SPA и реализация отдельных фич зачастую требуются в продуктовой разработке. Например, для банковского приложения это может быть создание калькулятора, изменяемых графиков, конвертеров валют. 

Бэкенд

Создание CRUD (акроним от англ. create, read, update, delete). Самая простая задача. Например, если на сайте создаётся профиль пользователя, то бэку нужно написать код, который позволит сохранять изменения, возвращать профиль, а также его удалять.

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

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

Необходимый минимум знаний

Фронтенд

База. Для создания простых посадочных страниц достаточно изучить:

  • HTML (HyperText Markup Language) — язык разметки, который сообщает браузеру, что за элементы содержатся на странице. Например, заголовки, параграфы, картинки.
  • CSS (Cascading Style Sheets) — сообщает браузеру, как именно отображать элементы, содержащиеся на странице. Например, «текст заголовка должен быть ярко-красным и написан шрифтом Comic Sans». 
  • Препроцессоры — программы, расширяющие возможности чистого CSS. Самые популярные: SASS, LESS.
  • JavaScript — язык программирования, который необходим для «оживления» интерфейса: общения с сервером, валидации форм, открытия попапов.

Фреймворки. Чтобы разрабатывать динамичные страницы и более сложные SPA, нужно освоить хотя бы один JS-фреймворк. Сейчас наиболее актуальны:

  • React. Самая популярная JS-библиотека создана Facebook в 2013 году. React отлично подходит для создания простых SPA.
  • Angular. Фреймворк, в котором много всего из коробки, что позволяет делать более сложные архитектуры. Его любят использовать для CRM, табличек, где много логики.
  • Vue. Фреймворк — открытие последних лет. Отлично подходит для создания высокопроизводительных приложений. Он очень популярен на азиатском рынке. Например, широко используется Alibaba и Xiaomi.

Бэкенд

База. Необходимый минимум для джуна:

  • Язык программирования. Оптимальный вариант, который позволит в случае чего мигрировать во фронт — JavaScript. Также уверенно в бэке веба себя чувствуют Go, PHP, Java и Python. 
  • Git. Система контроля версий, которая позволяет возвращаться к предыдущим версиям кода. С ней придётся работать практически на любом языке и в любой команде.
  • Базы данных. Сложно представить проект, где они не нужны. Базы бывают двух категорий — реляционные и нереляционные. Лучше начинать с реляционных, выбирать что-то из популярных — MySQL или PostgreSQL. Для начала будет достаточно знания хотя бы одной.
  • API. Нужно иметь хотя бы общее представление о том, какие они бывают. Знать, что такое REST, чтобы правильно его писать. Познакомиться с JSON:API.

Фреймворки. При использовании Go во фреймворках нет необходимости, для остальных языков сейчас актуальны такие:

  • Node.js для JavaScript. Node — опенсорсный проект, объединивший большое комьюнити разработчиков. Это мощный инструмент, освоив который, при желании можно пойти и в микросервисы. Paypal, Uber, eBay работают на этом фреймворке. 
  • Symfony и Laravel для PHP. Laravel чуть популярнее и пользуется большим спросом на рынке труда. Но Symfony считается более строгим и правильным, поэтому выучив его, можно легко мигрировать на Laravel.
  • Django для Python. Лучший веб-фреймворк для этого языка. Его используют Pinterest и Spotify.
  • Spring для Java. Универсальный фреймворк с собственной MVC-платформой и открытым исходным кодом.

Где брать знания

Фронтенд

  • Документация. Например, developer.mozilla.org.
  • На Youtube HTML, CSS, JavaScript хорошо объясняет Владилен Минин. У него есть ролики и для начинающих, и для более продвинутого уровня по нюансам и более сложным технологиям.
  • Javascript.ru — огромный современный онлайн-учебник по JavaScript.
  • CSS Tricks — полезный ресурс для тех, кто знает английский.
  • На Udemy хороший курс по React читает Максимилиан Шварцмюллер, тоже на английском.
  • Факультет frontend-разработки — для тех, кому интересно обучение с гарантией трудоустройства.

Бэкенд

Зарплаты

В целом фронт и бэк не сильно отличаются по зарплате, если мы говорим именно о фронтэнде, а не о вёрстке. Но всё-таки бэк немного выигрывает по деньгам.

Фронтенд

В среднем по данным hh.ru на рынке труда здесь такие цифры:

  • Junior — от 20 000 (в регионах) до 70 000 рублей
  • Middle — от 50 000 до 300 000 рублей
  • Senior — от 100 000 рублей до 550 000 рублей

Бэкенд

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

  • Junior — от 40 000 до 100 000 рублей
  • Middle — от 60 000 до 350 000 рублей
  • Senior — от 120 000 до 600 000 рублей

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

Что же выбрать

Фронтенд 

Идеальный выбор, если:

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

Анна Русяева, преподаватель по фронтенду:

«Я выбрала фронт, потому что он проще и динамичнее, чем бэк. Это работа с интерфейсами, поэтому ты делаешь и практически сразу видишь результат. Я работала на C++, знаю C#, Java пробовала, и мне не очень понравилось — сложно и скучно».

Бэкенд 

Это ваш выбор, если:

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

Илья Зобенько, преподаватель по бэкенду:           

«Я писал на PHP и всё по классике шло в fullstack, но вёрстка меня просто вымораживала. Именно вёрстка, ведь фронтовые штуки (React, Vue) классные. Но всё равно больше удовольствия я получал, когда прорабатывал бэк, поэтому постепенно смещался туда и благо успешно.

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

Ещё не определились? Вас может заинтересовать программа «Разработчик», которая даёт базу для максимально осознанного выбора направления в IT и позволяет открыть свой бизнес в этой сфере.

программированиеbackend-разработкаfrontend-разработчика
Нашли ошибку в тексте? Напишите нам.
Спасибо,
что читаете наш блог!