Senior Data Engineer, платформенная разработка
Компания Flowwow — международный маркетплейс подарков. Под ним работает Data Platform, построенная с нуля: lakehouse на Apache Iceberg + Trino, Spark для тяжёлых вычислений, CDC-пайплайны на Kafka/Debezium, всё в Kubernetes. Поверх этого — большой слой собственного кода: фреймворк Data Vault, обвязка вокруг Airflow (собственные операторы, хуки, генерация DAG'ов, инструменты тестирования пайплайнов), самописный lineage и инструменты наблюдаемости данных, AI-слой (агенты на LangGraph + MCP для расследования инцидентов, анализа качества данных и помощи в рутине). Команда инженеров, а не операторов ETL; большая часть работы — Python-разработка.
Это позиция Senior DE с сильным уклоном в платформенную разработку: проектирование инструментов, ускоряющих написание пайплайнов. Работа с lakehouse-стеком на уровне внутренностей: оптимизация Trino-запросов и работа с коннекторами, maintenance Iceberg-таблиц (компакция, snapshot expiration, position/equality deletes), эволюция схем, REST-каталог. Команда AI-native: Claude Code и аналогичные инструменты — часть ежедневного рабочего процесса, строятся harness-системы вокруг LLM (агенты с инструментами, автоматизация code review, ассистенты для написания DAG'ов).
Что нужно делать:
- Развивать ядро платформы: фреймворк Data Vault, обвязку Airflow, lineage-инструменты — проектировать API для других инженеров.
- Писать библиотеки и фреймворки на Python: клиенты к источникам, инструменты тестирования пайплайнов, обёртки над инфраструктурой. Чистый код, типизация, тесты, ревью.
- Работать с lakehouse на глубине: Iceberg maintenance и оптимизация layout'а таблиц, тюнинг Trino, Spark-джобы для тяжёлых трансформаций.
- Строить интеграции с источниками: OLTP-базы, REST/gRPC API, Kafka, файловые хранилища, SaaS-системы — проектировать унифицированные интерфейсы.
- Внедрять AI в инженерные процессы: агенты для расследования инцидентов и анализа качества данных, ассистенты для DAG'ов и code review. Развивать существующую агентную инфраструктуру (LangGraph, MCP).
- Участвовать в архитектурных решениях: выбор технологий, дизайн интерфейсов между компонентами, вынесение best practices в команду.
- Делать code review и менторить менее опытных коллег.
Наши ожидания:
- Промышленный опыт от 5 лет в data engineering или backend-разработке с сильным дата-уклоном: production-системы под реальной нагрузкой, ответственность за их эксплуатацию.
- Python — главное требование. Уровень senior разработчика: ООП, проектирование API библиотек, типизация, тесты, опыт написания переиспользуемых компонентов.
- Lakehouse-стек на практике. Apache Iceberg (или Delta/Hudi с готовностью быстро переключиться): устройство таблиц, snapshots, компакция, schema evolution. Понимание отличий lakehouse от классического DWH.
- Trino или другой MPP-движок: архитектура распределённого выполнения, чтение планов запросов, оптимизация, опыт работы с коннекторами.
- Apache Airflow глубоко: не только разработка DAG'ов, но и внутреннее устройство (scheduler, executors, метаданные), опыт написания собственных операторов и хуков.
- Apache Spark: PySpark, Spark SQL, понимание модели выполнения.
- SQL продвинутого уровня: оконные функции, CTE, оптимизация, чтение планов исполнения, работа с большими объёмами.
- Git, CI/CD — уверенно.
Будет сильным плюсом:
- Опыт разработки внутренних платформенных инструментов или фреймворков, которыми пользуются другие команды.
- AI-native подход к разработке: активное использование Claude Code / Codex и подобных инструментов, опыт построения harness-систем — агентов с инструментами, автоматизации через LLM, RAG.
- Kubernetes: деплой и эксплуатация дата-сервисов, Helm, понимание ресурсной модели.
- Опыт с CDC (Debezium, Kafka Connect) и стриминговыми пайплайнами.
- Знание форматов хранения (Parquet: row groups, статистики, predicate pushdown).
- Опыт работы с системами контроля доступа к данным (OPA, row-level security, маскирование).
Условия: опыт работы 3–6 лет, занятость полная, график 5/2, рабочие часы 8, формат работы удалённо, зарплата по договорённости.