Привет!
Мы - AnyClass, одна из крупнейших IT-платформ в России с курсами от топовых экспертов в lifestyle-сегменте. Мы лидеры в продвижении продуктов для красоты, здоровья и саморазвития. Мы активно внедряем AI и следуем data-driven подходу. Резидент Сколково, аккредитованная IT-компания.
Сейчас мы расширяем команду и ищем опытного Data Engineer (Middle+ / Senior), который поможет нам развивать и поддерживать ключевой ELT-проект - основу для всей аналитики и отчётности.
О проекте:
Мы развиваем и поддерживаем важный ELT-проект, построенный на современном стеке: Meltano, Apache Airflow, dbt Core и PostgreSQL. Хранилище данных организовано по методологии «Звезда». Сейчас перед нами стоит амбициозная задача: провести рефакторинг, оптимизировать текущие процессы, избавиться от устаревших частей и активно подключать новые источники данных, строя востребованные аналитические модели.
Роль:
Ищем инженера, который готов работать с существующим кодом: анализировать, оптимизировать, удалять устаревшее и параллельно создавать новые пайплайны и модели. Важно уметь разбираться в сложившейся системе, принимать взвешенные архитектурные решения (что исправить, а что переписать) и эффективно внедрять изменения.
Ключевые обязанности:
Ожидания от кандидата:
1. SQL (Продвинутый уровень):
Понимание сложных джоинов, подзапросов, CTE.
Опыт работы с оконными функциями.
Умение анализировать и оптимизировать «тяжелые» запросы: анализ планов выполнения, работа с индексами, переписывание логики для ускорения.
Навык написания читаемого, структурированного и эффективного SQL-кода.
2. PostgreSQL (Администрирование и оптимизация):
Опыт настройки производительности: создание индексов, настройка параметров конфигурации для нагрузки ETL.
Понимание процессов вакуумирования, блокировок.
Практические навыки мониторинга и диагностики проблем (медленные запросы, нехватка ресурсов).
Базовые навыки администрирования: создание пользователей, управление правами, бэкапы.
3. Python (Хорошее знание языка, чистый код):
Уверенное владение языком, в частности, для обработки данных (pandas/numpy - как бонус).
Ключевой навык: написание чистого, поддерживаемого кода. Понимание принципов DRY, KISS, базовых паттернов.
Работа с API.
4. Работа с Legacy-кодом:
Умение читать, анализировать и понимать чужой код.
Способность видеть архитектурные недостатки, точки роста для оптимизации и потенциальные ошибки.
Системное мышление: перед тем как удалить или переписать, способен оценить влияние на связанные процессы и downstream-зависимости.
Практический опыт успешного рефакторинга или модернизации частей ETL/ELT-систем.
Желательно:
1. Apache Airflow:
Практический опыт написания, отладки и поддержки DAG.
Понимание сенсоров, операторов, хуков.
Опыт создания кастомных операторов для специфичных задач проекта.
Понимание принципов оркестрации, управления зависимостями и перезапуском задач.
2. dbt Core:
Практический опыт: создание моделей, макросов, тестов, документации.
Умение работать с dbt_project.yml, управлять зависимостями через packages.
3. Docker / Docker Compose:
Опыт контейнеризации сервисов, умение управлять контейнерами.
Умение писать Dockerfile и docker-compose.yml для изоляции и воспроизводимости среды разработки.
4. Git и процессы разработки:
Продвинутая работа с Git: ветвление, merge request, разрешение конфликтов.
Опыт участия в Code Review.
Понимание принципов CI/CD применительно к данным (запуск тестов dbt, деплой изменений).
5. Meltano:
Понимание концепции фреймворка.
Опыт настройки конвейеров (tap -> target), управления плагинами, конфигурацией (meltano.yml).
Если прямого опыта нет - готовность и способность быстро разобраться. Это ключевой навык для проекта, но его можно приобрести при наличии сильной базы выше.
6. Принципы моделирования хранилищ данных:
Знание подходов Data Vault, Kimball.
Что мы предлагаем:
Ждём ваше резюме!