Обязанности:
- Добавлять в систему новые источники и виды данных: котировки и ключевые моменты спортивных событий.
- Оптимизировать работу Сканера: увеличивать скорость и снижать объём сетевого трафика.
- Повышать стабильность системы и её компонентов.
- Находить причины проблем производительности и несогласованности данных.
Требования:
- Опыт работы 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, удалённая работа.