Привет, Хабр! (И тебе, HR, который ставит в вакансию «Python, SQL, Linux, Docker, K8s, Spark, Airflow, английский C1, опыт 1-3 года, зарплата 40-60К». Особенно тебе.)
Сегодня будем препарировать рынок Python-разработки в России. По-настоящему. С графиками, цифрами и верой в светлое будущее.
Поехали.
P.S Если вводная часть того как я анализировал не интересна смело переходи к главе 2, не мучай себя избыточной информацией))
P.P.S Также хочу зарее предупредить, что многие наблюдения я могу утрировать, высмеивать. Но неизменными и честными остаются данные на графиках и таблицах. Так что если вам нужна серьёзность и точность данных, листайте смотрите и не читайте, я предупредил))
Глава 0. Зачем я это сделал и почему пожалел
Идея была простая: «А давай посмотрим, сколько на самом деле платят Python-разработчикам в России?». Звучит как пятничный pet-project на вечер. По факту - это были 9 месяцев парсинга, со всеми возможными приколами, то я накосячил и оставил разделитель csv в виде запятой, даже не задумавшись, что запятые в тексте везде, то hh API заблокировали и с апреля я наблюдаю статус 403 и мой план собрать большую аналитику за 1, а то и 2 года сорвался. Ну ладно, и так сойдёт, эта аналитика оказалась как и предполагалось весьма интересной и для новичков в IT и для тех кто уже долго крутится на этом рынке. Так что едем дальше...
Что хотелось узнать:
Сколько правда платят?
Где платят больше?
Какие навыки сейчас в тренде, а какие пора удалять из резюме?
Кто идеальный кандидат «по версии hh» и можно ли таким стать без продажи почки?
Вкратце для шустрых комментаторов - что получилось узнать:
Сыктывкар платит больше Москвы (нет, но да, но нет).
В Тбилиси медианная зарплата Data Scientist - 450 000 ₽ (n=4, конечно, но звучит).
Python как навык за 8 месяцев подешевел на 7.9 п.п. в Python-вакансиях. Сами вдумайтесь.
HR-ы Краснодара решили, что вилка 30К-80К - это нормальная вилка для одной вакансии.
Но обо всём по порядку.
Глава 1. Боль сбора данных: как hh.ru меня подставил
Изначально план был такой: парсим данные раз в две-четыре недели, копим год, потом красиво анализируем. Чисто и наивно.
Что пошло не так (всё):
Запятая как разделитель в CSV. Гениальное решение для языка, в котором запятая - это половина пунктуации. Спасибо, прошлый я. Первый датасет пришлось переразбивать руками-регулярками.
hh.ru в апреле 2026 убил API для вакансий. Просто вот так. Парсишь ты вечером, всё хорошо, утром просыпаешься -
403 Forbidden, finita la commedia. Поэтому моя «коллекция» обрывается на апреле 2026. Это уже не датасет - это археологический срез последнего открытого месяца((( Плак-плак.Распределение по датам - это слёзы статистика. Вот моя «равномерная» выборка:
Дата |
Вакансий |
|---|---|
2025-10-05 |
9434 |
2025-08-01 |
8793 |
2025-09-01 |
8599 |
2026-04-07 |
6635 |
2026-01-26 |
6474 |
2026-03-23 |
5990 |
2026-02-10 |
5288 |
2025-12-04 |
4769 |
2026-01-27 |
2819 |
2026-02-11 |
1680 |
2026-02-09 |
1526 |
2025-12-03 |
346 |
2026-04-08 |
250 |
Да, в ноябре я чем-то был серьёзным занят. Если кто из работодателей нанимал в ноябре - извините, вас в моих данных нет.
Итого: ~62 тысячи вакансий, 9 месяцев, запрос Python (поиск по навыку). Стек - Python, pandas, matplotlib, sklearn, networkx, Jupyter в VS Code, локально, без облаков. Олдскул.
Ну на вводной части всё, фух..., теперь к тому ради чего мы здесь все собрались.
Глава 2. Что у нас по цифрам и кто все эти люди?
Прежде чем погружаться в зарплатные ужасы и географические аномалии, давайте посмотрим на рынок с высоты птичьего полёта. У меня в датасете два графика, которые отвечают на два самых базовых вопроса: «сколько вакансий?» и «кому они вообще нужны?». И оба графика, как водится, поднимают больше вопросов, чем ответов.

Мы видим среднее: 7825 вакансий в месяц. Звучит солидно. Пока не посмотришь на разброс.
Что бросается в глаза:
Октябрь - пик найма. Бюджеты на следующий год ещё не утвердили, но «доедать» текущий нужно срочно. Классика корпоративной логики: «деньги остались - нанимаем, иначе срежут в следующем квартале».
Декабрь - провал в -40%. 5115 вакансий против 9434 в октябре. HR-ы массово ушли в новогодний корпоратив прямо с середины декабря, и до 15 января их не существует как класса. Если вы искали работу в декабре 2025 - соболезную, рынок физически был закрыт.
Январь - взрыв +82% за месяц. Самый резкий месячный рост за весь период наблюдения. Это не «рынок ожил» - это HR-ы вернулись из отпусков и одновременно опубликовали всё, что копили месяц. Если вы junior и думаете «когда искать работу» - получается ответ: январь-февраль. Не сентябрь, не «после праздников», а именно январь, пока пик ещё не съели быстрые соискатели.
А что в Апреле? - в апреле всё, API быстренько отключили для парсинга вакансий, вот и мы видим только то что получилось успеть собрать.
Вывод для тех, кто ищет работу: рынок Python - это синусоида с периодом «новогодние праздники». Хочешь много вакансий - пиши резюме в январе. Хочешь спокойно собеседоваться без конкуренции - в декабре (только готовься, что отвечать будут после 15 января, и это нормально).
Вообщем по этому графику мы видим относительно предсказуемую картину. Идём смотреть дальше...
Теперь второй график. И вот он уже не «забавный», а скорее слегка пугающий.

Топ-10 покрывает 73.4% рынка. Остальные 26.6% размазаны примерно по 60 другим ролям - от «Геолога» до «Агента по недвижимости». Да-да, в Python-вакансиях. Сейчас разберём, как такое возможно.
Что важного видно:
1. «Программист» - это 27.7% рынка. Один из четырёх. Категория «Программист, разработчик» на hh - это огромный размытый ярлык, под который HR валит всё подряд: бэкенд, фронт, скрипт-кидди, embedded, geek-в-одной-каске. По факту это не роль, это «мы не знаем, как назвать, но нам нужен кто-то с Python». Когда в категории «Программист» вилка 30К-800К и медиана 150К - это не статистика, это шум.
2. Аналитиков больше, чем тестировщиков и дата-сайентистов вместе. Если сложить BI-аналитика (4984) + Аналитика (2309) + смежные - получается, что аналитика данных на hh почти догоняет разработку. И это не «вкатуны» - это реальные позиции с медианой 130-140К. Junior-у, который выбирает «куда вкатиться», стоит обратить внимание: вакансий аналитиков на единицу конкуренции, скорее всего, больше, чем у разработчиков.
3. Учитель Python - 2.5% рынка (1548 вакансий). Полторы тысячи вакансий за 8 месяцев. Это больше, чем тех. поддержка. Вот они, эти 1548 счастливых работодателей, каждый со своим понятием о справедливой оплате преподавания Python. От 30К за вечерние курсы до 200К в корпоративном университете - и всё это одна категория на hh.
4. «Другое» - 3589 вакансий, 5.7%. Внутри «Другого», лежит дикая смесь: от геймдева до промышленной автоматизации, от QA-автоматизаторов, которых не пометили QA, до криптотрейдеров. Вообщем те кого мало в РФ... Хотя криптотрейдеров сейчас развелось, но не об этом))
5. Системный администратор - 2568 вакансий с медианой 130К. Удивил. Я думал, профессия сисадмина уже растворилась в DevOps. Оказывается, нет - она живёт, дышит, и от неё требуют Python для автоматизации Bash-скриптов. Поэтому она и попала в выборку. Это тот самый случай, когда Python - не «специализация», а просто инструмент. Но важное уточнение и достаточно логичное, Системные администраторы в большем своём количестве нужны не в Москве.
Из всего этого следует одна неудобная мысль:
Рынок Python в России - это не рынок профессии. Это рынок ярлыков, и HR-ярлык на твоей вакансии влияет на твою зарплату сильнее, чем твой реальный стек.
Запомни это, когда в следующий раз будешь обновлять резюме. Не «что я умею», а «как меня пометит HR-фильтр» - вот настоящий вопрос. Грустно? Грустно. Но это и есть данные.
Глава 3. Зарплатное молчание: 62% вакансий просто не говорят, сколько платят
Но вот первый шок (хотя для тех кто часто листает hh это наверное и база), ради которого можно было дальше не копать.

Из ~62 000 Python-вакансий зарплату указали только 38%. Остальные - «по результатам собеседования», «достойная», «обсуждается с успешным кандидатом», «зависит от вашей квалификации» (то есть «мы посмотрим, сколько готовы дать именно тебе, чтобы было побольнее»). Реалии рынка: middle который только пришёл может получать в одной компании больше чем senior который работает в этой компании уже 10 лет.

Хуже всех молчат - внимание - аналитики и системные аналитики (77–83% без ЗП). Те самые ребята, которые сами по работе должны бороться с пропущенными значениями. Метаирония.
Лучше всех говорят (то есть указывают ЗП чаще) - учителя и педагоги. И, забегая вперёд, лучше бы они молчали.
От куда здесь Фармацевт-провизор? Я не знаю и даже не представлю почему hh разметил и вернул мне это как, что-то, что соответствует тегу python. Так что давайте это воспринимать как шум на примере которого мы можем сравнивать ЗП не с рынком IT. Ну или напишите в комментариях почему я не обработал данные настолько идеально, а я отвечу что мне было лень...
Глава 4. Зарплатная вилка: 80% - это, оказывается, «нормально»
Вот мой любимый график. Просто посмотрите:

Учителя - это отдельный жанр на hh. Когда я увидел «80% ширина вилки», я сначала подумал, что это баг в коде. Перепроверил трижды. Нет, не баг. Это просто работодатели сферы образования настолько не знают, сколько готовы платить, что вилка получается шире, чем у кого-либо.
Город-чемпион по ширине вилки - Краснодар (60%, n=149). Все, кто едет работать в Краснодар: вас ждёт лотерея. Победителей не предусмотрено. Но попытаться можно))
Москва тут, кстати, выглядит почти прилично - 35% ширина при n=3069. Видимо, столичные HR-ы хотя бы делают вид, что что-то знают про рынок.
И ещё бонусом один график по вилке:

