
Junior Data Engineer (Python / Airflow)
SWiP
Москва
≈ до 827 $ · до 727 €
до 65 000 ₽
🏢 Офис
Junior
Полная занятость
Россия
Описание вакансии
Наша компания - лидер в области AI, в сегменте бизнеса Retail/HoReCa.
Миссия нашей компании - Мы создаем доступные, работающие автономно решения на основе AI, которые помогают расти бизнесу и увеличивать его прибыль, воплощая мечты предпринимателей по всему миру в реальность.
Наши клиенты в трех странах (Россия, Таиланд, Таджикистан); В России мы представлены в 100 городах, более 550 брендов работают с нами.
Обязанности
•Поддержка и развитие наших Airflow-DAG-ов кампаний: ежедневный контроль прогонов, разбор алертов и падений, доведение инцидентов до причины.
•Доработка бизнес-логики кампаний по задачам из бэклога: изменение правил отбора, параметров и конфигураций мерчантов.
•Проверка изменений на UAT перед выкаткой, включая точечные прогоны на отдельных мерчантах.
•Написание тестов на изменяемую и уже существующую логику.
•Контроль качества данных, от которых зависит контур: конфигурации мерчантов, ML-скоры, справочники; выяснение источника пропусков и некорректных значений.
•Развитие наблюдаемости: уточнение логов, алертов и итоговых сводок прогонов.
•Ведение документации по сервису: описание алгоритмов и runbook «алерт → действие».
•Постепенное принятие сервиса под свою ответственность — от участия в разборах вместе с наставником до самостоятельного дежурства.
Требования
•Python — уверенно читает и пишет процедурный код: функции, dataclass, исключения и трейсбеки, Optional/type hints на уровне чтения, datetime/timedelta. Умеет объяснить чужие 50 строк кода, не переписывая их.
•SQL (Postgres) — SELECT/JOIN/GROUP BY/агрегаты/WHERE по датам, умеет написать запрос по выданному DDL. Понимает, что запрос бывает медленным и что такое индекс.
•pandas — DataFrame, фильтрация, groupby, merge, понимание типов колонок и NaN/None. Без этого не читается ни один файл контура.
•Даты и таймзоны — понимает разницу naive/aware, UTC и локального времени, умеет объяснить, почему «сегодня» в Москве и в UTC — разные дни.
•Git — ветки, коммиты, PR, чтение diff и git log/blame.
Будет плюсом (остальному научим)
•Базовое знакомство с Airflow (даже пет-проект или лекции).
•Уверенное владение Linux CLI и Docker (базовые команды).
•Опыт интеграции c внешними API (REST или очереди).
•Понимание, как устроен kubectl (хотя бы на уровне просмотра логов).
•Знание основ ML: что такое скор модели и порог бинаризации.
Отношение к работе
•Желание разобраться досконально, а не «закрыть задачу» в виду того, что сервис транзакционный..
•Готовность взять сервис под постоянное наблюдение— ежедневно смотреть алерты и сводки прогонов, замечать отклонения до того, как о них сообщит бизнес..
•Настрой на безошибочную работу как цель, каждый сбой должен заканчиваться защитой от его повторения (проверка, тест, алерт)..
•Планомерное улучшение качества.
•Внимание к данным вокруг сервиса, готовность проверять входные данные и относиться к пропускам и «пустым» значениям как к дефекту, требующему выяснения источника, а не как к фону..
•Интерес к инфраструктуре сервис, со временем самостоятельно ориентироваться в окружении (Airflow, БД, воркеры, внешние сервисы) и понимать, как состояние инфраструктуры отражается на результате прогонов..
•Владение зоной ответственности, восприятие сервиса как своего: знать его состояние в любой момент, а не только когда пришёл алерт.
Условия
•Официальное трудоустройство с первого дня.
•Оклад: 65.000 на руки.
•График: 5/2, 10:00–19:00, гибрид (офис + дом).
•Корпоративная жизнь: корпоративы 2 раза в год, спортивные турниры, интеллектуальные игры, выездные мероприятия.


