О компании:
Playerok — это маркетплейс цифровых товаров и услуг. Мы соединяем покупателей и продавцов, берём на себя безопасность сделки и запускаем собственные продукты. Строим масштабный бизнес на быстрорастущем рынке, на стыке гейминга, финтеха и e-commerce.
Сейчас мы ищем Senior Data Engineer и главной задачей будет-Развивать и поддерживать пайплайны загрузки данных из внешних API (рекламные площадки, YouTube, Telegram, Яндекс.Метрика, внутренний API маркетплейса, внутренние системы и др.) в ClickHouse. Строить слои данных (staging, DDS, витрины) и обеспечивать их стабильную работу.
Что для нас важно:
1. Работа с HTTP API
- Уверенное знание REST API, обработка GET/POST, заголовков, параметров
- Опыт с пагинацией (cursor, offset, page token), rate limiting, retry с exponential backoff
- Работа с аутентификацией: API keys, OAuth 2.0 (получение/обновление токенов)
- Умение парсить JSON / XML, обрабатывать ошибки и логировать сбои
- Будет плюсом: опыт с GraphQL, gRPC, WebSocket (для стримов)
2. ClickHouse (ключевой опыт)
- Проектирование таблиц (MergeTree, ReplacingMergeTree, агрегирующие движки)
- Понимание партиционирования, сортировочных ключей, индексов
- Материализованные представления (Materialized Views) для агрегатов
- Оптимизация запросов и распределённых таблиц (если кластер)
- Написание сложных запросов с оконными функциями, массивами, вложенными структурами
3. ETL / ELT и оркестрация
- Опыт с Airflow или аналогами (у нас — скорее всего Airflow)
- Построение DAG’ов: вызов API → выгрузка → трансформация (dbt или чистая SQL/Python) → загрузка в ClickHouse
- Инкрементальная загрузка (по времени, по ID), upsert, дедупликация
- Работа с S3 / Minio (если нужен промежуточный слой)
- Понимание принципов CDC (Change Data Capture) и опыт работы с Debezium
4. Языки и инструменты
- Python — обязательно: requests, aiohttp (для высокой производительности), pandas/polars (для трансформаций), clickhouse-driver
- SQL — свободно (в том числе специфика ClickHouse SQL)
- dbt — обязательно: написание моделей, тесты, документация, инкрементальные модели
- Git, CI/CD (GitHub Actions / GitLab CI) — чтобы тестировать пайплайны
5. Архитектура данных
- Проектирование слоёв: сырой слой (staging), логический слой (DDS), витрины (DM)
- Понимание медленно меняющихся измерений (SCD type 2) — может понадобиться
- Документирование моделей данных (data dictionary, схема таблиц)
6. Kafka
- Опыт работы с Apache Kafka: продюсеры/консьюмеры, топики, партиции, offset management, consumer groups
- Интеграция Kafka с ClickHouse (Kafka Engine, Kafka Connect) и Airflow
- Понимание гарантий доставки (at-least-once, exactly-once) и принципов потоковой обработки
Что предлагаем:
Удаленный формат сотрудничества.
350 000 руб — стартовая вилка, итоговая сумма обсуждается по опыту.
Возможность выбрать форму сотрудничества и оплаты (все налоги — наша забота).
Онбординг-квест — не бросим в бой без подготовки, введем в курс дела и подключим к команде.
Занятость 5/2 с 8-часовым рабочим днем.
Команда профи — работаешь с инициативными и увлеченными коллегами.
Пауза на восстановление — «перезагрузиться» можно в оплачиваемом отпуске или на больничном.
Откликайся на вакансию — это первый шаг к тому, чтобы стать частью команды, которая меняет правила игры. Ваш ход! 🎮