Чем предстоит заниматься:
- Развивать REST API и бизнес-логику корзины, чекаута, доставки, заказов и оплаты.
- Проектировать интеграции с внутренними сервисами: синхронные вызовы и обмен событиями через Kafka с использованием Protobuf и Avro.
- Согласовывать API и событийные контракты с web- и mobile-разработчиками и аналитиками.
- Работать с PostgreSQL: писать запросы, готовить миграции в Liquibase, использовать JDBC и jOOQ. Применять Redis для хранения сессий корзины и кэширования.
- Повышать надёжность сервисов: настраивать таймауты, ретраи и circuit breaker, обеспечивать идемпотентность и продумывать поведение при недоступности зависимостей.
- Управлять включением функциональности через feature flags в Unleash.
- Участвовать в проектировании, проводить код-ревью, писать тесты и разбирать инциденты.
- Работать в кросс-функциональной команде с backend-, web- и mobile-разработчиками, QA, аналитиками и продуктом — от обсуждения задачи до выпуска изменений в продакшен.
Требования:
- От 3 лет коммерческой backend-разработки на Java и/или Kotlin, опыт работы с продакшен-сервисами.
- Уверенное знание Spring / Spring Boot и опыт разработки REST API.
- Хорошее знание SQL, опыт работы с реляционными базами данных, JDBC или jOOQ и миграциями схемы.
- Практический опыт работы с Kafka, Redis и Kubernetes.
- Понимание особенностей распределённых систем: повторная доставка событий, идемпотентность, согласованность оплаты и статуса заказа.
- Умение писать поддерживаемый код и проверять его тестами: JUnit 5, Testcontainers, интеграционные сценарии.
- Готовность обсуждать решения, предлагать улучшения и доводить изменения до продакшена.
Будет плюсом: опыт в платежах, фискализации или расчёте доставки; работа с Micrometer, Prometheus, Elastic APM; опыт применения AI-инструментов в разработке.
Условия: полная занятость, график 5/2; формат работы — удалённо, гибрид или офис.