Разработчики. Простыми словами о «фронтенде» и «бэкенде»

«Frontend отвечает за то, как выглядит продукт.
Backend — за то, как этот продукт функционирует».

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

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

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

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

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

Видимый результат работы. Фронтэнд разработчик – это работающие компоненты сайта, правильная верстка во всех браузерах, бизнес-цель сайта достигнута: все задачи пользователей решены благодаря грамотному коду, внедряемые фичи позитивно влияют на пользовательский опыт (UX). Фронтэнд разработчик умеет идеально верстать макеты различной сложности с учетом поддерживающих браузеров или устройств, в отдельных случаях занимается проектированием интерфейсов, оптимизацией приложений, помогает дизайнеру в создании макета с хорошим пользовательским интерфейсом.

Фронтэнд разработчик в своей работе использует большое количество технологий: графические редакторы (Photoshop, Sketch и др), SVG-графику, контроль версий (Git, GitHub), языки запросов (SQL и др), базы данных (MySQL и др), предпроцессоры и сборщики SASS, LESS, GULP, владеет навыками интеграции с внешними API-сервисами.

Самые важные навыки Фронтэнд-разработчика:

  • JavaScript — это полноценный язык программирования, формально относящийся к фронтэнду. Но на нем также создаются продукты по части бэкэнда. С JavaScript создаются веб-приложения и программное обеспечение: фронтэнд и бэкэнд веб-сайтов, мобильные приложения, игры, веб-сервисы, презентации и многое другое.
    Наиболее популярными JavaScript-фреймворками и библиотеками в 2021 году являются: React.JS, Angular.JS, Vue.JS, Backbone.JS, Node.JS, jQuery.JS
  • HTML — это язык гипертекстовой разметки, главный инструмент для создания внешнего облика веб-страницы (текст, картинка, таблицы, блоки и прочие базовые элементы дизайна).
  • CSS — это набор шаблонов для форматирования страницы, он позволяет реализовывать на веб-странице общий сценарий оформления, придать ей законченный вид без дублирования кода.

Заработная плата и количество вакансий разработчика Фронтэнд на апрель 2021 года по Москве выглядит вот так:

Заработная плата Количество вакансий
Указана 1437
от 75 000 руб 1173
от 140 000 руб 655
от 200 000 руб 321
от 260 000 руб 133
от 325 000 руб 36

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

Результат работы Бэкэнд программиста – это быстрый и функционирующий продукт, обеспечивающий пользователю качественный поиска, безопасное хранение пользовательских и иных данных. Этого можно достичь благодаря работе над внутренней логикой и архитектурой веб-сайта/мобильного приложения/ПО. В зоне ответственности бэкэнд-разработчика находится: создание алгоритмов работы веб-приложений, поддержка правильной работы веб-приложений, создание функциональных API, работа с реляционными и нереляционными базами данных, интеграция с внешними сервисами.

В зависимости от проекта и команды, бэкэнд разработчику, кроме базовых навыков, могут понадобиться и другие скиллы, например, умение работать с высокими нагрузками и микросервисной архитектурой или знание веб-инструментов (HTML, CSS, JavaScript).

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

Бэкэнд разработчик в своей работе использует большое количество технологий: свободное владение языками программирования, понимание принципов работы серверов Apache, NGINX, IIS, проектирование баз данных и навык написания запросов к БД (SQL), понимание принципов и инструментов frontend разработки, инструменты обеспечения сетевой безопасности, навыки проектирования API, опыт работы с системами контроля версий, навыки проектирования архитектуры, опыт работы с системами контейнерной виртуализации – lxc, docker.

Языки программирования:

Python – очень популярный языком программирования. Он используется как для веб-разработки, так и для создания настольных приложений. Синтаксис Python прост и лёгок для понимания по сравнению с другими языками, что делает его доступным для новичков. Python поддерживает объектно-ориентированное, функциональное и аспектно-ориентированное программирование, а также это динамически типизированный язык с открытым исходным кодом. На Python можно делать быструю автоматизацию, веб-разработку, Data Science, Machine Learning.

Наиболее популярные фреймворки для Python: Django, Flask, web2ry.

Разработчики Python востребованны на рынке труда. Ниже обозначены редложения по заработным платам актуально на первый квартал 2021 года и создано на основе данных с известного портала по поиску работы.

Город Junior, руб. Middle, руб. Senior, руб. Team leader, руб. В среднем по рынку, руб.
Москва 80000—100000 100000—130000 130000—220000 220000—400000 180 000
Санкт-Петербург 70000—80000 80000—110000 110000—180000 180000—350000 150 000
Архангельск 50000—65000 65000—85000 85000—145000 145000—260000 120 000
Астрахань 50000—60000 60000—80000 80000—135000 135000—240000 110 000
Белгород 55000—70000 70000—90000 90000—150000 150000—270000 120 000
Владивосток 65000—80000 80000—110000 110000—180000 180000—350000 150 000
Екатеринбург 70000—80000 80000—110000 110000—180000 180000—350000 150 000
Казань 60000—75000 75000—95000 95000—160000 160000—300000 130 000

