Что выбрать: frontend, backend или fullstack?

Разбираемся, в чем отличия между типами разработки

В веб-разработке есть три основных типа: frontend, backend и fullstack. Вместе с преподавателями SkillFactory мы разбираемся, чем они отличаются, кому больше подходят и что нужно изучить, чтобы построить карьеру в каждом из них.

Frontend-разработчик отвечает за дизайн сайта, верстку и анимирование. То, что происходит «‎под капотом»‎ — внутренняя логика сайта, взаимодействие с сервером и базами данных, — ответственность backend-разработчика. Fullstack-разработчик должен уметь и то и другое.

Frontend-разработчик

Чем занимается?

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

Технический стек

Чтобы быть успешным frontend-разработчиком, нужно освоить HTML, CSS и JavaScript. На HTML пишут «скелет» страницы, на CSS настраивают цвета, шрифты и ее внутреннее наполнение. После освоения статичных веб-страниц разработчик учится языку JavaScript, который позволяют добавить на сайт динамичные элементы: слайдеры, калькуляторы, анимации.

Рабочий день

Типичный рабочий день frontend-разработчика начинается со встречи или звонка, на котором обсуждаются задачи, приоритеты и проблемы. Затем он скачивает последние версии кода с GitHub (сервис для размещения проектов и совместной работы над ними), просматривает изменения и комментарии и начинает работать. Помимо этого, ему нужно изучать тематические ресурсы, чтобы быть в курсе современных трендов.

Карьерный рост

Начальный уровень в разработке — стажеры (trainee). Это начинающие специалисты, которые закончили курсы и получили базовые знания. Их зарплаты, как правило, не поднимаются выше 30 тыс. руб.

Следующий уровень — джуниор-разработчики, они обладают небольшим опытом работы с проектами и часто советуются с более опытными коллегами. Зарплата джуниор-разработчика в Москве начинается с 60 тыс. руб.

Мидл frontend-разработчик — это опытный человек, способный самостоятельно и качественно решить большинство задач. Его зарплата обычно начинается от 100 тыс. руб.

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

Курс 

Frontend-разработчик

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

Дополнительная скидка 5% по промокоду BLOG.

Узнать больше

Личные качества

Frontend-разработчику полезно быть перфекционистом, так как часто требуется реализовывать замысел дизайнера «пиксель в пиксель». Во frontend-разработке нельзя стоять на месте, она похожа на бег вверх по эскалатору, который едет вниз: постоянно появляются новые инструменты и меняются тренды. Это интересно, но иногда утомительно. Для крупных проектов актуальна командная работа, способность находить общий язык с людьми. 

Алексей Видякин, frontend-разработчик:

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

Backend-разработчик

Чем занимается?

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

Технический стек

Backend-части часто пишут на PHP, JavaScript и Go; для больших приложений, например банковских, используется Java. У каждого языка, как и любого инструмента, своя область применения. Backend-разработчики активно используют фреймворки — каркасы приложений, в которых фундаментальный функционал уже оптимизирован, это позволяет сосредоточиться на более конкретных задачах.

Рабочий день

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

Карьерный рост

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

Дальнейший рост может быть разным, как ветки прокачки в компьютерных играх: если вы прокачиваете технические навыки (hard skills), можно вырасти до уровня архитектора. Если вы чувствуете тягу к построению процессов, можно освоить методологии управления Scrum или Agile и обучать команды. Если есть уклон в классический менеджмент, можно вырасти до тимлидов и CTO (Chief Technical Officer, технический директор): в этой области нужно уметь организовывать и строить процессы, а также не бояться общаться с заказчиками.

Личные качества

Ответственность: на плечах такого специалиста лежит очень многое. Но самое главное качество программиста — научиться думать абстракциями. Если человек не может перейти с материального уровня на уровень функций, объектов, паттернов, то ему будет сложновато.

Александр Пряхин, работает в IT-менеджменте, до этого — backend-разработчик на PHP и Java:

«Моя профессия нравится мне динамикой. То, что вчера казалось фантастикой, сегодня – реальность. Посмотрите, как Тони Старк в фильме „Железный человек“ 2010 года с телефона показывает видео на телевизоре. Сейчас это обыденность. Программисты создают экосистемы, цифровые миры, высокопроизводительные системы. Разве это не круто?»

Курс

Backend-разработчик

