Описание вакансии
Коротко о роли— Проектировать и развивать архитектуру платформы и доменную модель: заявки, биллинг, платежи, лицевые счета, пропускные системы. — Принимать ключевые технические решения, оценивать trade-offs, доводить их до реализации и описывать в виде понятных команде договорённостей.
В роли Senior Java Developer предстоит заниматься проектированием и развитием архитектуры платформы, включая доменную модель для заявок, биллинга, платежей, лицевых счетов и пропускных систем. Необходимо принимать ключевые технические решения, оценивать компромиссы и оформлять их для команды. В обязанности входит разработка и поддержка бизнес-логики основного REST API и связанных сервисов, работа с мультитенантной архитектурой с изоляцией данных и обеспечением стабильности под нагрузкой. Требуется проектировать и оптимизировать слой доступа к данным с использованием Hibernate/JPA и jOOQ, а также управлять эволюцией схемы через Liquibase. Важна разработка асинхронных сценариев и событийной обработки на базе Kafka, кэширование с Redis/Redisson и взаимодействие с файловыми хранилищами S3/MinIO. Нужно проектировать интеграции с внешними системами, такими как платежные шлюзы, СКУД и провайдеры уведомлений. Также необходимо устанавливать стандарты тестирования и качества кода, включая unit- и интеграционные тесты (JUnit 5, Testcontainers), Checkstyle и единый стиль кода. В задачи входит проведение код-ревью, наставничество для middle и junior разработчиков, участие в найме и техническом онбординге, а также выявление и устранение узких мест в производительности и надежности, участие в разборе инцидентов. Требования включают опыт коммерческой разработки на Java не менее 5 лет с уверенным владением версиями 17+, глубокие знания Spring (Boot, MVC, Data, Security), PostgreSQL (проектирование схем, оптимизация SQL, транзакции), опыт работы с Hibernate/JPA и понимание типичных проблем ORM. Необходим опыт эксплуатации продакшен-систем с масштабированием и отказоустойчивостью, уверенное владение асинхронным обменом сообщениями (Kafka или аналог) и кэшированием (Redis или аналог), опыт построения и версионирования REST API с документацией OpenAPI/Swagger. Важна зрелая инженерная культура: автоматическое тестирование, код-ревью, CI/CD, работа с Git и многомодульными проектами на Maven, а также способность самостоятельно вести задачи от требований до релиза. Дополнительным преимуществом будет опыт с мультитенантными системами и SaaS-архитектурой, знание jOOQ, Liquibase, MapStruct, Lombok, конечных автоматов для жизненного цикла сущностей, Kotlin (для тестов), Testcontainers, MinIO/S3, Keycloak/OIDC, JWT, Docker, GitLab CI, мониторинг и трейсинг (Prometheus, Jaeger/Zipkin).
Контакты работодателя доступны по кнопке «Откликнуться» после входа.