Глава 5. География: Сыктывкар, Магадан и другие столицы Python
Самое весёлое случилось, когда я построил карту «роль × город» по медианным зарплатам. И тут понеслось.


Топ парадоксов:
Тбилиси, Data Scientist: 450 000 ₽ (n=4). Я перепроверил эти 4 вакансии. Реально 450К. То ли релокация в Грузию ещё в тренде, то ли там сидят оставшиеся «эмигранты с инвестициями».
Тбилиси, DevOps: 400 000 ₽ (n=3). Та же история.
Но с Тбилиси мы не закончили. Семь (7!) вакансий с медианой 50 000 ₽. Какие-то реальные семь работодателей верят в такие цифры, и мало того что верят, получается к ним кто-то ещё и приходит и работает, и платят им как кассиру в Пятёрочке. Точнее по-грузински Гудвил (грузинский супер-маркет). Короче разрабы python в Грузии не в цене, другое дело Data Scientist или DevOps.
Жуковский: 200К за разработчика. Это уже почти Москва. Логично.
Жуковский, учитель: 85К (n=5). В Жуковский python-учителю платят 85к. В Москве - 100к. Логистика, как видите, делает своё дело.
Дубна, программист: 175К (n=10). Дубна (физики, ОИЯИ, атомы) - ожидаемо.
И отдельно - Москва: 3069 разработческих вакансий, медиана 190k. То есть половина всего рынка Python в России находится в одном городе. Если кому-то ещё нужны доказательства, что у нас всё централизовано - вот вам централизация в одном heatmap.
Но, не стоит уже складывать чемоданы в Москву и ехать на Курский вокзал, сначала гляньте-ка на этот график:

