Синяя статистика
1 пост
Сергей, Ульяновск. В IT с середины 2000-х: jQuery, ExtJS, Backbone, ранний Angular. Сейчас React и TypeScript. Коммерческий фронтенд — три года. До этого — всё подряд.
Полгода назад упёрся.
Не в деньги — в развитие. Делаешь сложные формочки. Микрофронтенды. Стейт-машины на XState. А хочется понимать систему целиком. Почему API тормозит. Как данные идут в базу. Что там, под капотом.
Fullstack. Но какой бэкенд?
На YouTube — ролики «ТОП-5 ЯЗЫКОВ, ПОКА НЕ ПОЗДНО». Парень с укладкой, Hello World три месяца назад. Я пошёл на hh.ru и начал считать сам.
Вот что вышло.
---
## Как я считал
Два источника.
**hh.ru.** Только совпадения в названиях вакансий. Без поиска по описанию — там слишком много шума. Пятнадцать запросов: Python, Java, Go, PHP, Node.js, C# — плюс их комбинации с fullstack и React. Фильтр: вся РФ, зарплата любая.
**Хабр Карьера.** 43 716 анкет, июль 2026. Медианы, а не средние — чтобы пара зарплат из Яндекса не перекосила картину.
Даты: 14–20 июля 2026. Всё руками. Без скриптов.
Что нельзя гарантировать:
Поиск по заголовкам режет абсолютные цифры. Вакансия «Senior разработчик» без языка в названии — мимо выборки. Но пропорции держиЎ смещение одно и то для всех языков.
Это срез недели. Не годовой тренд.
Закрытый рынок (внутрянка, рекомендации) не виден. Совсем.
Регионы: Москва и Ульяновск — разные галактики. Мои цифры — среднее по стране, а не по столице.
И всё же. Для карьерного решения точности достаточно.
---
## Общий рынок: Python — 519. Но это ловушка
Беру все бэкенд-вакансии. Без фильтрации. Грубая масса:
> 📊 **[ВСТАВИТЬ КАРТИНКУ: horiz_bar.png]**
- Python — 519
- Java — 468
- C#/.NET — 227
- PHP — 207
- Go — 141
- Node.js — 62
- TypeScript (бэкенд) — 53
- Ruby — 15
Python вдвое опережает C#. Картинка ясная?
Нет.
Я открыл эти 519 вакансий. Добрая половина — Data Science. Нейросети. ML. Автоматизация. Python-разработчик в банке может не писать API вообще — он обучает скоринговые модели. К fullstack это имеет слабое отношение.
Сырые цифры врут. Красиво врут — но врут. Нужна другая выборка.
Теперь Node.js и TypeScript. Если считать их одним (TypeScript-бэкенд — NestJS или Next.js, технически Node.js), вместе — 115. Третье место, сразу за Python и Java. По-моему, так честнее. Но в таблицах ниже я их разделяю — для прозрачности.
Go — 141. Много для 15-летнего.
PHP — 207. Язык, который «умер» в 2012. В 2015. В 2018. В 2020. 207 вакансий. Никак не добьют.
Ruby — 15.
---
## Fullstack-срез: PHP на первом месте. Я перепроверил трижды
Дальше — фильтрую. Только вакансии, где в заголовке или первом абзаце чётко: «фронтенд + бэкенд». Пришлось вручную просмотреть около 200 штук. Некоторые заголовки врут: написано «Fullstack Developer», внутри — чистый бэкенд.
> 📊 **[ВСТАВИТЬ КАРТИНКУ: fullstack_bar.png]**
- PHP — 30
- Python — 29
- Java — 28
- C#/.NET — 21
- Node.js — 15
- TypeScript — 10
- Go — 2
- Ruby — 1
PHP.
На первом месте.
Я не поверил. Пересчитал. Ещё раз. Цифра честная.
Только вот интерпретация. PHP вырвался не потому, что это лучший язык для веба — а потому что Laravel-экосистема исторически fullstack. Фреймворк даёт бэкенд и Blade-шаблоны из коробки. В вакансиях на Laravel ищут одного человека: база, API, фронт — всё он. Это артефакт экосистемы. Не сигнал «беги учить PHP».
Node.js + TypeScript — 25. Второе место. Я ждал меньше. Думал, fullstack занят PHP и Java, а Node.js где-то в нише. Ошибся.
Go — две вакансии на всю страну.
Две.
Не случайность. Go проектировали для микросервисов, не для fullstack. Искать fullstack на Go — как спорткар с кузовом универсал. Можно, но зачем.
### Несколько цифр без прикрас
- Fullstack-вакансий в выборке: 330
- Удалёнка: 190 (58%)
- Senior: 61, Middle: 24
- hh.индекс: 8,3 — конкуренция
- Динамика: вакансий +8%, резюме −2%
61 senior, 24 middle. В 2,5 раза.
Fullstack — не входная точка в IT. Сначала стань кем-то одним. Потом расширяйся. Рынок ждёт опытных, а middle-позиции подбирает по остаточному принципу.
---
## React + бэкенд: график, ради которого я это затеял
Главный вопрос. Какие бэкенды реально ищут в паре с React? Не «упомянут где-то в глубине требований» — прямо в заголовке или первом абзаце:
> 📊 **[ВСТАВИТЬ КАРТИНКУ: react_combos.png]**
- React + Node.js — 16
- React + PHP — 9
- React + Python — 8
- React + Java — 6
- React + .NET — 5
- React + Go — 1
16 против 9. Node.js отрывается почти вдвое.
И вот что интересно. На общем рынке Node.js — скромный середняк: 62 вакансии. В fullstack-нише — третье-четвёртое место. А в связке с React — уверенное первое.
Не самый массовый бэкенд вообще. Но для React-фронтендера — самый частый выбор нанимателя.
Почему? Четыре причины, которые, по-моему, не случаются сами собой:
**Один язык.** TypeScript на клиенте и на сервере. Типы кочуют туда-сюда без переписывания. DTO описал один раз — работает везде.
**Next.js размывает границу.** API routes, Server Components, Server Actions. Разработчик на Next.js пишет бэкенд, часто не замечая.
**NestJS — когда Next.js маловато.** Модульная архитектура, DI, guards, interceptors. Enterprise-уровень на знакомом TypeScript.
**Общий тулинг.** Zod для валидации, date-fns для дат, shared-библиотеки в монорепе. Никакого дублирования.
React + PHP (9 штук) — обычно Laravel на бэке, React как админка или SPA. Работает. Особенно в e-commerce.
React + Go (1 штука).
Одна.
Кто-нибудь вообще видел такую вакансию вживую? Отпишитесь, мне правда интересно, что за проект.
---
## Деньги: где самый толстый скачок
Хабр Карьера, 43 716 анкет. Медианы.
> 📊 **[ВСТАВИТЬ КАРТИНКУ: salaries.png]**
- Intern — 66 000 ₽
- Junior — 95 000 ₽
- Middle — 177 000 ₽
- Senior — 303 000 ₽
- Lead — 378 000 ₽
Ступеньки: Junior → Middle — плюс 82 тысячи. Middle → Senior — плюс 126 тысяч. Senior → Lead — плюс 75 тысяч.
Самый крутой подъём — между middle и senior. Рынок платит за глубину. Fullstack-middle, который «всё понемногу», стоит сильно дешевле fullstack-senior, который глубоко знает оба направления.
Что за кадром:
Разброс внутри грейдов — пропасть. Senior fullstack в региональной веб-студии и senior fullstack в финтехе живут в разных финансовых измерениях.
Хабр Карьера смещена вверх. Те, кто получает мало, реже заполняют анкеты.
Зарплаты по языкам — за регистрацией. Я не знаю, получает ли PHP-senior столько же, сколько Node.js-senior. Подозреваю, что нет. Доказательств у меня нет.
---
## Удалёнка: 190 из 330
190 fullstack-вакансий из 330 — удалённые.
Я в Ульяновске. Ближайшие офисы крупных IT — Казань, Самара. С удалёнкой это не проблема: работаешь на Москву или Питер из квартиры с видом на Волгу.
Деталь: большинство удалённых fullstack-позиций — аутсорсинг и стартапы. Enterprise осторожничает. Банки. Телеком. Им всё ещё нужен офис. Хотите Java в банке — готовьтесь к гибриду как минимум.
---
## Что я выбрал
Node.js + NestJS + TypeScript.
Не «потому что модно». Пять вещей, которые перевесили:
**Язык один.** Пишу на TypeScript больше пяти лет. Декоратор `@controller()` в NestJS — продолжение того, что знаю. Не прыжок в другую вселенную.
**16 против 1.** React + Node.js — 16 вакансий, React + Go — одна. Работодатель, которому нужен fullstack на React, ждёт Node.js. Мне не надо его переубеждать.
**Потолок далеко.** Простой CRUD на NestJS — за вечер. Дальше — CQRS, event-driven, микросервисы на Kafka/NATS. Есть куда расти.
**Next.js как трамплин.** Server Actions и API Routes — это бэкенд, просто в рамках одного фреймворка. Переход к NestJS — структурирование тех же концепций.
**Одна кодовая база.** Типы, валидация, утилиты живут в одном месте. Без дублирования.
Что через год-два? Не знаю. Может, вторым языком возьму Python + FastAPI — мост в AI/ML-проекты. Может, останусь в Node.js и пойду в ширину: базы данных, инфраструктура, девопс.
Посмотрим.
---
## Если примерять к себе
Ты React/TypeScript-фронтендер? **Node.js, NestJS.** Язык знаешь, рынок подтверждает, вход плавный.
Ты в Data Science / ML? **Python, FastAPI.** Строить веб вокруг ML-моделей — редкая комбинация. Только учти: вакансий меньше, чем в чистом вебе.
Ты в enterprise или планируешь? **Java / C#.** Стабильно. Дорого. Порог входа высокий, экосистема тяжёлая.
Любишь highload и инфраструктуру? **Go.** Fullstack-позиций почти нет. Но как чистый бэкенд — мощно.
Нужна работа прямо сейчас? **PHP, Laravel.** 30 fullstack-вакансий — больше всех. Только готовься к культурной адаптации после TypeScript.
---
Четыре вещи, которые остались после подсчётов.
Node.js — не самый большой рынок. Но для React-фронтендера — точка входа с наименьшим сопротивлением. 16 против 1. Не погрешность.
Fullstack — не старт. 61 senior-вакансия, 24 middle. Сначала глубина. Потом ширина.
Один язык на клиенте и сервере — не «удобно». Это скорость. Меньше ошибок, общий тулинг, никаких «забыл обновить типы после смены API».
Цифры — не догма. Срез июля 2026. Через полгода пересчитаю — и не поручусь, что картина не изменится.
Пишите в комментариях, какой бэкенд выбрали вы. И главное — почему. Реальный опыт интереснее любых цифр.
А если кто-то видел fullstack на Go вживую — маякните. Мне правда интересно.
---
*Данные: hh.ru и Хабр Карьера, 14–20 июля 2026, РФ. Поиск по заголовкам — абсолютные цифры занижены, пропорции репрезентативны. Детальные зарплаты по языкам — за регистрацией, не включены. Региональные перекосы возможны.*
Себестоимость самогона считал с помощью онлайн калькулятора.
На графике видно, как себестоимость самогона выросла с 25 рублей в 2004 году до 107 рублей в 2024.
_____________
Данные взяты тут:
Дед, опытный самогонщик, вспоминал, что с начала 2000х до 2014 цены на сахар не особо росли, а в последние годы, капиталисты словно взбесились, ну и цены вместе с ними... Мне стало интересно и я решил провести небольшое исследование, чтобы посмотреть, как менялась себестоимость литра самогона на протяжении 20 лет.
Чтобы все обстоятельно обстряпать, я погрузился в глубины интернета в поисках статистики и всплыл лишь через пару часов перед обедом. Так о чем это я.., ах да, данные (ссылки на них в конце статьи), удалось нарыть информацию, как менялись цены в России на сахар (цены усредненные, в разных регионах отличались, так что не пинайте меня, если у Вас другие цены были), так же нашел цены на электроэнергию за 20и-летний период (мой самогонный пепелац именно на электричестве пашет), цены на дрожжи - тут мимо, удалось найти только цены за два разных года, поэтому пришлось экстраполировать, но хоть что-то.
Сперва подумал, что буду на бумажке считать, но обсчитав целых 3 года понял, что я "не целеустремленный лентяй" и "ну эту затею к буржуевой матери"! И как только я осознал себя, так сразу загуглил "калькулятор стоимости самогона" - о чудо, такой действительно существует! :) (вот он, кому интересно, тем более на нем были основаны расчеты)
Да, дед оказался прав (впрочем, как почти всегда).
Есть оговорка, что на фоне всего графика, рост цены самогона в период с 2004 по 2014 был довольно плавным, хотя цена изменилась целых в 2 раза за 10 лет с 25 до 50 руб. за литр. Потом, после незначительного роста в 2015, цена на Сэм даже падала аж 4 года и в 2019 составляла в среднем те же 50 руб./литр.
Самый бурный рост цен (как на продукты, так и на самогон) наблюдается последние 5 лет. Себестоимость дистиллята снова увеличилась в 2 раза, причем это произошло в 2 раза быстрее, чем с 2004 по 2014, т.е. скорость роста цены на напиток аж двух кратная...
Причем именно изменение стоимости цены на сырье делает основной вклад в то, как резко менялась цена в 20х годах. Это видно, если обратить внимание на график изменения цены на электричество в России (взяты средние значения по регионам) - график практически линейный:
В итоге мы имеем цену в 25 рублей в 2004 году и 107 рублей в 2024 - цена выросла больше чем в 4 раза, а дед оказался прав!
_____________
Данные взяты из открытых источников:
[Инфляцио.РУ], [Т—Ж], [Forbes.ru], [РБК Магазин исследований].
Графики построены самостоятельно.
По семейным обстоятельствам пришлось уехать на пару недель в деревню к бабушке. Пирожки, вонь навоза и природа задолбали уже на второй день. Друзей детства в этой мухосрани не осталось, все разъехались. Мрак полный. Спасался только аудиокнигами: на взятом с собой ноуте скачивал книжку, потом перекидывал на мобилу, наушники в уши и сознание покидает серое окружение. Слушал цикл «Еда и Патроны», самое оно, слушать про постапокалипсис в таком окружении.
Писец подкрался неожиданно, когда накрылся медным тазом родной ноут. Чувство будто близкий друг умер, как же я умолял его «ну, пожалуйста, включись!».. Но всё бесполезно. За соседней навозной кучей сервисного центра не нашлось. В довершении всего любимые аудиокниги заканчивались, надо же было не полагается на ноут и накачать в телефон побольше, да кто знал. Но телефон то работает, полез я качать через него, а тут сюрприз, на рутрекер не пускает, надо VPN, но через бесплатный, торенты не качаются. Начал шерстить Google Play, нашёл кучу одинаковых плееров и деньгососных приложений. Все эти поиски бесили нереально, но я всё же победил!
Понял, что выход есть, когда на форуме наткнулся на описание концепции приложений, которые объединяют в себе поисковик, загрузчик и плеер аудиокниг. Для работы такой приложухи нужен только аккаунт на торент трекере, аудиокниги в приложении, обычно, сортируются по жанрам, ну и поиском можно воспользоваться – по автору поискать или по названию.
Спасение пришло с 4pda, нашел такую приложуху именно там (кому может полезно будет, вот она тык сюда, называется «аудиокниги — торрент», неудивительно, что его не найти в GooglePlay). VPN не надо, торрент-аккаунта не надо (поэтому и выбрал), залетаешь в раздел «российская фантастика, мистика, ужасы», пару нажатий и пошла загрузка. Если сразу качать много книг телефон начинает тупить и греться. В этом приложении можно и слушать аудиокниги, я сначала слушал любимым плеером, но в какой-то момент стало лень переключатся между приложухами.
Через это приложение скачал и слушал «Метро» Ивана Прохорова. Это не метро Глуховского, а что-то свежее, мистика, триллер и даже немного детектива. Самое оно, 37 увлекательных часов, слушаешь и как будто не в надоевшей деревне. Рекомендую, начало сильно увлекло, правда под конец как-то всё запутано стало.
Всем удачи! И да здравствуют аудиокниги, без них я бы давно поехал кукухой :)
Мой кореш, как-то вскользь сказал, что у него есть 80 литров просроченного детского яблочного сока, уж откуда он его только взял, не знаю... Вспомнив дедов Пепелац, у меня загорелись глаза и почему-то зачесался нос.
Позвонил деду, говорю - так мол и так.., есть 80 литров сока, дай Пепелац на время. Он согласился, но сказал, что треть бухла его!
Взял 80-и литровую бочку деда, 20-и литровый бутыль и аппарат, поехал в магазин и купил 6 кг сахара по мудрому наставлению синего аксакала.
По приезду домой, весь вечер чекрыжил упаковки замороженного сока, выливая, а иногда и высыпая содержимое в бочку.
Дед рассказал чего как делать. В итоге еще раз десять звонил ему за дополнительной консультацией 🧐.
Примерно треть сока вскипятил в кастрюлях, поочередно выливая кипяток в бочку с яблочным льдом. Параллельно с кипячением, разводил в соке сахар. В итоге часть сладкого сока пришлось вылить в 20 литровый бутыль, т.к. бочки просто не хватило.
В тот же вечер заказал 100 гр. белорусских сухих дрожжей на казаньэкспрессе, чтоб долго не ждать и не мотаться по городу в их поиске. Уже на следующий день внес дрожжи в затор (не церемонился, все 100 граммов бахнул), предварительно померив температуру яблочной жижи (на тот момент была 29 градусов).
Подождал 8 дней и крепкий сидр был готов, но пить я его не стал (во всяком случае весь).
Собрал дедов Пепелац, стал перегонять браду...
За один вечер сделал первый перегон. В две заправки этот Титан управился с 80-ю литрами браги.
Затем наступил самый сложный момент - вторая перегонка!
Курение интернета, звонки деду, снова поиски в интернете...
Оказалось всё не так уж и сложно! Если пол дня поразбираться...
В интернете нашел калькулятор самогонщика, который не тупил и не раздражал (тык сюда, если кому понадобится, там всё есть, и как водой разбавлять, и как вторую перегонку делать).
Что хочу отметить: когда перегонял, ванную наполнил офигенный густой яблочный аромат!
Что в итоге: 14 литров ароматного яблочного дистиллята и 3 довольные красные морды - моя, деда и моего кореша!
Это Кенгуру Гудфеллоу. Они обитают в тропических лесах Новой Гвинеи. Древесные кенгуру довольно крупные, длина их тела от 55 до 75 см (хвост от 65 до 80 см), а вес от 6 до 18 кг.
В отличие от своих наземных собратьев, древесные кенгуру имеют короткие задние ноги с широкой подошвой. Кроме того, на их лапах имеются длинные загнутые когти, которые помогают животному цепляться за стволы деревьев.