Обязанности
- Проектирование, разработка и сопровождение backend-сервисов мобильного финансового продукта.
- Разработка REST / gRPC API для мобильных приложений и внутренних сервисов.
- Реализация бизнес-логики платежных сценариев: электронный кошелёк, пополнения, P2P-переводы, оплата услуг, QR-платежи.
- Разработка и сопровождение интеграций с внешними сервисами и платёжными шлюзами, включая эквайринг, токенизацию и сервисы поставщиков услуг.
- Участие в разработке и сопровождении интеграционных сервисов и партнёрских решений.
- Работа с реляционными базами данных, кэшированием и системами обмена сообщениями: PostgreSQL, Redis, Kafka / RabbitMQ.
- Разработка сервисов с учётом требований к производительности, отказоустойчивости и обработке высоких нагрузок.
- Реализация механизмов аутентификации и авторизации.
- Разработка и сопровождение сервисов уведомлений и других клиентских сценариев.
- Написание unit- и integration-тестов.
- Участие в code review и проектировании архитектуры сервисов совместно с архитекторами.
- Подготовка и актуализация технической документации.
- Диагностика и устранение дефектов и инцидентов в production, участие в анализе причин инцидентов.
- Соблюдение требований информационной безопасности и PCI DSS.
- Взаимодействие с командами Mobile, QA, системными аналитиками, DevOps, архитекторами и Product-командой.
Требования
- Уверенное знание Java и Spring, включая Spring Boot / Spring Cloud.
- Знание ООП, SOLID, паттернов проектирования и принципов чистой архитектуры.
- Опыт разработки REST / gRPC API.
- Опыт проектирования API для мобильных приложений.
- Знание механизмов аутентификации и авторизации: OAuth2, JWT, сессии.
- Уверенное знание PostgreSQL и SQL, опыт оптимизации запросов.
- Опыт работы с Redis.
- Опыт работы с Kafka и/или RabbitMQ, понимание принципов асинхронного обмена сообщениями.
- Понимание микросервисной архитектуры и принципов работы API Gateway.
- Опыт работы с Docker, знание Kubernetes на базовом уровне.
- Опыт работы с Git и GitLab CI/CD.
- Знание HTTP/HTTPS, TLS, TCP/IP, форматов JSON / XML.
- Понимание принципов построения высоконагруженных и отказоустойчивых систем: идемпотентность, retry, circuit breaker, кэширование.
- Опыт написания unit- и integration-тестов.
- Понимание принципов информационной безопасности и требований PCI DSS.
- Знание FCM / APNs будет преимуществом.