Vista del currículum
Senior Desarrollador fullstack
A convenir
RusiaSan Petersburgo
Tiempo completoTrabajo remoto
Experiencia laboral
3 años 3 meses
Último empleo
БФТ-Холдинг
Data Engineer
2 años
Sobre ti
Sobre ti
Data Engineer, 5+ лет в банке и госсекторе. Пишу на Python и SQL, строю надёжные конвейеры данных и сервисы вокруг них: Airflow, Kafka, PySpark, Greenplum, ClickHouse, dbt, Docker, GitLab CI/CD, интеграции через REST и gRPC
Результаты: ускорил тяжёлые ELT-цепочки с 5000 до 2700 секунд, освободил 45% слотов оркестратора, ускорил витрину в ClickHouse с 26 секунд до единиц, сделал универсальный SQL-исполнитель на проде, после которого разовые выгрузки перестали требовать отдельных дагов
Хочу в продуктовую разработку на стыке бэкенда и интерфейсов. Знаком с доменом арбитража трафика: партнёрки, офферы, трекеры, постбэки, метрики ROI, CPL, CR, поэтому быстро вхожу в контекст. Рассматриваю проектную работу (ГПХ/ИП) и частичную занятость, удалённо.
Experiencia en afiliación
Nutra
Meta (Facebook)
Tier-3
Experiencia laboral3 años 3 meses
Noviembre 2024 - hasta la actualidad
(2 años)
БФТ-Холдинг
Data Engineer
В команде центрального корпоративного хранилища данных развиваю DWH цифровой платформы ЕЦП через Kafka в него стекаются события десятков внутренних сервисов и государственных интеграций, проходят ELT - конвейер по слоям SRC - STG - CORE - DM и попадают в BI и регламентированную отчётность Зона ответственности - надёжность и ресурсная эффективность конвейера на пяти контурах
Обязанности
- Отвечаю за ELT-контур хранилища в Airflow 2.3.3 37 регулярных дагов, пакетная, дельтовая и потоковая загрузка, готовность витрин к утренней отчётности
- Подключение новых источников под ключ от согласования контракта данных с владельцем системы до витрины в DM, JDBC (Greenplum, PostgreSQL, Oracle, HBase через Phoenix), Kafka, S3, gRPC
- Проектирование модели хранилища слои SRC, STG, CORE, DM, историчность по SCD2, согласование ключей и гранулярности с аналитиками
- Производительность Greenplum разбор планов через EXPLAIN ANALYZE, выбор ключей дистрибуции и партиционирования, устранение Redistribute и Broadcast Motion на тяжёлых соединениях
- Трансформации на PySpark в YARN-кластере управление сессиями через Livy REST API, подбор ресурсов executor контроль shuffle и перекоса партиций
- Разбор инцидентов на проде восстановление данных после сбоев загрузок, перезапуск цепочек с контролем идемпотентности
Достижения
- Устранил перекос данных в тяжёлых ELT - цепочках Greenplum 6.21 согласовал ключи
дистрибуции, убрал Redistribute Motion, добавил партиционирование и разбиение на подзадачи - расчёт с 5000 до 2700 секунд
- Переработал статистический даг, занимавший 140 из 300 слотов кластера: массовый
параллелизм заменил последовательным циклом с изоляцией ошибок по каждому дагу. Освободил 45% слотов оркестратора под приоритетные пайплайны
- Предложил и внедрил универсальный SQL-исполнитель на прод-конфиге разовые выгрузки перестали требовать отдельного дага под каждую задачу
- Локализовал первопричину отказов Kerberos/SPNEGO на новом контуре Hadoop, где Livy, HDFS и YARN отвечали 401 без диагностики собрал доказательную базу диагностическим скриптом и согласовал устранение с администраторами платформы
Стек Airflow 2.3.3, PySpark 3.3.0, Livy, dbt, Greenplum 6.21 (Arenadata DB), ClickHouse 22.3 (Arenadata QuickMarts), Postgres Pro, Oracle, HBase / Phoenix, Kafka, S3, gRPC, Python, SQL, GitLab CI/CD, Docker
Agosto 2023 - Noviembre 2024
(1 año 4 meses)
Финансовая корпорация Открытие
Data Engineer
Работал в хранилище розничного блока банка витрины по картам, кредитам а также работе с задолженностью для отчётности и внутренних дашбордов Данные собирались из внутренних систем банка и внешних источников, приводились к единым ключам клиента и договора и складывались в ядро с полной историчностью
Обязанности:
- Даги загрузки кредитного блока просрочка, платёжная дисциплина
- Историчность ядра по SCD2 интервалы version_from/version_to, закрытие предыдущей версии
записи при изменении, логическое удаление флагом
- Забор сырых выгрузок из озера Hive поверх HDFS как слой метаданных, дальше в Greenplum
через внешние таблицы отдельными потоками Kafka и S3
- Предобработка на PySpark дедупликация выгрузок, приведение типов и форматов, склейка
суточных партиций в единый срез
- Сведение внутренних контуров банка с внешними источниками при сборке витрин, разбор
расхождений там, где ключи не сходились
- Разбор тяжёлых запросов в Greenplum планы, ключи дистрибуции, перекос после
подключения новых источников
- Доступы к источникам через HashiCorp Vault - Bank-Vaults и Vault Secrets Operator в Kubernetes
Достижения
- Ускорил витрину операций по картам в ClickHouse профиль клиента открывался 26 секунд и регулярно ловил too many parts перевёл партиционирование с суточного на месячное, пересобрал ключ сортировки под клиента и карту, добавил преагрегат для дашборда - профиль стал открываться за единицы секунд
- Ввёл хеш натурального ключа и строки целиком в SCD2-загрузке, отделив фактические изменения от повторной заливки того же среза - версии записей перестали плодиться на перезаливках источника
Habilidades
dwh
SQL
PostgreSQL
Git
Python
CI/CD
Docker
Apache Spark
Pandas
API REST
PyTorch
Kafka
Dominio de idiomas
Intermedio Inglés
Tipo de empleo
Tipo de empleo
Tiempo completo, Tiempo parcial, Por proyecto
Formato de trabajo
Trabajo remoto
Horario de trabajo
Flexible, 5/2
Reubicación
Posible
Viajes de trabajo
Viajes posibles