Здесь я думаю и без моих комментариев всё понятно, но здесь не всё так просто...

Глава 6. Зарплатная динамика во времени: американские горки для DevOps
А теперь садитесь поудобнее. Я взял топ-4 ролей и построил динамику медианной ЗП по месяцам.
Что должно было получиться: плавный рост, лёгкая инфляция, всё предсказуемо.
Что получилось:


Внимание на DevOps. В августе 2025 - 230К. В январе 2026 - внезапное падение на -26% (heatmap показывает). К апрелю слегка восстановился, но всё равно в минусе. Самая дорогая инженерная роль в моих данных просела за 8 месяцев.
Я долго думал, что это значит. Версии:
Хайп прошёл, DevOps стало много, ценник падает.
Часть «дорогих» DevOps ушла в найм без публикации (вакансии для своих).
Все DevOps уехали в Тбилиси и теперь работают за 400К оттуда (см. предыдущую главу).
А вот Data Scientist - это аттракцион не для людей со слабым вестибулярным аппаратом. Посмотрите на индекс:


Август 2025: 100%
Сентябрь 2025: 83% (-17%, что??)
Январь 2026: 164% (+64%)
Март 2026: 156%
Апрель 2026: 111%
Это не зарплата, это график биткоина. У меня единственное объяснение - маленькая выборка (n=344 за всё время) + редкие, но очень дорогие вакансии типа «ищем сеньора в банк за 500К». Одна такая вакансия в месяце с n=10 - и медиана улетает в космос.
Но если усреднить шум - рост реальный. Дата-сайентисты - единственная «инженерная» роль, которая стабильно растёт в цене. Учителям и тестировщикам это тоже удалось, но из совсем другой стартовой точки.
Короче DS новое золото для IT рынка... Как бы вы на это не смотрели...
Глава 7. Главный твист статьи: Python падает
Я долго смотрел на этот график, прежде чем понял, что я вижу. А вижу я вот что:
Доля упоминаний Python в вакансиях, помеченных как Python:
Август 2025: 62.8%
Февраль 2026: 54.9%
Дельта: -7.9 п.п.
То есть hh-теги - это, мягко говоря, не source of truth. Вакансия может быть помечена тегом Python, но в требованиях Python не упомянут. На графе навыков это видно отлично - Python-вакансии расцветают вокруг SQL, Linux, Docker, а сам Python всё чаще остаётся за кадром, в роли «ну и так понятно, что нужен». С этими курсами Python за 3 дня сам навык теряет свою ценность и вес. Его просто стало сложно оценивать и каждый год по +1000 желающих войти в IT. Обесценивают этот навык заставляя работодателей задрать планку отбора до небес хотя по итогу после трудоустройства ты сядешь и будешь писать всё тот же python-код изредко прибегая к этим вашим модным kubernetes, clickhouse, redis и тд
А сейчас держитесь крепче, будет нечто страшное и не слыханное ранее:

