Фронтендер создает интерфейс продукта, бэкендер работает с серверной частью.
Направления разработки — frontend и backend — подойдут тем, кому интересно создавать сайты и приложения. Средняя зарплата таких специалистов больше 100 000 ₽ в месяц, при этом она продолжает расти. Поможем разобраться в их задачах, профессиональных компетенциях и определиться с выбором направления.
На любом сайте есть разные блоки, окна и элементы — видимая часть. За нее отвечает фронтендер. Кликните в любом месте правой кнопкой мыши и выберите «Посмотреть код». Код описывает цвета, шрифты, расположение графических элементов и прочее. Его и пишет фронтендер.
Код главной страницы Skypro
Если вы заполните и отправите заявку, запустите поиск по каталогу или скачаете файл, сработают внутренние процессы. За них отвечает бэкендер. Например, вы зарегистрируетесь в личном кабинете: введете данные и нажмете Enter. Данные полетят на сервер, где хранится сайт и все его файлы. Там их обработают автоматически — благодаря коду, который написал backend-разработчик.
Если вы ошибетесь — например, вместо телефона в поле введете адрес электронной почты, код бэкендера это обнаружит, и вы не зарегистрируетесь.
Как пользователи взаимодействуют с обеими типами разработки
Frontend отправляет пользовательскую информацию в backend,
↓
backend обрабатывает информацию,
↓
информация возвращается на frontend в виде обычной веб-страницы.
Схема взаимодействия между бэкендом и фронтендом
Внешние и внутренние стороны сайта связывают:
👨💻 Frontend-разработчик:
💪 создает и верстает динамические интерфейсы, пишет скрипты;
💪 оптимизирует и расширяет функции кода — например, чтобы страницы загружались быстрее;
💪 передает готовый проект в backend для реализации серверной стороны.
👨💻 Backend-разработчик:
💪 работает с разными базами данных (SQLite, MySQL, MongoDB) и разными серверами (Nginx, IIS и Apache);
💪 программирует на Java, PHP, Python или другом языке;
💪 создает API, через которые программы взаимодействуют друг с другом.
👨💻 Frontend. Разработчик пользовательских интерфейсов должен знать:
👉 функции клиентской стороны веб-приложений, работу браузера, протокол передачи данных HTTP, сбор cookie-файлов;
👉 HTML, основы тегов и элементов;
👉 язык стилей CSS и его основные свойства — классы, идентификаторы, селекторы, псевдоклассы, позиционирование содержимого, медиазапросы;
👉 CSS-препроцессоры — SASS, SCSS, LESS;
👉 технологии адаптивной верстки страниц, например CSS FlexBox, CSS Grid, float, кроссбраузерной и семантической верстки;
👉 JavaScript, разбираться во взаимодействии JS с DOM, в версиях JS — ES5 и ES6, использовать fetch или другие инструменты для AJAX-запросов;
👉 один или несколько фреймворков — Vue.js, Angular, React, использовать менеджеры пакетов (npm, yarn).
И еще:
👉 работать с системой контроля версий Git и сервисом для хостинга типа GitHub, GitLab, Bitbucket;
👉 работать со сборщиками модулей, например Webpack, Gulp, Grunt;
👉 соблюдать чистоту кода: использовать линтеры для анализа качества;
👉 уметь тестировать приложение: разбираться в нескольких инструментах для тестирования (Jest/Cypress/Enzyme).
Важны и непрофессиональные компетенции. Например, умение работать с большим количеством информации, внимательность к деталям. Кроме аналитических способностей пригодится развитое воображение — продумывать верстку.
👨💻 Backend. Разработчик серверной части должен знать:
👉 один или несколько серверных языков;
👉 как организовать базу данных MySQL, NoSQL или Postgres и обращаться к ней через запросы;
👉 работу протоколов передачи данных HTTP и HTTPS;
👉 как настраивать веб-серверы, например Apache или Nginx;
👉 как работать с API, как устроены JSON, REST, XML и как с их помощью передавать информацию;
👉 как организовать сессии, хранить cookie-файлы, заводить токены и ключи, как работает Oauth — открытый протокол авторизации;
👉 как устроены асинхронные запросы и кеширование.
Бэкендеру важно быть системным и четким, уметь находить ошибки и пути решения. Он должен быстро переключаться на макрозадачах. Например, когда нужно оставить код одной части проекта и реализовать крупную функцию.
У обоих типов разработчиков есть возможность дорасти до fullstack-разработчика. Это специалист, который самостоятельно разрабатывает сайт или веб-приложение. Fullstack-разработчик проектирует и серверную логику, и пользовательский интерфейс.
Но до этого фронтендер и бэкендер проходят стандартный путь от джуна до сеньора.
Опыт |
Оклад фронтендера |
Оклад бэкендера |
Джун (младший специалист) |
78 594 ₽ |
77 780 ₽ |
Мидл (специалист) |
214 404 ₽ |
201 818 ₽ |
Сеньор (старший специалист) |
308 300 ₽ |
313 029 ₽ |
Источник: zarplan.com, январь 2022 г.
Получается, что зарплата на каждом этапе примерно одинаковая. На хабре отличия тоже небольшие:
Источник: habr.com
При выборе направления разработки не стоит ориентироваться на оклад. Backend-разработчики получают на 20 000 ₽ больше, но зарплата frontend-разработчиков активнее растет.
Сравним уровень конкуренции. В апреле 2021-го в hh.ru рассчитали соотношение количества активных резюме к вакансиям и получили такие результаты:
Чем выше показатель, тем больше конкуренция. У backend-разработчиков она ниже.
Источник: hh.ru, апрель 2021 г.
Как освоить с нуля
🎓 Где учиться
Первый путь — университет. Например, получить IT-специальность, окончить математический или физический факультет.
➕ Высшее образование дает теоретическую базу и развивает аналитические способности.
➖ На разработчиков не учат в вузах, вы получите только фундаментальные знания.
Второй путь — самообразование. То есть самостоятельно изучать работу с базами данных, языки программирования и прочее.
➕ Экономия денег, возможность выбирать, что и как быстро изучать.
➖ Много сложной информации, в которой легко запутаться.
В этом случае помогут дорожные карты изучения профессий. Например, карты бэкендера и фронтендера предлагает tproger.ru.
Третий путь — курсы. Освоить специальность в течение года под руководством наставников.
➕ Практические навыки, возможность разбирать сложные моменты с преподавателем, учиться в удобное время по видеолекциям.
➖ Нужно уделять время домашним заданиям и теории, совмещать с работой.
В онлайн-университете профессий Skypro вы освоите навыки frontend-разработчика за 12 месяцев: изучите JavaScript, инструменты разработки, фреймворк React, типовые задачи разработки систем администрирования. В программе — только востребованные навыки и никакой лишней информации.
После учебы вам помогут получить работу: научат составлять резюме и портфолио, проведут три тестовых собеседования.
📚 Что читать
Книги:
Телеграм-каналы:
👨💻 Где искать работу
Создайте резюме и портфолио с учебными или рабочими проектами. Ищите вакансии и откликайтесь:
Что же выбрать
Frontend |
Backend |
Нравится работать с версткой |
Не любите верстку |
Хотите не только кодить, но и сразу видеть результат работы |
Вам интереснее код, а не визуальная составляющая |
Готовы кодить на JavaScript и закрывать глаза на неудобства: поменять язык не получится |
Хотите кодить на разных языках, например PHP, Ruby, Python |
Настроены учиться всё время, ведь инструменты и технологии постоянно меняются — выходят новые фреймворки и библиотеки |
Готовы освоить фундаментальные знания программирования и несколько языков, вспомнить университетскую математику, но не хотите постоянно следить за трендами |
Рассказываем про «Тинькофф», «Билайн» и другие компании.
Указывайте в отчете только одну ошибку, прикладывайте скрины, сообщения и коды.
Учимся добавлять и изменять элементы, объединять и копировать списки.
Конструкция, чтобы много раз выполнять один и тот же участок кода.
JSON часто применяют, когда разрабатывают API и веб-приложения.
Есть сервисы, платформы и телеграм-каналы с вакансиями по всему миру.
С помощью HTML структурируют страницу на сайте, добавляют картинки, таблицы, списки.
Цикл for используют, когда количество повторов известно заранее.
Есть комьюнити на платформах, под эгидой компаний или самоорганизующиеся.
Обязанности и зарплата аналитика, Python- и Java-разработчиков и не только.
Правильное питание — это не о жестких диетах и полном отказе от любимых продуктов.
Благодаря методу «круга-пирога» увидите свое время и возьмете его под контроль.
Ищите мотивацию, хвалите себя, визуализируйте план и результат.
Лягушки — небольшие, но неприятные дела, слоны — долговременные задачи.
Когда ставите цель, отталкивайтесь от проблемы и конкретизируйте решение.
Этот специалист контролирует все этапы проекта и приводит его к успеху.
Советы всем удаленщикам — больше двигаться, делать зарядку, разминку для глаз.
Junior зарабатывает от 40 000 ₽, Middle от 100 000 ₽, а Senior от 250 000 ₽ и выше.
Совет от героини: сделайте первый шаг, дальше будет проще; учитесь и идите вперед.
Фишки и стоимость Forest, WaterDo, SleepTown, Alarmy, Pomodoro Timer Lite.
Программист fullstack получает до 550 000 ₽, а на тестировщика учатся 4–15 мес.
SQL используют в банках, торговле, перевозках: везде, где много информации.
Сначала поставьте цель: выберите сферу и определите, кем видите себя через 10 лет.
Термины разработки, Scrum, неформального общения, организационных процессов.
Узнаете о работе программиста и поймете, как писать хороший код.
Мозг меняется всю жизнь. Мы можем на него влиять: изучать новое, развивать навыки.
Помогает планирование, вера в то, что реально изменить жизнь, поддержка семьи.
С помощью CSS задают цвет, размеры, анимацию, адаптируют сайт под устройства.
Python — самый популярный язык программирования в феврале 2022 года.
Гуманитарию подойдут профессии тестировщика, веб-дизайнера и не только.
Обязанности Java-разработчика — писать код, тестировать и улучшать его.
IT-отрасль привлекает удаленкой, карьерным ростом, высоким доходом.
Воспользуйтесь Google Colab, онлайн-интерпретаторами или скачайте Python.
Используйте конструкторы no-code, Java или Kotlin, Android Studio.
Бесплатный сервис позволяет писать тесты, поддерживает разные типы API.
Colab используют, чтобы создавать код на Python прямо в браузере.
Освоить новую профессию реально с нуля в любом возрасте, главное — мотивация.
Не выбирайте по принципу «чем проще, тем лучше» и уважайте желания ребенка.
Важнее опыт и проекты в портфолио, но иногда высшее образование все-таки нужно.
Сегодня удаленка доступна для разных сфер: ИТ, маркетинг, сервис, продажи.
Выбирайте по уровню спроса у работодателей и направлению в программировании.
20 фильмов и сериалов для тех, кому интересен мир информационных технологий.
Frontend-разработчик создает внешнюю — пользовательскую часть веб-ресурса.
Backend-разработчик отвечает за внутреннюю — серверную сторону веб-ресурса.
Спринты используют в долгих проектах и сложных продуктах.
Преимущества Python — понятный синтаксис и читаемость, готовые библиотеки.
Jupyter-ноутбуки применяют для визуализации данных в big data и data science.
Soft skills помогают развивать компетенции, осваивать новые тенденции в работе.
На Java разрабатывают всё: от приложений и ПО до технологий Big Data.