Проект: развитие и архитектурное совершенствование корпоративной платформы данных для крупной розничной сети. Локация: РФ. Удалённая работа, полная занятость. Срок подачи резюме — до 27.10.26 17:00 мск.
Требования:
- Опыт в data engineering от 4 лет; опыт работы в ритейле от 3 лет.
- Уверенное владение Python: ООП, асинхронность, многопоточность, типизация, тестирование и профилирование кода.
- Продвинутые навыки работы со Spark: оптимизация и тюнинг задач, анализ планов выполнения и логов.
- Глубокое понимание SQL, EXPLAIN, планов запросов, настройки индексов и особенностей разных движков СУБД.
- Практический опыт работы с Airflow, XCom, пулами, SLA и KubernetesPodOperator.
- Высокий уровень владения dbt; навыки работы с Git, включая rebase, cherry-pick и версионирование релизов.
- Практический опыт с Kubernetes и Docker, включая оптимизацию контейнерных образов.
- Опыт работы с S3: настройка lifecycle-правил и управление версионированием объектов.
- Знание администрирования СУБД: партиционирование, шардирование, репликация, бэкапы, миграции, блокировки и уровни изоляции транзакций.
- Навыки создания дашбордов и настройки алертов в Grafana или аналогичных инструментах.
- Дополнительно: опыт работы с DataHub и знание подхода с дата-контрактами.
Задачи:
- Создавать и развивать Spark-пайплайны, включая Structured Streaming.
- Проектировать модульные и динамические DAG, разрабатывать кастомные операторы, сенсоры и хуки.
- Строить слоистую модель в dbt (staging, intermediate, marts), реализовывать incremental-модели, snapshots и макросы, настраивать Slim CI.
- Проектировать структуры Data Vault 2.0 (Hub, Link, Satellite) для новых источников данных.
- Выбирать архитектуру и форматы хранения данных (Parquet, Iceberg), проектировать схемы с учётом ожидаемой нагрузки.
- Настраивать CI/CD-процессы в GitLab для окружений dev, stage и prod, работать с runners и approvals.
- Внедрять фреймворки контроля качества данных, например Great Expectations, настраивать метрики качества и алерты.
- Развивать Semantic Layer (Cube, MetricFlow), выстраивать lineage в DataHub и составлять дата-контракты.