В O!Bank требуется Senior Java Developer
Основные обязанности:
• Разработка и развитие микросервисов на Java / Spring Boot (REST, async, интеграционные сценарии).
• Проектирование и реализация асинхронных взаимодействий (RabbitMQ: очереди, ретраи, DLQ, TTL, корреляция ответов).
• Реализация бизнес-процессов платежей: статусы, оркестрация, идемпотентность, обработка ошибок, компенсации.
• Интеграции с внешними/внутренними системами через REST (WebClient) и брокеры сообщений; контрактирование API.
• Участие в дизайне решений: архитектурные ревью, декомпозиция задач, улучшение качества кода, рефакторинг.
• Обеспечение observability: метрики Micrometer, логи, трассировка; участие в построении дашбордов Grafana/Prometheus.
• Участие в выпуске и эксплуатации: взаимодействие с DevOps, Kubernetes/Helm, CI/CD, анализ инцидентов, повышение надежности.
Требование к кандидатам:
• Опыт Java 17+ (желательно 21+), уверенное владение core Java (concurrency, collections, JVM basics).
• Коммерческий опыт со Spring Boot 2/3 (желательно 3/4): Spring Web, Validation, Spring Data (JPA/Hibernate).
• Практический опыт проектирования микросервисов: границы контекстов, контракты, отказоустойчивость, backward compatibility.
• Опыт работы с брокерами: RabbitMQ (или Kafka); понимание retry/backoff, DLQ, идемпотентности.
• Опыт с БД: PostgreSQL/Oracle, транзакции, индексы, оптимизация запросов; миграции Liquibase/Flyway.
• Понимание безопасности: OAuth2/OIDC, JWT, основы аутентификации/авторизации.
• Опыт контейнеризации и эксплуатации: Docker, Kubernetes (деплой, конфиги, логи, ресурсы).
• Тестирование: unit и интеграционные тесты (JUnit 5); Testcontainers — плюс.
• Командная работа: код-ревью, умение аргументировать технические решения.
Желательно (nice-to-have)
• Опыт со Spring Authorization Server, включая кастомные grant types, refresh-flow и управление токенами.
• Spring Integration / EIP-паттерны, построение интеграционных пайплайнов.
• Redis (кеширование, идемпотентность, TTL, распределенные блокировки).
• Observability стек: Micrometer, Prometheus, Grafana, OpenTelemetry/Zipkin/Jaeger.
• Опыт финтех/платежных доменов, high-load и high-availability систем.
Заработная плата обсуждается индивидуально по итогам собеседования.
