
Выбирай не по деньгам — платят сопоставимо. Frontend-джун в 2026-м стартует с 50 000–80 000 ₽, backend на Python — с 80 000–110 000 ₽ (обе цифры — медиана по вакансиям hh.ru). Разница есть, но она меньше, чем разница в том, возненавидишь ты эту работу через полгода или нет. Выбирай по складу ума: тянет к видимому результату, который можно показать и потрогать, — frontend. Тянет к логике систем, данным и тому, «как это устроено внутри», — backend.
И вот что снимает половину твоих мучений. Это решение обратимо. Базовое программное мышление общее для обеих веток, fullstack-разработчики делают и то, и другое, а переход между ветками — обычная карьерная история, а не драма. Так почему вокруг этой развилки столько паралича?
Потому что новичок видит две двери и думает, что выбирает профессию на всю жизнь. Он читает сравнения, смотрит холивары, где одни топят за frontend, другие за backend, и боится двух вещей сразу: выбрать ветку не под свой склад — и выбрать необратимо. Проходит месяц. Ветка не выбрана, кода не написано ни строки ни на той стороне, ни на другой. Дальше — честное сравнение по тому, что реально отличает эти две профессии, и формула, по которой выбор делается за вечер, а не за месяц.
Марина, 27, бывший маркетолог. Решила уйти в веб-разработку. Вторую неделю «выбирает между frontend и backend». Открыты вкладки со сравнениями, табличками зарплат, постами «фронт vs бэк». Она уже знает, что фронт — это «кнопки», а бэк — «сервер». Только дальше этой фразы её понимание не идёт, а написать первую строку не из чего, пока не выбрана сторона.
Марина застряла на ложной развилке. Она думает, что выбирает между «полегче и про дизайн» и «посложнее и про программирование». Это не так. Обе ветки — программирование. Просто про разное.
Представь ресторан. Frontend — это зал: меню, как накрыт стол, что видит и трогает гость, как официант подаёт блюдо. Backend — это кухня: склад продуктов, рецепты, плита, логистика поставок. Гость видит только зал и судит ресторан по нему. Но без кухни зал — пустые столы. Без зала кухня готовит в никуда. Один продукт, две половины, два разных мира.
Frontend делает видимое. Всё, что пользователь трогает в браузере: интерфейс, кнопки, формы, как страница реагирует на клик, как переключается без перезагрузки. Backend делает невидимое. То, что происходит за кулисами после нажатия кнопки: сервер принял запрос, проверил, есть ли у тебя права, сходил в базу данных, посчитал, вернул ответ. Ты этого не видишь — и в этом вся суть профессии backend: её работа спрятана.
Миф, на котором спотыкается Марина и почти каждый новичок: «frontend — рисовать, backend — программировать». Оба программируют. Frontend пишет логику в браузере — что произойдёт при клике, как проверить форму, как показать ошибку. Это не разметка, а полноценный код. Backend пишет логику на сервере — как обработать запрос, что достать из базы, как не отдать чужие данные. Разница не в том, кто «настоящий программист». Разница в том, где живёт твой код: в браузере у пользователя или на сервере, куда пользователь не заглядывает.
Раз это две профессии, то и учить под них надо разное. Стеки почти не пересекаются на старте.
Frontend идёт от того, что видно. HTML и CSS — как страница выглядит, где что стоит, какого цвета. JavaScript — логика в браузере, то, что оживляет статичную картинку. Дальше фреймворк вроде React или Vue, на котором сегодня собирают интерфейсы, потом TypeScript и работа с API — связь с тем самым невидимым сервером. Стержень всего пути — браузер, визуал, интерактив.
Backend идёт от данных и логики. Язык — Python, Java или Node на выбор. Базы данных и SQL — где и как хранятся данные, как их доставать. Как устроены серверы, как работают API, которые отдают данные фронту. Дальше — архитектура, безопасность, нагрузка: как сделать, чтобы система не падала и не теряла данные под тысячами запросов. Стержень — данные, логика, инфраструктура.
Есть одно различие, которое новичок чувствует кожей с первого дня. На frontend результат виден глазами сразу: написал код, обновил браузер — кнопка поменяла цвет, форма заработала. Связь между «я написал» и «оно изменилось» мгновенная. На backend результат абстрактнее: написал код, отправил запрос — в консоль пришёл правильный ответ. Никакой картинки, только данные. Для одного человека это скучно, для другого — наконец-то ничего не отвлекает от чистой логики.
Войти во frontend на старте проще. Причина простая и человеческая: результат виден сразу, и это держит. Ты пишешь кнопку — и сразу видишь кнопку. Маленькая победа каждый вечер. А главная причина, по которой новички бросают на третьей неделе, — не сложность, а отсутствие быстрого видимого результата. Frontend кормит этими победами часто, поэтому с него реже сходят с дистанции.
Backend держит дольше до первого «вау». Прежде чем что-то заработает, надо переварить пачку невидимых концепций: как устроен сервер, что такое база данных, почему один запрос быстрый, а другой тормозит. Картинки нет, дофамина на старте меньше. Кто-то на этом отваливается. Кто-то, наоборот, выдыхает: его не дёргает визуал, можно думать.
Но вот где «проще» оборачивается против тебя. Низкий порог входа во frontend — обоюдоострый. Именно из-за него frontend-джунов на рынке толпа. Туда идут все, кто хочет «в айти полегче», курсы выпустили волну выпускников, сертификат есть у каждого второго — и он перестаёт что-либо значить. На одну junior-вакансию летят десятки откликов. Backend отсеивает людей ещё на входе, своими абстракциями: зайти труднее, дойти до первой работы дольше — но и конкурентов на старте меньше, потому что не каждый готов терпеть невидимый результат.
Низкий барьер — это не подарок. Это низкий старт по зарплате и плотная толпа таких же. Высокий барьер — не наказание. Это фильтр, который часть конкурентов отсеял за тебя. Цена входа всегда честная: где легче зайти, там теснее внутри.
Теперь деньги — чтобы закрыть иллюзию, будто одна ветка богаче другой. Сначала оговорка про методологию, без которой цифры врут. Hh.ru считает медиану по вакансиям — то, что работодатели предлагают. Сервисы вроде Dream Job считают среднее по опросам сотрудников, и оно выше, потому что его тянут вверх редкие топ-офферы. Это разные цифры про разное.
Frontend в 2026-м: junior 50 000–80 000 ₽ по медиане hh.ru, middle 140 000–250 000 ₽, медиана по России для всех грейдов около 225 000 ₽. Backend на Python: junior 80 000–110 000 ₽ по медиане hh.ru, middle около 240 000 ₽ по медиане, среднее по России порядка 140 000 ₽ по опросу Dream Job — но это среднее по всем грейдам, новичку на него рано смотреть.
Что из этого видно. Backend-старт чуть выше нижней планкой — и это не «потому что бэк престижнее», а прямое следствие того самого порога входа: джунов меньше, за вход берут чуть больше. На дистанции обе ветки выходят на сопоставимый потолок. Middle-фронт и middle-бэк зарабатывают в одной зоне. Разница в старте — отражение разницы входа, а не разница в «ценности» ветки.
Поэтому выбирать сторону по табличке зарплат — ошибка новичка. Разрыв в деньгах между ветками меньше разрыва между «работа мне в кайф» и «я её ненавижу к четвёртому месяцу». Человек, который пошёл в backend ради лишних тридцати тысяч на старте, но тоскует без видимого результата, проиграет тому, кто пошёл во frontend по складу и горит. Деньги тут — плохой компас.
Вот настоящий критерий, и он не про деньги.
Frontend — твоё, если тянет к видимому. Тебе важно, что работу можно показать: вот, я сделал, оно реагирует на клик. У тебя есть чувство, что «криво на два пикселя» — и это раздражает. Тебе нравится, когда результат прямо перед глазами и меняется в реальном времени. И ты готов к кросс-браузерному аду: в Chrome работает, в Safari разваливается, на старом телефоне едет вёрстка — и это твоя ежедневная реальность, а не редкая неприятность.
Backend — твоё, если тянет к невидимому. Тебе интересна чистая логика без возни с пикселями и цветами кнопок. Ты любишь думать про системы: как это устроено внутри, как данные текут, почему запрос тормозит, как сделать, чтобы при сбое ничего не потерялось. Тебя не напрягает, что результат — это строчка в консоли, а не яркая картинка. Абстракция тебе не враг, а среда, в которой комфортно.
Развилка по темпераменту короткая. Визуальное мышление плюс потребность в быстром видимом фидбэке — frontend. Системное мышление плюс терпение к абстракции и невидимому результату — backend. Один и тот же человек на «не своей» ветке будет страдать там, где на «своей» летел бы.
И честно — кому ни туда, ни сюда. «Хочу делать красиво, но без программирования» — это не frontend, это дизайн интерфейсов, отдельная профессия без кода. «Хочу логику, но без неё с ума схожу, когда не видно результата» — на backend замучаешься. Иногда правильный ответ на «фронт или бэк» — «ни то, ни другое, тебе в соседнюю дверь».
Теперь добьём главный страх Марины — что выбор необратим.
Страх ложный. Базовое программное мышление — как думать алгоритмом, как читать ошибку, как разложить задачу на шаги — общее для обеих веток. Оно переносится. Сменить frontend на backend через год — это не учить профессию с нуля, а надстроить новый стек поверх готового мышления. Недели и месяцы, не годы.
Индустрия это подтверждает каждый день. Fullstack-разработчики пишут и фронт, и бэк — для них развилки вообще нет, они стоят на обеих сторонах. Переход frontend→backend и обратно — обычная строчка в карьере, а не драма с потерей года. Типичная траектория: человек заходит во frontend, потому что там ниже порог и виден результат, осваивается, потом добавляет backend и становится fullstack. Выбор первой ветки — это выбор, с чего начать видеть результат. Не клятва на крови.
Но есть честная оговорка, иначе совет станет вредным. «Делай сразу и фронт, и бэк, будь fullstack с первого дня» — ловушка для новичка. Работодателю нужен профиль, а не «и швец, и жнец на троечку по обеим сторонам». На старте лучше уйти в одну ветку глубоко: довести до уровня, на котором тебя берут. Fullstack приходит потом — из глубины одной стороны, а не из распыления по двум сразу. Обратимость есть. Но она не значит «хватайся за всё» — она значит «начни с одного, второе доберёшь, когда понадобится».
Перестань выбирать ветку по табличкам. Выбери по двум вопросам.
Первый: что тебе ближе — видимый результат, который можно показать и потрогать, или невидимая логика систем и данных? Зал ресторана или кухня. Второй: как ты переносишь абстракцию — нужен быстрый видимый фидбэк, чтобы не сдуться, или ты спокоен, когда результат живёт в консоли и в архитектуре? Если оба ответа сошлись на одной ветке — вопрос закрыт, иди учи и не оглядывайся. Если разошлись — приоритет за первым: что тебе по-человечески интереснее делать восемь часов в день.
Вечер на frontend и вечер на backend скажут тебе больше, чем месяц чтения сравнений вроде этого. Свёрстанная кнопка, которая поменяла цвет по клику, и запрос, который вернул правильные данные из базы, — два разных ощущения. Одно из них окажется твоим. Узнать, какое, можно только попробовав, а не сравнивая в табличке.
А если развилка «фронт или бэк» вообще не разрешается — проблема не в выборе ветки. Проблема в том, что ты не примерил ни одну на себя и не понял свой склад. Пройди Профтест: он определяет, к какому типу работы ты ближе — визуально-интерактивному или системно-логическому, — а из склада ветка вытекает сама, без холиваров и табличек зарплат. Сначала понять себя, потом выбрать сторону. Не наоборот.
Марина в итоге не стала выбирать по статьям. Она села и за два вечера сделала по одной маленькой вещи на каждой стороне: кнопку, которая считает клики, и крошечный сервер, который отдаёт список дел. С кнопкой ей было весело — она её крутила, перекрашивала, показывала подруге. С сервером — спокойно и интересно, но без огонька. Через два вечера она знала ответ, которого не дали две недели чтения. Проиграла не та, кто выбрал бы «не ту» ветку — ветки сообщаются, переход дёшев. Проиграла бы та, кто месяц выбирал и не попробовал ни одной.