Никаких записей курсов — только живое общение
Курсы
Наши курсы
Программирование
TeachMeSkills в Ютубе
Здесь мы публикуем годный контент, подробные разборы и практический опыт учителей
И швец, и жнец, и на дуде́ игрец — так люди воспринимают программистов в течение десятилетий. На практике оказывается, что айти приветствует четкое деление обязанностей: верстальщики делают сайты, пользуясь связкой HTML и CSS, сисадмины поддерживают работу компьютерной техники, а фанаты языков Swift или Objective-C создают приложения на iOS. Свои направления есть и в веб-разработке — здесь их роли играют фронтенд и бэкенд.
Михаил Агеев
Редактор новостей об образовании
Веб-разработка — это процесс создания сайтов и приложений, состоящих из двух частей: клиентской и серверной. В зависимости от того, на какой стороне выполняется работа, меняется и статус разработчика:
Фронтенд — направление веб-разработки, связанное с созданием определенного визуального представления о сайте (от интерфейса до шрифтов и кнопок), а бэкенд касается всех остальных элементов, гарантирующих правильную работу приложений и их надежность при вызове функций. Получить подробное представление о фронте и бэке можно в IT-школе TeachMeSkills, под руководством экспертов из Plavno, SENLA и iTechArt Group.
«Человек, решивший выучить одно направление, обязательно должен интересоваться другим. Фронтенду следует разбираться в сетях и HTTP-протоколах хотя бы на базовом уровне, а бэкенду нужно понимать, как устроены браузеры и чем они рендерят контент», — Александр Филиповский.
Фронтенд-разработчики делают упор на три основные технологии — язык гипертекстовой разметки HTML, таблицы CSS и язык программирования JavaScript. Первая определяет расположение страничных элементов , вторая устанавливает визуал шрифтов, тонов и отступов, а третья отвечает за динамические элементы вроде анимации и модулей взаимодействия с пользователем.
Они же пользуются фреймворками (заготовками сайтов и приложений, на основе которых можно быстро дописывать свой код) и библиотеками (сборниками вспомогательных подпрограмм и объектов) — React, Angular, Vue, jQuery, Node.js и пр. Освоить соответствующие навыки можно за год.
Важно отличать обыкновенного верстальщика от frontend-специалиста — первый готовит страницы посредством кода на HTML и стилей CSS, ранее нарисованных дизайнером, а второй параллельно оживляет их посредством JavaScript. Применяя JS-скрипты, фронтенд-разработчик настраивает функционал веб-страниц и приложений — добавляет кликабельные кнопки, всплывающие окна и вкладки с интерактивными навигационными меню.
Бэкенд — внутренняя часть продукта: код, который находится «под капотом» любого сайта и приложения. Он определяет логику работы разных сервисов — когда пользователь пишет запрос в поисковике и щелкает по кнопке «Искать», информацию подбирают именно бэкенд-алгоритмы, а фронтенд выводит данные на монитор.
Бэкенд-разработчики используют множество инструментов: от языков программирования (JavaScript, Python, Ruby, Java, PHP) до систем управления базами данных (MySQL, PostgreSQL, Oracle). Срок освоения профильных навыков индивидуален и варьируется в зависимости от амбиций — в среднем, образовательный процесс растягивается на полтора года. Его можно ускорить, если отыскать компетентных преподавателей — в IT-школе TeachMeSkills язык программирования Java получится выучить за семь месяцев.
«Рассказать о том, что легче учить, сложно. Мне проще давался фронтенд, из-за присущей ему наглядности. Я мог смотреть результаты своей работы с помощью инструментов отладки или хотя бы визуально, а бэкенд таких возможностей практически не предоставляет», — Александр Филиповский.
Фронтенд учит одно, бэкенд — второе, но каждый из них представляет, чем занимается коллега. Экспертов объединяют и знания об инструментах взаимодействия друг с другом.
Понять, чего хотят от фронтенд-разработчика работодатели, можно с помощью любого рекрутского портала. В списках требований часто встречаются пункты, посвященные:
В набор базовых умений помимо HTML, CSS и JavaScript также входят технологии препроцессоров — программы вроде SASS и LESS, расширяющие возможности чистых каскадных таблиц стилей. Из фреймворков и библиотек — React для создания сайтов, Angular для сложных архитектур вроде CRM-систем и Vue для высокопроизводительных веб-приложений.
За точным набором навыков, которые потребуются бэкенд-разработчику, мы вновь обратимся к сайтам-агрегаторам вакансий:
Языков программирования для бэкенда много — от JavaScript, Python и Ruby до Java, C#, Go и PHP. Познакомиться с ними можно на курсах IT-школы TeachMeSkills. Базы данных нужны во-первых, реляционные, во-вторых, популярные, вроде MySQL или PostgreSQL. Представления об API должны быть хотя бы на общем уровне — следует знать, что такое REST и как правильно его писать. Для каждого языка программирования нужны свои фреймворки и программные среды— Node.js для JavaScript, Symfony и Laravel для PHP, Django для Python и Spring для Java.
«Нельзя отправляться работать, выучив один фреймворк, без хорошего знания самого языка программирования. До того как вы начнете изучать базовые библиотеки, сервисы и инструменты, нужно окончательно закрыть вопрос с языком. В реальной разработке часто встречаются сложности, заставляющие исследовать проблему на глубоком уровне, глубже фреймворков и библиотек. Там все написано на чистом языке программирования, без магии фреймворков», — Александр Филиповский.
В 2023 году средний рост зарплат всех айтишников в Москве составил 16,5%. Высокий уровень доходов по-прежнему считается одним из главных преимуществ IT в принципе. Соответственно, данные о числе открытых вакансий и заработных платах при выборе между фронтендом и бэкендом учитывать стоит.
Согласно статистике портала HeadHunter на 20.07.2023:
Во фронте на зарплату от 300 тыс. могут рассчитывать всего 294 соискателя, в бэке — уже 417. Джунов активно хантят и там, и там — по 1 373 и 1713 вакансий соответственно.
В регионах и там, и там лидирует Москва — 1899 и 2490 предложений. Следом идет Санкт-Петербург и Новосибирская область.
Сначала кажется, что цифры говорят об однозначном преимуществе бэкенда. На практике статистика практически идентична (она бьется с данными о зарплатах айтишников, которые собрали эксперты TeachMeSkills), так как на освоение навыков бэкенд-разработки у людей уходит больше времени.
«Заработная плата джуна зависит от амбиций — он может попросить зарплату намного выше рыночной, и ему ее предоставят из-за политики компании или замеченного таланта/потенциала. На средний по рынку доход слушатели курсов (впоследствии — активно практикующие фронтенд-разработчики) выходят за 1,5-2 года», — Александр Филиповский.
Аксиома Эскобара гласит, что при безальтернативном выборе из двух противоположных сущностей обе будут представлять собой исключительную ерунду. Решение в пользу фронтенда или бэкенда нужно принимать на основании собственных предпочтений, предварительно получив базовые представления о каждом из направлений. Есть и другой вариант — забить на веб и пройти курсы разработчика мобильных приложений в IT-школе TeachMeSkills, но это уже совсем другая история.
Впрочем, преподаватели TeachMeSkills готовы помочь и людям, желающим связать свою жизнь с веб-разработкой. В рамках нашего 7-месячного дистанционного курса студент проходит огромный путь от стартовых лекций до трудоустройства, параллельно добавляя в портфолио несколько классных проектов. Эксперты с опытом работы от трех лет и выше из Plavno, SENLA, iTechArt Group и других компаний рассказывают о фронтенде на простом языке, погружая будущих джунов в мир коммерческого фронтенда.
Front End разработчик
Составлен практикующими IT специалистами для новичков в Front End. Это лучший курс по JavaScript, HTML и CSS для начинающих.