Да-да и ещё раз да. В Python-вакансиях растёт упоминание MS Excel. В вакансиях, где люди должны программировать на одном из лучших языков обработки данных. Excel. Я даже не знаю, плакать или открывать LibreOffice Calc и тренироваться. Ну конечно здесь можно оговориться, что к примеру для аналитика это важный навык, для преподавателя программирования это так же важный график, да, но сейчас 2026 год...
А ещё растут «софт-скиллы»: аналитическое мышление, работа с информацией. Это значит ровно одно: HR-ы поняли, что «знание Python» - это уже не выделяющий фактор, надо требовать что-то более душевное. Вроде «уметь думать». До такого мы дошли.

Теперь смотрим на топ навыков по встречаемости, всё очевидно, это просто вам для составления резюме. Берём топ 5, а лучше топ 10 навыков и добавляем в резюмешку, и готово, вы нужны 80% работодателей. Какой я оптимист)) Да?)
А теперь смотрите какой красивый граф я для вас нарисовал))

Что здесь можно увидеть? По сути ничего нового, но теперь становиться понятна связка одного навыка с другими. Здесь мы как будто в магазине и хотим сварить модную крутую кашу из видосика. Набираем крупу (Python), в месте с крупой берём молоко (sql), можно для вкуса взять масло (git), хотя оно как будто по умолчанию у всех уже в холодильнике есть, но типа взяли. Затем для красивой картинки и чтобы показать на фотке, что мы не просто кашу едим, покупаем ягод, роскошный максимум или базовый минимум, решайте сами (docker), так же подсластим сахарком тростниковым (kubernetes), ну или раз уж все на фотографиях с кашей улыбаются, берём хорошее настроение (Аналитическое мышление, ms excel, работа с большим объёмом информации).
P.S Про тарелку для каши я уже не говорю, это обязательно (linux).
И ещё бонусом:



