Обязанности: - Проектирование, разработка и поддержка отказоустойчивых ETL/ELT-процессов.
- Сбор данных из различных источников (API, реляционные БД, логи, файлы).
- Трансформация, очистка и валидация данных для обеспечения качества.
- Загрузка и оптимизация хранения данных в аналитическом хранилище.
- Мониторинг пайплайнов и оперативное устранение инцидентов.
- Оптимизация производительности процедур обработки данных.
Требования:
- Язык программирования (Python)
Уровень: Глубокое профессиональное знание языка и обширный практический опыт. Способность самостоятельно проектировать архитектуру систем обработки данных и принимать обоснованные технические решения.
Ключевые навыки:
- Свободное применение различных парадигм программирования (объектно-ориентированной, функциональной) для создания гибких систем.
- Понимание внутренних механизмов работы программной среды и способов повышения быстродействия приложений.
- Навык написания надежного кода, устойчивого к ошибкам и изменениям в структурах входных данных.
- Умение эффективно организовать параллельную и распределенную обработку больших объемов информации.
Библиотеки: Опыт работы с библиотекой обработки данных Pandas и библиотеками взаимодействия с БД (SQLAlchemy, psycopg2).
Стандарты: Написание чистого, типизированного и тестируемого кода.
PostgreSQL: Глубокое знание SQL, оконных функций, проектирование схем (нормализация/денормализация).
- Оркестрация (Apache Airflow)
Опыт разработки сложных DAG: использование Providers, Hooks, Operators.
Умение работать с XCom, TaskFlow API и динамической генерацией задач.
- Инструменты и методологии
Git: Уверенное владение (ветвление, Pull Requests).
Linux: Базовые навыки работы в консоли (Bash, работа с логами, SSH).
- Личные и профессиональные компетенции
Аналитическое мышление: Способность проследить путь данных от источника до витрины.
Data-driven подход: Приоритет качества и достоверности данных над скоростью разработки.
Документирование: Привычка фиксировать логику процессов и структуру таблиц.
- Опыт работы с потоковой обработкой данных (Kafka, RabbitMQ).
- Понимание планов выполнения запросов.
- Опыт оптимизации производительности SQL-запросов.
- Знание инструментов для трансформации данных в хранилище (dbt).
- Опыт работы с библиотекой обработки данных PyArrow.
- Понимание принципов колоночного хранения, опыт работы с движками семейства MergeTree, материализованными представлениями (Materialized Views) и механизмами сжатия данных. Оптимизация запросов под специфику OLAP.
- Понимание принципов построения DWH (схемы «звезда», «снежинка», Data Vault).
Условия:
- График работы 5/2;
- Испытательный срок 3 месяца;
- Адрес работы: Москва, Большая Почтовая улица, 26с1
- Достойный (рыночный) уровень белой ЗП (обсуждается на собеседовании);
- Комфортные условия труда;
- Полное соблюдение ТК РФ;
- Рассматриваются кандидаты с инвалидностью;
- Демократичный коллектив.