Пример вакансии Python-разработчика можно посмотреть здесь.

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

Наиболее популярные Java-фреймоворки: Spring Framework, Hibernate, Spring Boot, Spring Security 5, Spring Cloud.

Java-программисты на данный момент одни из наиболее востребованных и высокооплачиваемых специалистов. В них заинтересованы банковские структуры, крупные производственные компании, госсектор. Запросы Java-разработчиков уровня Мiddle достигают 350 000 рублей и выше. При этом специалисты получают десятки предложений

Пример вакансии можно посмотреть на нашем сайте.

PHP — это распространённый в России и в мире в целом язык серверной части. С помощью языка PHP можно отправить письмо, обработать запросы, да и вообще организовать любую активность в web. PHP-разработка ведётся быстро, получающиеся в итоге проекты отличаются высоким уровнем безопасности, их легко поддерживать. Кроме того, в ходе разработки PHP-проектов приходится писать не слишком много собственного кода благодаря тому, что существует огромное количество PHP-библиотек. В наши дни PHP используется приблизительно на 79% веб-сайтов.

Наиболее популярные фреймворки: Laravel, Yii, CodeIgniter, Symfony, CakePHP, Zend Framework, Phalcon, FuelPHP.

Популярность запросов на PHP-программистов в 2020-2021 году несколько снизилось, но тем не менее предложений довольно много: предложения по вакансии PHP-разработчик за 2021 год:

Заработная плата Количество вакансий
от 100 000 рублей 490
от 150 000 рублей 275
от 200 000 рублей 120
от 250 000 рублей 25

Ruby — это язык веб-программирования, использующий мультипарадигмальную интерпретацию, ее основные качества: динамичность, объектно-ориентированность, рефлективность, императивность и функциональность. Главная задача Ruby – минимизировать неожиданности во время создания программы. Особенно язык популярен, когда необходимо быстро сделать проект. Сейчас Ruby наиболее часто применяется системными администраторами, в разработке операционных систем – Linux, BSD, Mac OS X. При работе с текущим языком пользователь научится реализовать многопоточность, использовать сборщик мусора, а также сможет работать с присваивающими переменными. Это язык серверной части, в своё время набравший сумасшедшую популярность благодаря веб-фреймворку Ruby on Rails.

Предложения по вакансии разработчика Ruby за 2021 год

Заработная плата Количество вакансий
от 60 000 рублей 80
от 90 000 рублей 105
от 170 000 рублей 59
от 200 000 рублей 34

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

  • в качестве языка определения данных: он даёт возможность независимо создавать базу данных, определять её структуру, использовать, а затем cбрасывать по завершению манипуляций;
  • в качестве языка управления данными: для поддержки уже существующих баз данных на эффективном с точки зрения трудозатрат и производительности языке ввода, изменения и извлечения данных в отношении базы данных;
  • как язык контроля данных, когда нужно защитить свою базу данных от повреждения и неправильного использования;
  • язык гарантирует защиту информационной составляющей от несанкционированного использования и копирования в цифровом виде.

Уровень заработной платы программистов SQL за 2021 год:

Go (Golang) — язык, в своё время специально разработанный корпорацией Google для высоконагруженных сервисов. Так как такую характеристику имеет большинство сервисов Google, и справляются они со своими задачами на отлично, язык быстро набрал популярность. На Go можно писать сетевые инструменты, разрабатывать ПО для распределенных систем, писать ПО, обрабатывающие большие объемы информации. Go используют такие IT-корпорации, как Яндекс, ВКонтакте, Mail, Avito, Tinkoff, 2GIS, Alibaba, Xiaomi, Domino’s Pizza. Это красивый, быстрый и удобный язык, который позволяет писать сложные программы.

Фреймворки для Go: Gin и Echo, Beego, GoMicro и GoKit.

Средний уровень заработной платы разработчиков Go по Москве на текущий момент составляет 130 000 – 170 000 рублей.

В веб-разработке есть ещё большое число менее популярных языков: С#, Kotlin, Swift, TypeScript, Rust, Scala и другие.

Заключение:

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

Но оба направления тесно связаны между собой: фронтэнд передает данные от пользователя на сервер, там выполняется их обработка, результат возвращается пользователю в удобной форме.

Каждое направление разработки играет важную роль. Разработчики часто совмещают в своей работе как Frontend, так и Backend. Таких специалистов называют Full Stack разработчиками. И про них мы с Вами поговорим в следующей статье.

 

Наталья Карташева,
эксперт Кадрового центра