Обязанности:

  • Добавлять в систему новые источники и виды данных: котировки и ключевые моменты спортивных событий.
  • Оптимизировать работу Сканера: увеличивать скорость и снижать объём сетевого трафика.
  • Повышать стабильность системы и её компонентов.
  • Находить причины проблем производительности и несогласованности данных.

Требования:

  • Опыт работы 3–6 лет.
  • Опыт работы с фреймворком, кроме Django.
  • Знание современного Python; используется Python 3.12.
  • Понимание HTTP, веб-сокетов и асинхронного программирования: asyncio, aiohttp, async/await.
  • Опыт с брокерами очередей; используется RabbitMQ и pika.
  • Опыт работы с реляционными базами данных, SQLAlchemy и миграциями Alembic; используется PostgreSQL 17.
  • Знание PEP 8 и типизации.

Будет плюсом:

  • Опыт написания скрапперов и парсеров данных из открытых источников.
  • Опыт чтения чужого кода и быстрой работы с незнакомыми проектами.
  • Навыки реверс-инжиниринга.
  • Углублённое знание RabbitMQ, типов exchange и настройки очередей.
  • Знакомство с JavaScript, headless-браузерами, Selenium, pyppeteer или Playwright.
  • Знакомство с Grafana и VictoriaMetrics, опыт настройки мониторинга.
  • Понимание сжатия и сетевых форматов обмена данными: CBOR, msgpack, SignalR.
  • Примеры кода, опыт с Docker, GitLab CI и Pytest.

Условия: полная занятость, график 5/2, удалённая работа.