Middle Java Developer
Описание
Мы в Reunico создаём корпоративные решения для автоматизации бизнес-процессов и интеграции сложных информационных систем. Работаем с крупными заказчиками и сопровождаем решения от проектирования до стабильной эксплуатации в production. Сейчас мы формируем проектную команду для модернизации действующей корпоративной информационной системы управления бизнес-процессами. Это не greenfield-разработка: предстоит работать с существующей production-системой на микросервисной архитектуре, последовательно обновлять технологический стек, устранять несовместимости и технический долг, сохраняя работоспособность системы. В системе около 12 backend-сервисов, команда разработки — 4 человека. Одна из ключевых технических задач проекта — модернизация сервисов:
- Java 11 → Java 25 LTS
- Spring Boot 2 → Spring Boot 4
Обязанности
- модернизировать существующую корпоративную информационную систему
- участвовать в миграции сервисов с Java 11 на Java 25 LTS и со Spring Boot 2 на Spring Boot 4
- анализировать breaking changes и несовместимости Spring Framework / Spring Boot и связанных библиотек
- адаптировать существующий production-код и конфигурацию
- обновлять зависимости и устранять возникающие несовместимости
- проводить необходимый для миграции рефакторинг
- проектировать и развивать REST API и интеграции между сервисами
- работать с PostgreSQL и Spring Data JPA / Hibernate
- диагностировать и устранять проблемы производительности SQL и ORM
- работать с интеграциями на базе Apache Kafka
- писать модульные и интеграционные тесты
- анализировать технический долг и постепенно улучшать существующую архитектуру
- оценивать технические риски и последствия изменений
- участвовать в code review и обсуждении технических решений внутри команды
Требования
- уверенное знание Java Core
- практический опыт разработки на Spring / Spring Boot
- опыт работы с существующим production- или legacy-кодом
- способность самостоятельно разбираться в незнакомой кодовой базе
- понимание микросервисной архитектуры и принципов построения REST API
- практический опыт работы со Spring Data JPA / Hibernate, понимание транзакций, загрузки данных и типичных проблем производительности ORM
- уверенная работа с PostgreSQL и SQL
- опыт написания unit- и integration-тестов
- владение Git
- опыт работы с Docker
- понимание CI/CD
- способность оценивать последствия изменений и технические риски
Будет плюсом
- опыт миграции Spring Boot 2 → 3 или других крупных переходов между major-версиями Spring / Spring Boot
- опыт миграции между major-версиями других крупных фреймворков
- опыт решения проблем совместимости при обновлении Java, фреймворков и зависимостей
- опыт работы с Camunda 7 / Camunda BPM
- опыт работы с Apache Kafka
- понимание Kubernetes и Helm
- опыт работы с Keycloak, OAuth2 и JWT
- опыт работы с OpenSearch
- опыт работы с Grafana / Prometheus
- опыт диагностики и оптимизации производительности корпоративных систем
Условия
- заработная плата 300 000 ₽ в месяц до вычета НДФЛ, в зависимости от опыта и технического уровня
- официальное трудоустройство
- срочный трудовой договор на 6 месяцев для выполнения работ по конкретному проекту
- полностью удалённая работа или гибридный формат
- небольшая проектная команда
- минимум бюрократии
- возможность непосредственно участвовать в принятии технических и архитектурных решений
Процесс отбора
- Нам важно отличать содержательные отклики от массовых и автооткликов, поэтому просим коротко рассказать о вашем опыте работы с модернизацией существующих систем. Если у вас был опыт миграции Spring Boot / Spring Framework или другого крупного фреймворка между major-версиями, в 3–5 предложениях расскажите: между какими версиями выполнялась миграция; с какими основными проблемами или несовместимостями вы столкнулись; что пришлось менять в коде, зависимостях, конфигурации или инфраструктуре; за какую часть этой работы отвечали лично вы. Если опыта миграции между major-версиями не было, вместо этого коротко опишите наиболее сложную задачу по модернизации или рефакторингу существующей production-системы, которую вы решали. Отсутствие опыта именно миграции Spring Boot не является основанием для отказа — нам важен общий инженерный опыт работы с существующими системами. Отклики без ответа на этот вопрос мы не рассматриваем.