Senior Backend & Data Engineer
Summary
Senior Backend & Data Engineer building a sports analytics/refereeing platform from scratch. Responsible for the server layer and data warehouse (PostgreSQL, Alembic), API development (FastAPI, Pydantic), and real-time features (SSE).
Мы — технологическая команда, создающая инновационные решения для спортивной аналитики. Наш продукт направлен на трансформацию и объективизацию судейства в спорте. Мы ищем опытного разработчика для участия в продуктивизации наших решений.
Наша платформа судейства на основе видеоаналитики соревнований готовится к запуску. API написан, есть спроектированная схема данных, но собрать и наполнить хранилище данными справочников, перенести данные аналитики из json-ов и собрать аналитические витрины только предстоит.
Вы становитесь основным владельцем серверного слоя. Расчёт оценок целиком находится в сервисе видеоаналитики, который делает отдельная команда, и результаты приходят в платформу по API уже готовыми. Бэкенд не интерпретирует правила судейства — он принимает результаты, гарантирует их сохранность и прослеживаемость и обеспечивает вокруг них рабочие процессы: загрузка и показ видеоповторов с AI-оценками и комментариями, обработка откликов, формирование отчётности и так далее.**Слой данных — с нуля до продакшена:**
* развернуть хранилище с нуля: DDL, ограничения целостности, индексы, миграции на Alembic, окружения dev/stage/prod, бэкапы, пулинг
* наполнить и версионировать справочники в хранилище данных
* перенести существующие данные из файлового хранилища в реляционную схему — с ETL и сверкой полноты переноса
* спроектировать аналитические витрины (лидерборды, срезы по спортсменам)
* вести контракт приёма результатов из сервиса аналитики: идемпотентность, валидация, версионирование, аудит
* развивать API платформы: заявки, фазы соревнований, судейские действия, апелляции, экспорт, real-time по SSE
* профилировать и оптимизировать горячие пути
* отвечать за наблюдаемость и эксплуатацию серверной части**Обязательные**
* 4+ лет коммерческой разработки бэкенда на Python, из них не менее 2 лет — на async-стеке (FastAPI / Starlette или аналоги)
* PostgreSQL: проектирование схем, стратегия индексов, транзакции и уровни изоляции, блокировки, партиционирование, оконные функции
* практический опыт развёртывания хранилища с нуля с миграциями, бэкапами и процедурой выката в нескольких окружениях
* опыт построения агрегатов и аналитических витрин над OLTP-базой
* SQLAlchemy 2.0 в async-режиме и Alembic на уровне уверенного владения (async-сессии, границы транзакций, autogenerate и его ограничения)
* проектирование REST API: контракты, версионирование, идемпотентность, коды ошибок, валидация через Pydantic 2
* Redis (кеш, pub/sub), S3-совместимые хранилища
* Docker, настройка CI/CD
* тестирование как часть разработки: pytest, интеграционные тесты против реальной инфраструктуры, не только моков
* способность работать с унаследованным кодом: прочитать, измерить, выделить реальные дефекты, починить, не переписывая все с нуля
**Будет плюсом**
* аналитические СУБД и ETL/ELT (ClickHouse, dbt, Airflow)
* интеграция с ML-сервисами: асинхронные пайплайны, callback-и, очереди, обработка частичных и повторных результатов
* работа с видео и медиа-пайплайнами, обработка больших объектов
* Real-time-доставка (SSE, WebSocket) на нагрузке
* ClickHouse, dbt, Airflow, Kubernetes, IaC, PgBouncer в проде
* опыт переезда с legacy-системы при живом проде
* опыт работы в спортивных или трансляционных продуктах* комфортный современный офис - м. Кутузовская
* ежегодный пересмотр зарплаты, годовой бонус
* корпоративный спортзал и зоны отдыха
* более 400 образовательных программ СберУниверситета для профессионального и карьерного развития
* расширенный ДМС, льготное страхование для семьи и корпоративная пенсионная программа
* гибкий дисконт по ипотечному кредиту, равный 1/3 ключевой ставки ЦБ
* подписка Прайм с возможностью совместного использования на трёх близких
* вознаграждение за рекомендацию друзей в команду Сбера
* корпоративная пенсионная программа.