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