Глава 8. Что я понял, пока всё это парсил
Несколько неудобных выводов, которые делают грустно, но полезно (сделали ещё выводы, пишите в комментах):
Рынок Python в России - это рынок Москвы по большей части. Всё остальное - статистическая погрешность с n<300.
62% вакансий без зарплаты - это не «hh виноват», это рынок не хочет торговаться публично. Когда работодатель не пишет вилку - он экономит на тех, кто стесняется спросить.
Теги hh.ru - это шум. Вакансия может быть помечена Python, в требованиях - «уверенный пользователь Excel и работа с большим объёмом информации». Кластеризация навыков (sklearn, KMeans) показывает огромный кластер C1, где Python, SQL и C++ свалены в одну кучу. Это не профессии - это попытка hh пометить хоть что-то.
DevOps больше не «золотая жила», по крайней мере по медианам открытых ЗП. Возможно, рынок дозрел.
Стагнация программистов в 0.0% - это, наверное, самое грустное число во всей статье. За 8 месяцев медианная ЗП Python-разработчика не выросла ни на копейку. При официальной инфляции это означает реальное падение примерно на 6-8%, но дамы и господа это по официальной...)))))
P.S. (как полагается)
Вакансий обработано: ~62 800
Уникальных городов: 1318 (из них 1300 имели ≤20 вакансий)
Самая высокая медиана: Тбилиси, Data Scientist - 450 000 ₽ (n=4, не повторять дома)
Самая низкая медиана: Путилково, Программист - 50 000 ₽ (n=7, это тоже не повторять)
Объём финального датафрейма: 600 мб в памяти.
Веры в открытость рынка труда: утрачено примерно 80%
Если у вас есть собственные наблюдения, замечания, или вы тот самый Data Scientist из Тбилиси за 450k - пишите в комменты, очень хочется понять, как там у вас.
Все прочитавшим до конца спасибо. На самом деле статья выдалась сложной и работа над тем что вы видите, если нужно будет в комментариях ссылочкой на гугл диск со всеми графиками которые получилось сделать. И многие на самом деле не вошли в статью, так как тогда бы эта статья была на час...
Комментарии (130)

Tishka17
19.05.2026 08:27А что не так с запятой в csv? Нормально же всё работает

MrSotnik Автор
19.05.2026 08:27Я накосячил с сепоратором и кодировкой))

Tishka17
19.05.2026 08:27Непонятно. Не важно какой у тебя сепаратор, главное чтобы ты при записи и чтении один юзал

Tanriol
19.05.2026 08:27С использованием предназначенных для этого библиотек - разумеется. Но CSV производит впечатление простого формата, который можно легко писать вручную, и лезть за библиотекой для записи часто лень, хочется обойтись обычным форматированием строк. И всё будет работать хорошо… пока записываемые поля не содержат сепаратор (например, в описании позиции, если его сохранять). А вот когда вспоминаешь про экранирование - понимаешь, что по честному с библиотекой всё-таки проще.

