Обязанности:

  • Проектировать и развивать архитектуру платформы и доменную модель для заявок, биллинга, платежей, лицевых счетов и пропускных систем.
  • Принимать ключевые технические решения, оценивать trade-offs и доводить решения до реализации.
  • Разрабатывать и поддерживать бизнес-логику REST API и сопутствующих сервисов.
  • Работать с мультитенантной архитектурой, обеспечивая изоляцию данных и предсказуемую работу под нагрузкой.
  • Проектировать и оптимизировать доступ к данным, запросы и эволюцию схемы.
  • Развивать асинхронные сценарии, событийную обработку, кэширование и работу с файловым хранилищем.
  • Проектировать и сопровождать интеграции с внешними системами.
  • Задавать стандарты тестирования и качества кода, проводить код-ревью, менторить разработчиков и участвовать в найме и онбординге.
  • Устранять проблемы производительности и надёжности, участвовать в разборе инцидентов.

Требования:

  • Коммерческий опыт разработки на Java от 5 лет, владение Java 17+.
  • Экспертное знание Spring Boot, Spring MVC, Spring Data и Spring Security.
  • Глубокое знание PostgreSQL, включая проектирование схем, SQL, транзакции, индексы и планы запросов.
  • Сильный опыт с Hibernate/JPA и понимание типичных проблем ORM.
  • Опыт проектирования и эксплуатации систем в production: масштабирование, отказоустойчивость и наблюдаемость.
  • Опыт работы с Kafka или аналогами, Redis или аналогами, REST API, OpenAPI/Swagger.
  • Опыт автоматического тестирования, code review, CI/CD, Git и многомодульных проектов на Maven.
  • Самостоятельность и способность вести задачи от обсуждения требований до релиза.

Будет плюсом: опыт мультитенантных систем и SaaS-архитектуры; jOOQ, Liquibase, MapStruct, Lombok, state machine, Kotlin, Testcontainers, MinIO/S3, Keycloak/OIDC, JWT, Docker, GitLab CI, Prometheus, Jaeger или Zipkin.