Senior Fullstack-разработчик

    Договорной
    Россия
    Санкт-Петербург
    Полная
    Удаленная работа
    Опыт работы
    3 года 3 месяца
    Последнее место работы

    БФТ-Холдинг

    Data Engineer
    2 года

    Резюме в Telegram-канале

    10 резюме

    Пост каждый день

    О себе

    О себе
    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, поэтому быстро вхожу в контекст. Рассматриваю проектную работу (ГПХ/ИП) и частичную занятость, удалённо.

    Опыт в Affiliate

    Nutra
    Meta (Facebook)
    Tier-3

    Опыт работы
    3 года 3 месяца

    Ноябрь 2024 - по н.в.
    (2 года)
    БФТ-Холдинг
    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
    Август 2023 - Ноябрь 2024
    (1 год 4 месяца)
    Финансовая корпорация Открытие
    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-загрузке, отделив фактические изменения от повторной заливки того же среза - версии записей перестали плодиться на перезаливках источника

    Навыки

    dwh
    SQL
    Postgre SQL
    Git
    Python
    CI/CD
    Docker
    Apache Spark
    Pandas
    REST-API
    PyTorch
    Kafka

    Владение языками

    Средний Английский

    Занятость

    Занятость
    Полная, Частичная, Проектная
    Формат работы
    Удаленная работа
    График работы
    Гибкий, 5/2
    Переезд
    Возможен
    Командировки
    Командировки возможны