Назад к вакансиям

Senior Java Developer

IT-Oneот 5 лет
PostgreSQLJavaDockerGitREST APIKafkaRedisSpring BootKotlinHibernateMavenJPA

Описание

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)