• Вища технічна освіта;
• Досвід роботи: 5+ років комерційного досвіду розробки на Java;
• Досвід підтримки та розвитку великих монолітних production-систем;
• Готовність брати відповідальність за архітектурні та технічні рішення всередині моноліту;
• Java 17+ — глибоке розуміння JVM, пам'яті, GC, потоків, профілювання;
• Відмінне знання Java Core, колекцій, багатопотоковості, streams;
• Досвід оптимізації продуктивності та діагностики проблем у long-running додатках;
• Глибоке знання реляційних БД;
• Розуміння HTTP, CORS, WebSockets.
Обов'язки:
• Spring Boot / Spring Framework — проектування та розвиток монолітних додатків;
• Spring Security — складні схеми аутентифікації та авторизації (OAuth2, JWT, SSO);
• Spring MVC — контролери, фільтри, інтерсептори, обробка помилок;
• Spring Data JPA / Hibernate — глибоке розуміння ORM, lifecycle сутностей, N+1, batching, 2nd-level cache;
• Проектування модульного моноліту (package-by-feature, bounded contexts);
• Розуміння та застосування SOLID, DRY, KISS, патернів проектування;
• Розділення шарів: controller / service / domain / persistence;
• Проектування схем, індексів, складних транзакцій;
• Оптимізація важких запитів і batch-операцій;
• Redis — кешування даних, сесій, синхронізація всередині моноліту;
• Розробка і підтримка REST API для зовнішніх і внутрішніх систем;
• Робота з синхронними інтеграціями та асинхронними завданнями всередині додатка;
• Управління схемою БД за допомогою Liquibase;
• Зворотна сумісність змін (backward compatibility);
• Підтримка версіонування API;
• Архітектура тестування моноліту: unit / integration / e2e;
• Підтримка високої покриваності та стабільності regression-тестів;
• DevOps Maven, Gitlab, базове розуміння CI/CD;
• Менторинг розробників;
• Проведення код-рев'ю;
• Робота з технічним боргом;
• Вміння планувати рефакторинг та пояснювати його бізнес-цінність.