Мы - Компания IT_One, стратегический партнер по цифровизации российского бизнеса и государственных органов. Наша команда реализует крупнейшие проекты цифровой трансформации. Собрали большую команду, в которой сочетаются профессионализм, опыт и молодость. Более 2500 сотрудников. Офисы в Москве, Санкт-Петербурге и Омске.
Сейчас мы находимся в поиске Senior Java Developer в проект для нашего заказчика - лидера в девелопменте жилой и коммерческой недвижимости.
Мультитенантная backend-платформа для управления недвижимостью и сервисами для жителей: заявки, начисления и платежи, пропуска, новости, интеграции с внешними системами. Это многомодульный монолит на Spring Boot плюс несколько вспомогательных сервисов (отправка уведомлений и push, планировщик задач, генерация отчётов, интеграционное API). Десятки клиентов (тенантов) работают на единой кодовой базе с изоляцией данных на уровне схем PostgreSQL.
Ищем сильного инженера, который не только закрывает задачи, но и влияет на архитектуру, поднимает планку качества и помогает расти команде.
Обязанности
• Проектировать и развивать архитектуру платформы и доменную модель: заявки, биллинг, платежи, лицевые счета, пропускные системы.
• Принимать ключевые технические решения, оценивать 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).