Чем frontend отличается от backend
Frontend - это все, что пользователь видит и трогает в браузере: кнопки, формы, анимации, адаптация под телефон. Backend - то, что работает на сервере: проверка пароля, расчет цены, запись заказа в базу данных, отправка письма.
Удобно представить интернет-магазин. Карточка товара и кнопка "В корзину" - зона фронтендера. Когда вы нажимаете кнопку, браузер отправляет запрос на сервер, а бэкенд проверяет остатки на складе, создает заказ и возвращает ответ. Вот как это выглядит в коде с двух сторон.
Сторона frontend (JavaScript в браузере)
const response = await fetch("/api/cart", {
method: "POST",
headers: { "Content-Type": "application/json" },
body: JSON.stringify({ productId: 42, qty: 1 })
});
const data = await response.json();
document.querySelector("#cart-count").textContent = data.total;Сторона backend (Python, FastAPI)
from fastapi import FastAPI
from pydantic import BaseModel
app = FastAPI()
cart = {}
class Item(BaseModel):
productId: int
qty: int
@app.post("/api/cart")
def add_to_cart(item: Item):
cart[item.productId] = cart.get(item.productId, 0) + item.qty
return {"total": sum(cart.values())}Связывает их API: договоренность, какие запросы шлет фронтенд и какие ответы возвращает бэкенд. Если тема API пока туманна, начните со статьи что такое API простыми словами.
Frontend или backend: сравнение по главным параметрам
| Параметр | Frontend | Backend |
|---|---|---|
| Основные языки | JavaScript, TypeScript, HTML, CSS | Python, Java, Go, PHP, C#, JavaScript (Node.js) |
| Популярные фреймворки | React, Vue, Angular, Next.js | Django, FastAPI, Spring, Laravel, Express |
| Результат работы | Видно сразу в браузере | Видно в ответах API, логах и базе данных |
| Порог входа | Ниже: первая страница за вечер | Чуть выше: нужны SQL, HTTP, сервер |
| Типичные задачи junior | Верстка по макету, компоненты, формы | Эндпоинты API, запросы к базе, исправление багов |
| Смежные навыки | Дизайн, UX, доступность, браузеры | Базы данных, Linux, Docker, очереди |
| Скорость изменений стека | Высокая, инструменты меняются часто | Ниже, фундамент стабильнее |
| Конкуренция среди junior | Очень высокая | Высокая |
Никакой из путей не "проще" в долгую. У фронтенда легкий старт, но много мелочей: браузеры, адаптивность, состояние приложения. У бэкенда старт тяжелее, зато знания живут дольше: SQL и HTTP почти не меняются десятилетиями.
Что делает frontend-разработчик и что нужно знать
Фронтенд-разработчик превращает макет дизайнера в живую страницу и связывает ее с сервером. На уровне junior от него ждут:
- HTML и CSS: семантическая разметка, Flexbox и Grid, адаптивная верстка под мобильные.
- JavaScript: переменные, функции, массивы и их методы, DOM, события, асинхронность через
fetchиasync/await. Полезно знать методы массивов map, filter и reduce. - TypeScript: в 2026 году большинство вакансий React ожидают хотя бы базовую типизацию.
- Один фреймворк: чаще всего React, реже Vue.
- Инструменты: Git, npm, Vite, DevTools браузера.
Фронтенд подойдет тем, кому нравится видеть результат сразу и кто замечает, что кнопка съехала на два пикселя. Больше материалов собрано по тегу JavaScript.
Что делает backend-разработчик и что нужно знать
Бэкенд-разработчик отвечает за данные и логику: чтобы заказ не потерялся, пароль хранился безопасно, а сервер выдерживал нагрузку. Типичный набор junior:
- Язык и фреймворк: Python с Django или FastAPI, Java со Spring, Go, PHP с Laravel или Node.js.
- SQL и реляционные базы: PostgreSQL или MySQL, JOIN, индексы, транзакции. Хорошая точка входа - SQL-запросы с примерами.
- HTTP и REST: методы, коды ответов, заголовки, JSON.
- Linux и Docker: запустить сервис в контейнере и посмотреть логи.
- Тесты: pytest или JUnit, хотя бы на основные сценарии.
Бэкенд выбирают те, кому интереснее логика и архитектура, чем внешний вид. Если вам нравится наводить порядок в данных и разбираться, почему запрос выполняется 3 секунды вместо 30 миллисекунд, это ваше.
Как понять, что вам ближе: 8 вопросов
Ответьте честно, считая ответы "да" в каждой колонке.
Скорее frontend, если
- Вам важно сразу видеть результат работы глазами.
- Вы замечаете неудобные интерфейсы в приложениях и знаете, как сделать лучше.
- Вам нравится дизайн, типографика, анимация.
- Вы готовы постоянно следить за новыми инструментами.
Скорее backend, если
- Вам интересно, как устроены системы внутри, а не снаружи.
- Вам нравятся таблицы, данные, логические головоломки.
- Вы спокойно работаете без визуального результата, глядя в терминал.
- Вас интересуют серверы, производительность и безопасность.
Если баллы примерно равны, это нормально. Тогда решает практика из следующего раздела.
Попробуйте оба направления за два выходных
Читать сравнения можно бесконечно. Быстрее сделать по одной маленькой задаче в каждом направлении и прислушаться к себе.
- Суббота, frontend. Сверстайте страницу-визитку: заголовок, фото, список навыков, кнопка, которая по клику меняет тему на темную. Нужны только HTML, CSS и десять строк JavaScript.
- Воскресенье, backend. Напишите на Python маленький API на FastAPI с двумя адресами: один возвращает список заметок, второй добавляет новую. Проверьте его через встроенную документацию по адресу
/docs. - Вечер воскресенья. Запишите, какая задача увлекла сильнее и где вы застряли. Застрять - нормально, важно, хотелось ли разбираться дальше.
pip install fastapi uvicorn
uvicorn main:app --reloadСовет: выбирайте не по зарплатам и не по советам друзей, а по тому, над какой задачей вы забыли о времени. Мотивация на дистанции в 8-12 месяцев учебы решает больше, чем разница в 10-15% зарплаты между направлениями.
Рынок и зарплаты в 2026 году
По данным, которые приводят обзоры на основе Хабр Карьеры, медианная зарплата junior frontend-разработчика в России в 2026 году около 75-80 тысяч рублей, медиана по всем грейдам фронтенда около 200 тысяч. По junior backend сопоставимых свежих данных мы не нашли, ориентир примерно тот же, с разбросом по языкам: вакансии на Go и Java в среднем выше, чем на PHP.
Цифры меняются каждый квартал, поэтому перед выбором откройте зарплатный калькулятор Хабр Карьеры и поиск hh.ru по своему городу и посмотрите живые вакансии junior. Обратите внимание на требования: часто именно они, а не зарплата, показывают, куда реально войти.
- Во фронтенде больше всего вакансий под React и TypeScript.
- В бэкенде в России много вакансий на Java, Go и Python, особенно в банках и маркетплейсах.
- И там и там junior без проектов на GitHub почти не зовут на собеседования.
Маршрут на первые полгода для каждого направления
Когда выбор сделан, держите перед глазами короткий маршрут. Он рассчитан на 15-20 часов занятий в неделю.
| Месяц | Frontend | Backend |
|---|---|---|
| 1 | HTML, CSS, Flexbox, адаптивная верстка | Синтаксис Python, функции, коллекции |
| 2 | JavaScript: функции, массивы, DOM, события | ООП, модули, venv, работа с файлами |
| 3 | Асинхронность, fetch, Git и GitHub | SQL и PostgreSQL, Git и GitHub |
| 4 | TypeScript, сборщик Vite | HTTP, REST, FastAPI или Django |
| 5 | React: компоненты, состояние, роутинг | ORM, миграции, авторизация, тесты pytest |
| 6 | Проект SPA с открытым API, деплой | Проект API с базой в Docker, деплой |
Обратите внимание на третий месяц: Git нужен обоим. Отложить его на потом - частая ошибка, из-за которой первый проект потом приходится переносить на GitHub в спешке перед откликом на вакансию.
А если fullstack?
Fullstack-разработчик делает и клиентскую, и серверную часть. На маленьких проектах и в стартапах такие люди очень ценятся. Но для новичка начинать сразу с fullstack рискованно: знаний нужно вдвое больше, и легко остаться поверхностным везде.
Рабочая стратегия: выбрать одну сторону как основную, а вторую изучить на уровне "могу поправить". Бэкендеру полезно уметь сверстать простую форму, фронтендеру - понимать REST, базы данных и читать серверный код. Через год-два работы перейти в fullstack гораздо проще, чем начинать с него. Общий маршрут от нуля до первой работы описан в статье как стать программистом с нуля.
