Хабр Карьера — сервис для IT-специалистов из экосистемы Хабра, где можно найти вакансии от джунов до сеньоров, сравнить зарплаты и прокачать навыки. Это площадка с тысячами предложений, калькулятором доходов и рейтингом работодателей.
А теперь давайте посмотрим, как мы с Сашей Варламовым (
@data_bar) используем данные с Хабр Карьеры в нашем проекте — свежий дайджест обновлений! 😄
🆕 Что нового в дашборде?
Данные Хабр Карьеры
- Появились вакансии для Junior и Intern, которых раньше не было в Getmatch.
Новые возможности
- Сортировка по разным метрикам в таблице вакансий.
- Логотипы компаний с Хабра — теперь таблицы выглядят нагляднее.
- Прямые ссылки на вакансии прямо из дашборда.
Тренды во времени
- Ежедневные данные, чтобы отслеживать изменения: сколько вакансий, какие зарплаты, какие навыки востребованы.
Что можно сравнить?
- Вакансии и зарплаты на Getmatch и Хабр Карьере: где больше предложений, где выше вилки?
- Категории: Junior/Intern против более опытных позиций.
- Динамику рынка: как меняются спрос на навыки и зарплаты.
*Можно найти вакансии с зарплатами до 2 600 000 рублей (да, такие есть 😠)
.
Посмотри на наш дашборд анализа зарплатных вилок 👈
.
.
.
.
.
Ты ещё тут? Погнали дальше, расскажу про техчасть 🧑💻
Чтобы всё работало стабильно, "совсем чуть-чуть" обновил инфраструктуру:
- Перешли с PostgreSQL на Clickhouse, установленный прямо на VPS. В TimeWeb DBaaS нельзя было настроить подключение между базами — провайдер забирает права суперпользователя ради безопасности, но нам нужен был полный контроль. Настроил на VPS всё с нуля: пользователей, роли, базы, схемы, таблицы, плюс фаервол через мой VPN для защиты.
- Docker, даже с запущенным контейнером ClickHouse без нагрузки, потребляет 20-30% CPU. Это значительный оверхед, особенно для нашего проекта, где ресурсы VPS ограничены. В то же время нативная установка ClickHouse без нагрузки использует всего 5% CPU (да, немного - но пока база не 100GB и дагов мало можем себе позволить).
- Мигрировал вакансии с двух платформ из PostgreSQL в Clickhouse, сохранив структуру для анализа.
- Нашел у себя грубую ошибку в инсерте в БД для Хабр парсер - потерял 4 дня слепков. Хороший урок: проверять всё тщательнее.
- Подрубил ежедневное обновление Google-таблиц через Airflow. Собираю данные с Clickhouse (вьюшки с двух платформ) и раскладываю сущности по разным листам для дашборда — сейчас показываем 8 дней.
При создании таблицы из дага
через API Google Sheets наткнулись на проблему: курсы за субботу и воскресенье были пустыми в базе. Теперь это учтено — сохраняем курс с пятницы для выходных, чтобы данные были полными.
- П
однял dbt и приступил к стейджингу. Настроил коннект к Clickhouse, выделил stg-слой с основными сущностями (вакансии, навыки, компании). Сейчас raw-слой — это просто распарсенные данные с платформ. Использую BashOperator в Airflow для ежедневного запуска dbt. На подходе — интег
рация Great Expectations, чтобы проверять данные на качество прямо в dbt-пайплайне.
😉 Что дальше?
- Подключить третью платформу.
- Завершить нормализацию данных в dbt.
- Автоматизация унификации данных (LLM для навыков, локаций, названий компаний).
- Попробовать ML для прогноза зарплатных вилок.