Обязанности
— Проектирование, разработка и сопровождение 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 будет преимуществом.