Software Engineer (Data Pipeline)
О команде и проекте
Мы разрабатываем систему управления антропоморфными роботами. Она должна работать здесь и сейчас, решая реальные задачи — от складской логистики до сложных сервисных операций. Мы используем передовые технологии, но не ограничиваемся ими. Где решений нет — создаём их с нуля. Где есть — доводим до реального применения.
Чтобы роботы могли устойчиво двигаться, взаимодействовать с окружающей средой и выполнять полезные задачи в реальных условиях, необходимо много данных. Чтобы эти данные были полезны, важна стабильная и воспроизводимая цепочка их обработки. Вам предстоит построить надёжные конвейеры для доставки сырых данных от роботов в хранилища и преобразования их в готовые датасеты для обучения моделей.
Задачи и обязанности
Строить надёжные пайплайны поставки и обработки данных
Вам предстоит спроектировать и реализовать поток данных в хранилище и их обработку для использования командами машинного обучения. Необходимо сделать так, чтобы система выдерживала рост объёмов, имела защиту от потери данных и была отказоустойчива.
Создавать пайплайн конвертации данных в целевые форматы для ML
Нужно будет создать конвертеры, которые трансформируют сырые данные от роботов в форматы, подходящие для обучения моделей. Предстоит описать схемы и правила преобразования, привести разнородные источники к единообразному представлению, настроить повторяемые процедуры сборки наборов данных.
Обеспечивать надёжность и прозрачность процесса
Нужно добиваться стабильной и воспроизводимой работы процесса обработки данных, устойчивого к росту объёмов и нагрузки. Вы будете обеспечивать прозрачность на всех этапах — от приёма данных до формирования итоговых наборов — так, чтобы состояние и корректность были понятны команде в любой момент.
Интегрировать процессы с инструментами валидации и разметки
Вам предстоит выстроить автоматические проверки качества и маршрутизацию данных для ручной проверки и разметки, обеспечить согласованность артефактов на всём пути движения данных.
Больше о бэкенде в Яндексе — в канале Yandex for Backend
Требования
- Работали с объектными хранилищами (S3, YTsaurus и аналогичными) и различными форматами данных
- Умеете писать надёжные пайплайны и знакомы с параллельной обработкой данных
- Понимаете основы CI/CD и умеете настраивать логи, метрики, алерты
- Способны проектировать схемы данных и процессы так, чтобы они были масштабируемыми и повторяемыми
Дополнительные требования
- Настраивали оркестрацию пайплайнов с помощью Airflow, Prefect или Argo
- Работали с распределёнными дата-системами
- Работали с инструментами контроля качества данных