Senior Java Developer
Отличная вакансия для опытного инженера: современный стек (Java 17, Spring Boot, Kafka), сложные архитектурные задачи и четко прописанные ожидания. Компания IT-One известна крупными проектами, что гарантирует профессиональный рост.
Сформировано ИИ автоматически. Не является проверкой вакансии или работодателя.
Сложность вакансии
Высокая сложность обусловлена требованиями к глубокому знанию внутренностей Hibernate, оптимизации PostgreSQL и опыту работы с мультитенантными SaaS-системами. От кандидата ожидается не только написание кода, но и принятие архитектурных решений на уровне Senior.
Сформировано ИИ автоматически. Не является проверкой вакансии или работодателя.
Анализ зарплаты
Зарплата в объявлении не указана, однако для позиции Senior Java Developer в России рыночный диапазон составляет от 350 000 до 550 000 рублей после вычета налогов. Учитывая сложность стека (мультитенантность, jOOQ), предложение должно находиться в верхней части этого диапазона.
Сформировано ИИ автоматически. Не является проверкой вакансии или работодателя.
Описание вакансии
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).
Как откликнуться:
Лучшие вакансии от работодателей мечты на promopoisk.com
Умный подбор, сопроводительные письма, советы по отказам — больше приглашений.

Навыки
- Java
- Spring Boot
- Spring MVC
- Spring Data
- Spring Security
- PostgreSQL
- Hibernate
- JPA
- jOOQ
- Liquibase
- Kafka
- Redis
- S3
- MinIO
- JUnit 5
- TestContainers
- Docker
- GitLab CI
- Maven
- Kotlin
- MapStruct
- Lombok
- Prometheus
- Jaeger
Возможные вопросы на собеседовании
Вакансия предполагает работу с мультитенантностью. Важно понимать, как кандидат обеспечивает изоляцию данных.
Какие стратегии реализации мультитенантности в PostgreSQL вы знаете и какие trade-offs у подхода 'схема на тенанта'?
В описании упомянут Hibernate и сложные запросы. Нужно проверить понимание проблем производительности ORM.
Как вы будете бороться с проблемой N+1 и в каких случаях предпочтете jOOQ вместо Hibernate для сложных выборок?
Проект использует Kafka для асинхронности. Важна надежность доставки сообщений.
Как обеспечить семантику exactly-once при обработке событий в Kafka и какие настройки продюсера/консьюмера для этого критичны?
Роль Senior подразумевает ответственность за архитектуру.
Расскажите о самом сложном архитектурном решении, которое вам пришлось принимать: какие были альтернативы и почему выбрали именно этот вариант?
Упоминается работа с транзакциями и уровнями изоляции в БД.
В чем разница между уровнями изоляции Repeatable Read и Serializable в PostgreSQL, и какие аномалии они предотвращают?
Сформировано ИИ автоматически. Не является проверкой вакансии или работодателя.

