
Python Developer
- Москва
- Постоянная работа
- Полная занятость
Отвечаем за управление тарифами и ценообразование и обеспечивает обработку и преобразование данных о потреблении ресурсов облака в конечную денежную сумму за использованные ресурсы. Высоконагруженный сервис на питоне, у нас свежая кодовая база без легаси и высокие стандарты культуры разработки.Задачи
- Разработка и развитие сервисов биллинга облака. Наш стек: Python 3, FastAPI, SQLAlchemy, Celery, PostgreSQL, Redis, Rabbit, Kafka, pytest, gitlab, krakend, k8s, Sentry.
- Проведение RnD по оптимизации производительности или использованию новых подходов / технологий
- Повышение качества: улучшать тесты, логирование, дашборды мониторинга, алерты, повышать устойчивость к сбоям
- Участие в декомпозиции крупных задач на более мелкие
- Кросс-командные взаимодействия (Front/QA/DevOps/SRE/Architects/Business)
- Совершенствование CI/CD
- Отличное знание Python 3, включая особенности языка, основные фреймворки и best practices. Опыт работы как с синхронным, так и с асинхронным кодом.
- БД: Отличное знание реляционных баз данных. Понимание как работают констрейны, индексы, транзакции, блокировки, connection pooling, репликация, и т.д.
- Интеграция: опыт проектирования и развития сложного REST API с поддержкой обратной совместимости, опыт с авторизацией по OAuth, OIDC или JWT, опыт интеграции со сторонними системами
- Высокая инженерная культура: мы ожидаем что вы пишете тесты, используете линтеры, делаете код-ревью, сопровождаете свой код документацией, добавляете новые метрики в мониторинг, создаете алерты, делаете работу над ошибками после инцидентов и понимаете зачем все это нужно делать.
- DevOps: понимание контейнеризации, CI/CD процессов, оркестрации.
- Архитектура: успешно разрабатывали как микросервисы, так и монолиты, понимаете как разделить приложение на модули и слои, обеспечить межмодульное взаимодействие, какие паттерны проектирования когда уместно применить. Способны рисовать диаграммы к разрабатываемому ПО в UML, C4 или другой нотации.
- Опыт разработки на GoLang или других языках со строгой типизацией
- Опыт работы с большими базами данных, включающий партицирование или шардирование
- Опыт работы с MQ Kafka/Rabbit
- Опыт работы с Service Mesh, API Gateway, Reverse proxy
- Опыт работы с k8s
- Опыт разработки финансовых систем