О роли
Мы ищем старшего инженера по данным (Senior Data Engineer), который будет проектировать, создавать и эксплуатировать инфраструктуру пакетной и потоковой обработки данных, лежащую в основе масштабной платформы данных электронной коммерции/розничной торговли. Вы будете работать на протяжении всего жизненного цикла конвейера — от сбора данных до их хранения и предоставления — с полным владением системами, которые вы создаете, включая дежурства по вызову.
Обязанности
- Проектирование, создание и эксплуатация пакетных и потоковых конвейеров данных на Python и PySpark, оркестрованных с помощью Apache Airflow
- Моделирование и хранение данных в BigQuery — партиционирование, кластеризация и проектирование запросов, которые контролируют как задержку, так и затраты
- Создание системы сбора данных в реальном времени на Apache Kafka и Spark Streaming для событий из витрины магазина, заказов и инвентаризации
- Управление и настройка рабочих нагрузок Spark на Dataproc: определение размера кластера, профилирование заданий, проблемы перемешивания (shuffle) и перекоса (skew), стоимость за выполнение
- Написание и оптимизация сложных SQL-запросов — объединение данных из нескольких источников, оконные функции, инкрементальная логика — в реляционных базах данных и NoSQL хранилищах
- Интеграция внутренних и сторонних RESTful API в качестве источников и приемников конвейеров, обработка пагинации, повторных попыток, ограничений скорости и смещения схемы
- Ответственность за путь доставки: конвейеры GitLab CI, автоматизированные тесты логики данных, проверка кода и повторяемые развертывания
- Инструментация конвейеров с помощью мониторинга, оповещений и проверок качества данных; участие в дежурствах по вызову для систем, которые вы создаете
- Сотрудничество с инженерами по продуктам, аналитиками и бэкенд-инженерами для преобразования неоднозначных требований в схемы и контракты, на которые люди могут положиться
- Повышение стандартов качества посредством документации, обзоров дизайна и наставничества инженеров среднего уровня
Требования
- 5–8 лет опыта создания производственных конвейеров данных, с сильными фундаментальными знаниями Python
- Практический опыт работы с Apache Airflow: создание DAG, стратегия зависимостей и отложенного выполнения, эксплуатация запланированных рабочих нагрузок
- Глубокие знания PySpark, Spark SQL и Spark Streaming, включая настройку производительности реальных заданий
- Рабочий уровень владения Scala для Spark и работы с данными на основе JVM
- Экспертный уровень SQL — вы умеете писать, читать и оптимизировать действительно сложные запросы
- Уверенный опыт работы с реляционными базами данных и NoSQL, с четким пониманием того, когда каждый тип подходит
- Опыт работы с Apache Kafka для потоковой передачи событий
- Google Cloud Platform, в частности BigQuery и Dataproc
- Опыт работы с RESTful API в рамках конвейеров данных
- CI/CD с GitLab CI — стратегия ветвления, конфигурация конвейера, автоматизированное развертывание
- Четкая письменная и устная коммуникация в распределенной команде, работающей с клиентами
Приветствуется
- Опыт разработки бэкенда на Java и Spring Boot — создание или использование сервисов, от которых зависят ваши конвейеры
- Инфраструктура как код (Terraform) и контейнеризированные рабочие нагрузки на GKE или Cloud Run
- Смежные сервисы GCP: Pub/Sub, Dataflow, Cloud Composer
- dbt или сопоставимый фреймворк для трансформации и тестирования данных
- Большие доменные области данных в электронной коммерции, маркетплейсах или омниканальной розничной торговле
Преимущества
- Конкурентоспособная заработная плата
- Возможность удаленной работы
- Комфортная работа в вашем местном часовом поясе
- Гибкий график работы
- Профессиональный рост и развитие
- Мультикультурная рабочая среда