Flux82
19.05.2026 08:27Простота - это ловушка. Дата и время тоже выглядят просто. И e-mail. Да что там, вот например есть DOI-адреса, присваиваемые статьям. Можно подумать, что они всегда выглядят примерно так (https://doi.org/10.48550/arXiv.1706.03762), но на самом деле частенько встретится DOI с символами
; ( ) /.По-честному хороший программист (и инженер) должен держать в голове edge cases и чётко представлять ограничения самописных велосипедов :)

Andriuxa
19.05.2026 08:27текстовые поля в CSV надо в кавычках вводить, тогда содержимое не перепутается с сепараторами.

Arhammon
19.05.2026 08:27В CSV запятая разделитель, а точка разделитель разрядов, в "русском CSV" точка с запятой разделитель, а запятая разделитель разрядов. При смешивании(или данных или понятий CSV, русский CSV) ничего хорошего не происходит...

Tishka17
19.05.2026 08:27ну если полфайла написать в xml, а вторую половину в json тоже ничего хорошег оне будет. Вопрос получается не к csv и запятой, а к тому что забыли зафиксировать формат?

Arhammon
19.05.2026 08:27Это чисто локальная проблема изза регионального стандарта - все что ты можешь пару раз воткнувшись начать везде принудительно указывать сепаратор, а то он где-то жестко дефолтная запятая, а где-то может сам взять из системной русской локали точку с запятой как дефолнтую. От чужих данных это естественно не защищает...

fzfx
19.05.2026 08:27в данном случае [скорее всего] да, но, как выше упоминал @Tanriol, проблема несколько шире. при казалось бы внешней простоте идеи "давайте разделять поля запятой, да и всё" там полно подводых камней. например попытка ускорить постгресовскую инструкцию `COPY FROM ... (FORMAT csv)` с помощью SIMD началась 9 месяцев назад, включила в себя усилия более десятка человек, привела к неоднозначным результатам при тестировании производительности, переживает на данный момент 17 итерацию патча и всё ещё (как я понял) далека от завершения.
https://www.postgresql.org/message-id/flat/CAOzEurSW8cNr6TPKsjrstnPfhf4QyQqB4tnPXGGe8N4e_v7Jig%40mail.gmail.com

RepppINTim
19.05.2026 08:27Поэтому лучше сразу приучить себя использовать табуляцию. TSV спасает от 99% проблем с разделителями в текстовых данных

RepppINTim
19.05.2026 08:27Работает пока в поле описания HR не напишет список скиллов через запятую, потом у тебя колонки съезжают вправо на полкилометра

Tishka17
19.05.2026 08:27У меня не съезжают. Покажите код, как вы csv создаете?

zamboga
19.05.2026 08:27Речь идёт о чтении, а не записи.

Tishka17
19.05.2026 08:27Специально сейчас создал файл:
Id, Name 1, ООО тстань 2, "ИП, Равда"Открыл его в libreoffice calc, ничего никуда не съехало.

zamboga
19.05.2026 08:27У вас кавычки и всего 2 строки, хотя строки, скорее всего тут вообще не роляют.
Сгенерируйте датасет на 100 строк и 20 столбцов только чур, без кавычек, и с зоопарком запятых (например, с адресами)
Tishka17
19.05.2026 08:27Кавычки - это часть синтаксиса csv, они используются если значение содержит разделители. Вы бы ещё предложили в json без кавычек писать и удивлялись почему он не читается

zamboga
19.05.2026 08:27Да, но нет.
Мне самому не раз приходилось разбирать csv с запятыми без кавычек.
Tishka17
19.05.2026 08:27Значит это был не csv, а собранный на коленке формат отдаленно похожий на него. Мне вот тоже попадался "json" в котором вместо true было написано True.

