Технические знания и опыт:
- Высокий уровень знаний языка программирования Python – структуры данных, итераторы и декораторы, параллельное и асинхронное программирование, объектно-ориентированное и функциональное программирование;
- Отличные знания SQL – создание сложных запросов с использованием табличных выражений (CTE) и оконных функций;
- Опыт работы в Agile-команде (Scrum, Kanban) - участие в планировании задач и оценка сроков их выполнения, ведение задач в Jira c уточнением требований и отражением текущего прогресса по задачам, участие в ретроспективах;
- Уверенное владение системой контроля версий git, знание практик работы с ветками кодовой базы (GitFlow или более современные альтернативы: GithubFlow, Trunk-Based Development);
- Знание практик семантического версионирования кода;
- Опыт разработки библиотек на Python, базовые знания CI/CD практик и процессов для сборки и поставки библиотек потребителям (uv-builder, Jenkins);
- Опыт работы в среде JupyterLab/JupyterHub;
- Опыт реализации промышленных отказоустойчивых сервисов ETL на Python для пакетной загрузки и трансформации данных с помощью Spark под управлением оркестраторов Apache Airflow, Argo Workflows;
- Хорошие знания платформы Apache Spark – опыт использования библиотеки pyspark, влияние конфигурации приложения pyspark на производительность и эффективность обработки данных, отладка и анализ эффективности приложений pyspark с помощью Spark History Server;
- Опыт асинхронного программного взаимодействия с веб-сервисами по REST API с использованием библиотек – aiohttp, httpx;
- Хорошие знания и опыт использования реляционных баз данных Oracle, PostgreSQL;
- Понимание особенностей обработки и хранения аналитических данных (OLAP), понимание отличий колоночных баз данных от строковых, знание колоночных форматов хранения данных – parquet, orc;
- Хорошие знания и опыт использования хранилищ больших данных – Hadoop/HDFS, S3, форматы таблиц Hive, Iceberg.
Личностные и коммуникативные навыки:
- Проактивный подход к работе – способность и желание искать и предлагать методы и варианты решения задач;
- Общий позитивный настрой и активная жизненная позиция;
- Умение и желание работать в команде, делиться опытом с коллегами и учиться новым практикам;
- Открытость в коммуникации трудностей, препятствующих решению задач.