Чем предстоит заниматься:
- Развивать платформу для расчёта ML-признаков в batch-, streaming- и nearline-сценариях
- Строить и поддерживать пайплайны для исторических расчётов, backfill и обновления признаков
- Собирать обучающие датасеты так, чтобы в них не попадали данные «из будущего»
- Работать с потоковыми данными: окнами, опоздавшими событиями и разными типами времени
- Следить за тем, чтобы признаки одинаково и корректно считались в offline- и online-контурах
- Развивать единые и переиспользуемые подходы к описанию feature pipelines и датасетов
- Обеспечивать воспроизводимость и качество данных: версионирование, lineage, проверки и контроль результатов расчётов
- Оптимизировать Spark- и streaming-задачи по скорости, памяти и стоимости вычислений
- Развивать incremental-расчёты, чтобы не пересчитывать большие объёмы данных без необходимости
- Интегрировать платформу с Feature Store, Airflow/Kubeflow, Kafka, хранилищами и внутренними сервисами
- Добавлять метрики, трассировку и инструменты диагностики, чтобы быстро находить проблемы в проде
- Проверять систему под нагрузкой и в сценариях с отказами
- Участвовать в сопровождении своего прод-контура и разборе инцидентов
- Вместе с ML-инженерами превращать решения под конкретные задачи в общие возможности платформы
- Оценивать готовые open-source решения и выбирать, где лучше интегрировать существующий инструмент, а где действительно нужна собственная разработка
Требования:
- Уверенное знание Python и/или JVM-языка
- Опыт разработки и поддержки конвейеров обработки данных
- Глубокое понимание Spark или другой распределённую систему обработки данных
- Опыт с Airflow, Kubeflow Pipelines или аналогами
- Понимание partitioning, shuffle, skew, retry, backfill и идемпотентности
- Опыт проектирования схемы данных и работы с большими объёмами
- Опыт работы в batch- и streaming-обработке: event time, processing time, окна, watermark, late data
- Понимание point-in-time joins, temporal leakage и гарантии at-least-once / exactly-once
- Знание подходов к incremental computation, caching, state и пересчётам
- Работае с Git, code review, тестированием, CI/CD и observabilit
Будет плюсом:
- Опыт работы с хранилищами признаков и платформами машинного обучения
- Опыт разработки потоковых систем и работы с Kafka
- Опыт версионирования, отслеживания происхождения и проверки качества данных
- Опыт оптимизации Spark-задач по скорости, памяти и стоимости вычислений
- Опыт создания переиспользуемых решений для команд данных и машинного обучения