Junior Data Engineer (Python / Airflow)
Описание
Наша компания - лидер в области 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 раза в год, спортивные турниры, интеллектуальные игры, выездные мероприятия.