Проект: В рамках одного из направлений цифровой трансформации Банка развиваем новую платформу обработки данных. Вся инфраструктура уже развернута: Apache Airflow (развернут через Astronomer Cosmos), Apache Spark, DBT и т.д. Мы ищем опытного ETL-инженера, который сосредоточится на разработке и сопровождении бизнес-критичных пайплайнов.
Данные — транзакционные, регламентные, клиентские. Работаем с большими объёмами, сложной логикой и высокими требованиями к надёжности.
Ожидания от кандидата:
- Python: от 3 лет в проде в data/ETL проектах;
- Уверенная работа с Apache Airflow (DAG-и, кастомные операторы, сенсоры);
- Знание или уверенное понимание Astronomer Cosmos (или желание быстро освоить);
- Понимание концепций Spark (и/или опыт с PySpark);
- SQL, опыт работы с DBT;
- Умение писать поддерживаемый ETL-код;
- Опыт интеграции с БД, API, файловыми источниками;
- Понимание DevOps процессов;
- Приветствуются знания в банковской предметке: продукты, транзакции, отчётность.
- Python:
Уверено пишет функции, классы, декораторы
Использует списковые включения, генераторы
Обрабатывает исключения
Работает со словарями, JSON, датафреймами, файлами
Использует базовые библиотеки: pandas, os, datetime и т.д. - По DAG-ам:
Понимает, как работает импорт и структура модулей
Умеет писать чистые DAG-функции и операторы
Умеет писать кастомные task или PythonOperator-ы
Умеет структурировать код пайплайна (определяет логику, конфиг, константы) - По Spark:
Понимает отличие между RDD и DataFrame
Пишет UDF, использует withColumn, фильтры, джоины
Понимает, что такое ленивость, партиционирование и шардирование.
Обязанности:
- Разработка DAG-ов в Apache Airflow (с использованием Astronomer Cosmos);
- Реализация ETL-скриптов на Python;
- Обработка данных через PySpark (в рамках пайплайнов);
- Моделирование и трансформации в DBT;
- Интеграция с банковскими источниками (хранилища, API, брокеры);
- Сопровождение пайплайнов: от загрузки данных до финальной витрины.
Условия работы
- Возможность профессионального и карьерного роста в компании, возможность поучаствовать в разных проектах;
- Опыт работы в распределенной команде профессионалов;
- Уровень заработной платы обсуждается индивидуально;
- Возможность работать удаленно РФ.