Обязательные требования

- От 3 лет коммерческой разработки на Python;

- Опыт работы с микросервисной архитектурой: понимание, как устроен сервис, где какой код должен лежать, как сервисы взаимодействуют между собой;

- Уверенная работа с PostgreSQL (включая понимание планов запросов), брокерами сообщений (RabbitMQ или аналог), Redis/кэшами;

- Практика написания тестов (unit/интеграционные), работа со статическим анализом: mypy, линтеры;

- Опыт работы с контейнеризацией и деплоем: Docker, Kubernetes или другой оркестратор; понимание разницы между окружениями (dev / beta / prod) и принципов постепенного выката;

- Самостоятельная диагностика проблем в рантайме: чтение логов (ELK/Kibana или аналог), метрики и графики (Grafana или аналог), трассировки;

- Опыт работы с feature-флагами / динамической конфигурацией приложения;

- Умение самостоятельно вести задачу: уточнить требования, декомпозировать, дать оценку и уложиться в неё, довести до прода без «подталкивания»;

- Git, code review как рабочая норма, работа по Jira-подобному флоу.

Знание стека: Python 3, asyncio, PostgreSQL, RabbitMQ, Elasticsearch, Docker, Kubernetes (Argo CD) / Nomad, Grafana + Prometheus, ELK/Kibana, Jaeger, pytest, mypy, линтеры, внутренняя кодогенерация HTTP-клиентов, Swagger/OpenAPI, Jira + Confluence, Slack.

Задачи на проекте

- Разработка и поддержка микросервисов на Python: HTTP API, консумеры, консольные команды;

- Доработки в монолите на Python в рамках своих задач;

- Самостоятельное ведение задач по внутреннему флоу: от декомпозиции и оценки до выката на прод и наблюдения за канарейкой;

- Покрытие кода тестами, прохождение code review, поддержание code style и типизации;

- Настройка мониторинга и алертов по своим сервисам, разбор инцидентов по логам и графикам;

- Участие в декомпозиции проектов и ведении проекта на стороне разработки;

- Со временем - code review задач коллег и создание новых микросервисов с нуля.