Освойте с нуля программирование на Go и бэкенд-разработку высоконагруженных приложений и станьте незаменимым специалистом. Дополнительная скидка 5% по промокоду BLOG.

Узнать больше

Fullstack-разработчик

Чем занимается?

Fullstack-разработчик — это универсальный солдат. Он сам создает веб-приложения, начиная от проектирования структуры, заканчивая его размещением на сервере. Обычно он не разрабатывает крупные проекты: для этого необходима плотная работа frontend- и backend-команд. Часто он занимается небольшими проектами для крупных компаний или фрилансом, что дает свои плюсы: он не зависит ни от кого, кроме заказчика. А если возникнет необходимость, всегда можно переквалифицироваться в backend- или frontend-разработчика.

В fullstack-разработку часто приходят люди, создающие собственные стартапы. Например, WhatsApp был основан двумя разработчиками, Яном Кумом и Брайаном Эктоном. Для создания MVP (minimum viable product, минимально жизнеспособный продукт) им пришлось освоить fullstack-разработку. Поэтому часто это не чистое программирование со строгой методологией, а творчество, позволяющее специалисту реализовывать свои идеи.

Технический стек

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

  • Один или несколько языков программирования. Обычно это JavaScript для frontend-разработки, Python, JavaScript или PHP для backend-разработки, а также языки верстки (HTML, CSS) и основы SQL.
  • Фреймворки, так как это ускоряет разработку, а для fullstack-разработчика скорость критически важна: чаще всего они работают с малым бизнесом, у которого ограничены ресурсы на разработку. Из frontend-фреймворков обычно используют Angular или VueJS, а также библиотеку React, из backend-фреймворков — Django, Flask или Sanic для Python, Express или Fastify для JavaScript, Laravel для PHP. Для новичков стоит начать погружение в реактивную разработку с VueJS, потому что этот фреймворк очень удобен для разработки и достаточно быстрый. В качестве backend-языка лучше начинать с Python и его фреймворка Flask: он не самый мощный, однако есть возможность интеграции SQLAlchemy в качестве ORM-обертки для баз данных. ORM обеспечивают функционал, позволяющий взаимодействовать с базой данных как с частью программного кода.
  • Язык разметки CSS и его фреймворки: Bootstrap, Tailwind или Vuetify.
  • Иметь представление о проектировании баз данных, причем как в SQL (обычно PostgreSQL или MySQL), так и в NoSQL (например MongoDB). Обычно работа с базами данных ведется через ORM (например SQLAlchemy).
  • Иметь представление об основах системного администрирования и о том, как работать с Git — распределенной системой контроля версий. Также необходимо знание систем контейнеризации (Docker), которые позволяют передавать софт от разработчика к клиенту со всеми необходимыми зависимостями, без необходимости их заново настраивать.
  • Английский язык, так как на нем написана практически вся документация.

Рабочий день

День fullstack-разработчика обычно начинается с разбора тикетов (заявок пользователей) по системам, находящимся на поддержке. После решения срочных проблем продолжается работа над текущим проектом. На фрилансе много времени будет занимать общение и составление технических заданий, а в крупных компаниях обычно есть единая методология ведения проектов, например Agile.

Карьерный рост

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

Зарплата начинающих fullstack-разработчиков в Москве стартует от 60 тыс. руб. в месяц, а у экспертов доходит до 300 тыс. руб.

Личные качества

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

Олег Ледванов, fullstack веб-разработчик:

«Я работаю fullstack-разработчиком в крупной компании из сферы телекоммуникаций, а до этого работал на фрилансе. Работа нравится мне тем, что можно быть ответственным за проект целиком и ни от кого не зависеть. Помимо этого, я могу пробовать новые фреймворки, мне не нужно ни с кем согласовывать свой стек и подстраиваться под компании».

Курс

Fullstack-разработчик на Python

Освойте программирование и fullstack-разработку на Python и Django. После обучения наш карьерный центр поможет вам подготовиться к собеседованию и предложит несколько вакансий на выбор. Дополнительная скидка 5% по промокоду BLOG.

Узнать больше

Какие курсы вам подходят

Профессия «Frontend-разработчик»

От 8570 Р/мес

7 мес

Подробнее о курсе

Профессия «Backend- разработчик на Go»

От 3375 Р/мес

12 мес

Подробнее о курсе

Профессия «Fullstack-разработчик на Python»

От 9000 Р/мес

15 мес

Подробнее о курсе
Блог SkillFactory
Добавить комментарий