zamboga
19.05.2026 08:27Да просто на любом этапе надо учитывать весь этот зоопарк:
зоопарк кодировок (ANSI / ASCII / Unicode / UTF / win1251 / win1250 / KOI-8 / OEM-866)
зоопарк стандартов написания чисел (12 345,67 / 12,345.67)
зоопарк разделителей ( , ; . \ | / tab space 4_spaces )
зоопарк кавычек, апострофов, символов дюйма (" ' " « » „ “ )
зоопарк скобок ()[]{}<>
зоопарк расширений ( .txt / .csv / комбо_расширений_в_имени_файла.csv.txt, потому что в windows отключён показ расширений, и пользователь видит только файл.csv вместо файл.csv.txt / папка_в_имени_которой.csv
зоопарк регистрозависимости ( case-sensitive / case-insensitive )
при этом в каждом ЯП свой набор всего этого, а люди могут ошибиться на любом этапе, особенно при переключении между ЯП или разными стандартами.

MrSotnik Автор
19.05.2026 08:27Понял, всех больше волнует сепоратор для CSV, а не тема статьи)))

TaskForce141
19.05.2026 08:27Пища для размышлений: сложно серьезно относиться к самому материалу, когда у его автора проблемы с грамотностью и компетентностью. Уверенные операторы ЭВМ, которые на формат грешат, а не на ошибку самого оператора, тоже воспринимаются негативно.

Remigrant
19.05.2026 08:27сложно серьезно относиться к самому материалу, когда у его автора проблемы с грамотностью и компетентностью.
Совершенно верно! Но у статьи, тем не менее, под сотню плюсов. :-(
(И объяснил бы ещё кто-нибудь автору, что слово "сепаратор" пишется через два "а". А то ему, поди, даже и невдомёк, что слова "спарсил" и "сепаратор" однокоренные.

Astroscope
19.05.2026 08:27Но это обычные грабли, на которые наступают примерно все и, нередко, многократно. А слишком очевидная для упоминания вслух причина в том, что назначенный символ сепаратора может присутствовать (и зачастую присутствует) в изначальных данных как часть самих данных. Не то, чтобы с этим нельзя было справиться, но когда обсуждается проблема, с которой сталкивались примерно все, неудивительно, что обсуждение получает широкий отклик и вовлечение.

domix32
19.05.2026 08:27В Python-вакансиях растёт упоминание MS Excel.
а это ни разу не шум. Многие доморощенные отделы аналитики как-то так и выглядят. На собеседовании тебя будут спрашивать про опыта с пандой, csv, ченить про сам язык спросят, а на деле выдадут машину без админских прав на винде, чтобы ты сидел генерировал дашборды для экселя БЕЗ ПИТОНА, потому что местные безопасники не разрешают. В итоге простенькие задачи, решаемые одним запросов в БД и однострочником в питоне превращаются в недели поедания кактуса через задний проход. И чем больше имя кампании близится на слух к "Рога и копыта", тем более вероятным становится подобный сценарий - некоторый корпоративный змеюшник с офисной же драмой, тоннами email и общением с не самыми светлыми заказчиками как внутренними, так и внешними, для которых исполняются подрядные работы.
Вот моя «равномерная» выборка:
не очень понятно что за числа в выборке. Если вакансия была не закрыта за месяц она попадёт в новый месяц или это произвольный срез активных вакансий на некотору. текущую дату?

MrSotnik Автор
19.05.2026 08:27Полностью поддерживаю вас, это срез. Но тут я поясню, что обычно на hh вакансия падает в архив спустя месяц после публикации автоматом

domix32
19.05.2026 08:27Ну, условно публикации случались 29 числа, а вы с парсером полезли 30 того же месяца и потом следующего взяли чуть пораньше числа 28. Вака пережила архивацию и попала в оба дайджеста.
Аналогичная история с виртуальными вакухами - их открыли, пару дней спустя закрыли, а вы их и не видели вовсе.
Срез конечно тоже неплохо, но стоило уточнить методологию сбора данных для понимания насколько цифры могут отличаться от реальности.

MrSotnik Автор
19.05.2026 08:27Ну так не получилось бы так как я собираю ID и актуализирую по ID даты её появления, последующие не собираю и игнорю

IvUs
19.05.2026 08:27Может, дело в другом совсем? Встроенный Python появился в Excel два года назад. Соответственно, постепенно начинают требоваться люди которые умеют применять Python в Excel.

domix32
19.05.2026 08:27А вот тут я не знаю. Это опыт знакомых вайтишников, которые подались после курсов в эти поля. Не могу сказать с какой средней версией экселей они там работают и какой средний процент легаси на VB был переписан на питон, учитывая что многие подобные кампании уже лет 10-15 существуют, а то и раньше.

hullaballoo
19.05.2026 08:27А однострочники на SQL в экселе можно писать с версии 2010.
Итого, получается золотое комбо: эксель, питон и SQL в едином интерфейсе.

MTyrz
19.05.2026 08:27Полный оффтоп: автор, у вас в подписи в профиле что лишнее, буква или запятая?
Паршу, чищу, обучаю

MrSotnik Автор
19.05.2026 08:27Это не опечатка, это диагноз судя по всему. Я действительно паршу данные)))
Окей, спасибо, поправлю, всё равно мне не нравилось это описание профиля. Ставлю лайк за внимательность, за пол года Вы первый кто обратил на это внимание.
MTyrz
19.05.2026 08:27Я действительно паршу данные)))
И это хорошо видно прямо из статьи. Но звучит так, что я не удержался )

