- Управлять группой разработчиков java: планировать загрузку, распределять задачи с учётом компетенций, оценивать трудоёмкость, контролировать сроки, зависимости и качество результата без микроменеджмента;
-
Выстраиванием единого процесса разработки: критерими готовности задач, правилами проектирования и кодирования, ветвления и слияния, обязательное code review, автоматические проверки, сборки, поставку релизов и управление изменениями;
-
Проводить технические интервью, онбординг и наставничество, развивать инженеров и ведущих разработчиков; управлять загрузкой, техническим долгом, ресурсными ограничениями и своевременно эскалировать риски;
-
Совместно с аналитиками и архитектором переводить требования в технические решения, декомпозировать их до реализуемых задач, определять зависимости, ограничения, нефункциональные требования, оценки и технические критерии приёмки;
-
Проектировать функциональные подсистемы, модели данных, объекты метаданных Jmix Metadata Framework, JPA-сущности, фоновые и планируемые задания;
-
Лично реализовывать критичные или архитектурно значимые участки, создавать технические прототипы и проводить ревью кода, запросов, схем обмена и миграций с фиксацией обязательных замечаний;
-
Обеспечивать производительность и устойчивость: предотвращать длительные транзакции и блокировки, оптимизировать запросы и фоновые задания, контролировать параллельность, объёмы данных и влияние изменений на смежные функции;
-
Реализовывать ролевую модель, журналирование и технические меры защиты в соответствии с согласованными требованиями информационной безопасности и обработки персональных данных.
-
Не менее 7 лет разработки решений на JAVA, не менее 2 лет технического руководства группой из трёх и более разработчиков с личной ответственностью за качество технических решений и результата команды;
-
Участие как минимум в одном проекте создания или существенной модернизации ГИС либо её функциональной подсистемы - с формальным согласованием документации и желательно с прохождением предварительных/приёмочных испытаний;
-
Опыт полного жизненного цикла крупного блока JAVA: проектирование, реализация, интеграционное и нагрузочное тестирование, опытная эксплуатация, приёмка, промышленный запуск и стабилизация;
-
Личный опыт проектирования и разработки сложных клиент-серверных решений, интеграций и обработки значимых объёмов данных, а также ревью чужого кода и технических решений;
-
Опыт организации командной разработки, оценки и планирования, контроля качества кода, сборки и выпуска релизов, управления техническим долгом и устранения производственных инцидентов;
-
Глубокое понимание архитектуры: клиент-серверный режим, кластер, метаданные Jmix Metadata Framework, JPA-сущности, транзакции, блокировки, Quartz, Spring Scheduler, Jmix Scheduled Tasks, синхронизацию данных, роли и права;
-
Уверенная разработка на Java + Jmix/CUBA, понимание архитектуры платформы и продуктов на её базе (в т.ч. СЭД ТЕЗИС): расширения, аддоны, механизмы бизнес-процессов, ролевая модель безопасности;
-
Интеграции: REST/SOAP, HTTP-сервисы, JSON, XML/ JAXB, Jackson, XML-маппинг, очереди сообщений и файловый обмен; проектирование контрактов, маппинга, версионирования, обработки ошибок, повторов и идемпотентности;
-
Диагностика и оптимизация JAVA по логам приложения (SLF4J/Logback), APM-метрикам (Micrometer, Prometheus), профилировщикам (JProfiler, VisualVM) и планам запросов; анализ блокировок, длительных операций, фоновых заданий и деградации под нагрузкой;
-
SQL и СУБД на уровне самостоятельного анализа запросов, индексов, транзакций, блокировок и целостности данных; практический опыт с PostgreSQL, MS SQL Server или сопоставимой СУБД;
-
Командная разработка и поставка: IntelliJ IDEA + Jmix Studio, Git, автоматизированные проверки Java (Checkstyle, SpotBugs, SonarQube), CI/CD и инструменты тестирования JAVA; понимание правил безопасного переноса изменений между средами.
-
Техническое лидерство: способность принимать и документировать решения, сравнивать варианты по качеству, срокам и стоимости сопровождения, делегировать реализацию без потери архитектурной целостности;
-
Управление поставкой и рисками: реалистичная оценка, раннее выявление зависимостей, контроль критического пути, технического долга и качества; готовность остановить выпуск неподготовленного изменения и предложить безопасный план.
-
Руководство людьми: ясная постановка задач, регулярная обратная связь, наставничество, развитие самостоятельности, разрешение технических разногласий и формирование сильных ведущих разработчиков.
-
Зрелую коммуникация: способность объяснять технические ограничения нетехническим стейкхолдерам, защищать оценки и решения, фиксировать договорённости и своевременно эскалировать проблемы без сокрытия фактического статуса.