ivi · Москва · по договорённости
Обязанности:
- Развивать платформу для расчёта 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 и observability.
Будет плюсом:
- Опыт работы с хранилищами признаков и платформами машинного обучения.
- Опыт разработки потоковых систем и работы с Kafka.
- Опыт версионирования, отслеживания происхождения и проверки качества данных.
- Опыт оптимизации Spark-задач по скорости, памяти и стоимости вычислений.
- Опыт создания переиспользуемых решений для команд данных и машинного обучения.
Отклик ведёт на сайт работодателя. Бесплатная регистрация открывает отклик и разбор резюме.