DMariya
19.05.2026 08:27Если сделать аналитику текста вакансий, то обнаружите более интересные закономерности). Попробуйте в этом разрезе распарсить базу по параметрам работодателя и самого описания. Это вам подгон для продолжения статьи.))

RepppINTim
19.05.2026 08:2762% вакансий без вилки - это базовый фильтр на неуверенность. Никто не хочет светить бюджеты, чтобы текущие мидлы в штате не пошли просить прибавку

WASD1
19.05.2026 08:27Рынок Python в России - это не рынок профессии. Это рынок ярлыков, и HR-ярлык на твоей вакансии влияет на твою зарплату сильнее, чем твой реальный стек.
Оператор перфорационной машины / программист-кодировщик / программист на [ЯП-X, например - ]python - всё это временные профессии.
А по-сути навыки, которые на недолгое время стали профессией из-за несовершенства технических средств.
То есть ни (условно) в 2010 ни в 2026 году не нужен человек, который умеет только лишь писать код на python, а нужен челвоек, который решает проблему реального мира при помощи разработки программного продукта (где программировать на языке-X - полезный, но далеко не самый сложный навык).

zo0Mx
19.05.2026 08:27спасибо за интересную статью и оригинальную подачу. я так сильно уже устал читать нейрослоп местный, вы не представляете, ваша статья как глоток свежего воздуха.

MrSotnik Автор
19.05.2026 08:27Спасибо за комментарий, приятно) стараюсь

Ussuriiskiy_Bobr
19.05.2026 08:27Но ведь видно, что текст иишный. Вы, конечно, его отредактировали и работу сделали (надеюсь), сами, но текст-то написан чатом гпт. Без претензий, просто видно.

MrSotnik Автор
19.05.2026 08:27Даже не знаю, что и ответить...

affyt
19.05.2026 08:27Сложные речевые обороты по всему тексту и банальные ошибки, где недоглядели. ИИ никогда не делает грамматических ошибок, пока не попросишь. Обычный хороший человеческий текст, просто сухих выжимок много, отсюда и кажется

Altair2021
19.05.2026 08:27ИИ никогда не делает грамматических ошибок
В русском -- делает, хоть и редко. Уверен, если поискать -- и в английском будут.
А вообще, дожили -- отсутствие грамматических (да и не только) ошибок в тексте считается использованием LLM. Обесцениваете знания тех, кто хорошо учил язык.

Ioanna
19.05.2026 08:27Делает-делает. Начал, например, ставить запятую между подлежащим и сказуемым. Точь-в-точь как каждый второй пользователь рунета.


atues
Интересно. Но что по другим языкам? Там такие же тенденции? А то получается, что только один Python так себя ведет, а у остальных - шоколад и смузи на пляже.
Плюсую
MrSotnik Автор
Сам хотел после тега Python поставить код на Linux-сервер и собирать данные по всем популярным языкам каждый день, но API hh внесла свои коррективы(( Грустно, по этому статья вышла сейчас, а не спустя год или 2
RepppINTim
Можно б было конечно поднять ферму ботов с имитацией браузера, но это уже скорее реверс-инжиниринг, а не дата-саенс...