Senior Java Developer в IT-One
Что предстоит делать:
— Проектировать и развивать архитектуру платформы и доменную модель: заявки, биллинг, платежи, лицевые счета, пропускные системы.
— Принимать ключевые технические решения, оценивать trade-offs, доводить их до реализации и описывать в виде понятных команде договорённостей.
— Разрабатывать и поддерживать бизнес-логику основного REST API и сопутствующих сервисов.
— Работать с мультитенантной архитектурой (схема на тенанта), обеспечивая изоляцию данных и предсказуемое поведение под нагрузкой.
— Проектировать и оптимизировать слой доступа к данным (Hibernate/JPA + jOOQ), сложные и производительные запросы, эволюцию схемы (Liquibase).
— Развивать асинхронные сценарии и событийную обработку (Kafka), кэширование (Redis/Redisson), работу с файловым хранилищем (S3/MinIO).
— Проектировать и сопровождать интеграции с внешними системами (платёжные шлюзы, СКУД, провайдеры уведомлений).
— Задавать стандарты тестирования и качества кода: unit- и интеграционные тесты (JUnit 5, Testcontainers), Checkstyle, единый code style.
— Проводить код-ревью, менторить middle/junior-разработчиков, участвовать в найме и техническом онбординге.
— Находить и устранять узкие места в производительности и надёжности; участвовать в разборе инцидентов.
Кого мы ищем:
— Коммерческий опыт разработки на 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).