О проекте
Департамент информационных технологий Москвы создает и развивает цифровые проекты, которые делают столицу комфортнее, а жизнь горожан — удобнее и мобильнее. Для системы управления столицей технологии — это незаменимый инструмент, который применяется во всех отраслях экономики, городского хозяйства и социальной сферы. А для миллионов горожан — повседневный помощник, который позволяет получать сотни услуг и сервисов в удобном цифровом формате в режиме 24/7.
Проект представляет собой корпоративную систему асинхронного обмена данными между информационными системами города Москвы на базе Apache Kafka. В состав решения входят: брокер сообщений Kafka, валидация сообщений с использованием Schema Registry, интеграция с Keycloak для проверки прав доступа к топикам, а также ведение реестров информационных систем, схем данных и потоков взаимодействия.
Что нужно делать
•Разрабатывать и проектировать микросервисы на Spring для повышения наблюдаемости системы (метрики, логи, трассировка), а также создавать интерактивные карты интеграций, паспорта топиков, реестры информационных систем и визуализацию структур сообщений.
•Добавлять поддержку новых типов обмена: синхронный REST (возможно gRPC и/или SOAP-протоколы), обеспечивать их совместимости с существующей инфраструктурой.
•Проводить нагрузочное тестирование сервиса каталога интеграций и сервиса синхронного обмена (JMeter).
•Проектировать и поддерживать REST API, документацию через OpenAPI/Swagger.
•Работать с реляционными СУБД (PostgreSQL), проектировать схемы, писать оптимизированные SQL-запросы, управлять миграциями.
•Писать модульные и интеграционные тесты (JUnit, Mockito, Testcontainers).
•Участвовать в code review, архитектурных обсуждениях, документировании решений.
•Анализировать и решать инциденты, связанные с производительностью, безопасностью, сетевыми протоколами и маршрутизацией запросов.
Какие знания и навыки важны
•Уверенный коммерческий опыт Java-разработки (Java 8, 11, 17 или 21).
•Практический опыт работы с Apache Kafka (производители, потребители, топики) ACL и Schema Registry.
•Хорошее знание Spring Framework (Spring Boot, Spring Web, Spring Data, Spring Security).
•Опыт работы с Keycloak или другими системами на базе OAuth 2.0 / OIDC.
•Навыки работы с PostgreSQL: проектирование схем, оптимизация запросов, миграции.
•Опыт написания тестов (JUnit, Mockito, Testcontainers).
•Уверенное владение Git, Maven/Gradle, Docker.
•Понимание принципов REST API, опыт работы с OpenAPI/Swagger.
•Готовность проводить нагрузочное тестирование и анализировать производительность.
•Способность самостоятельно прояснять неопределённость в задаче: формулировать вопросы, проверять гипотезы и предлагать технически обоснованные решения.
Будет плюсом
•Опыт разработки синхронных высоконагруженных сервисов (REST, gRPC).
•Навыки работы с SOAP (JAX-WS, WSDL, XML).
•Знание инструментов мониторинга (Prometheus, Grafana, ELK).
•Опыт работы с API Gateway (Spring Cloud Gateway, Nginx).
•Навыки проведения нагрузочного тестирования (JMeter, Gatling, k6).
•Опыт работы с дополнительными брокерами (RabbitMQ, ActiveMQ).
•Знание протоколов и форматов: Avro, Protobuf, JSON Schema.
•Опыт разработки веб-части на React.
•Участие в проектах для госсектора или крупных enterprise-систем.
•Опыт применения современных LLM-инструментов для анализа требований, разработки и проверки решений.
Условия
•Драйвовые задачи и ресурсы для их реализации.
•Преимущества аккредитованной IT-компании.
•Материальная помощь в случае важных событий в жизни.
•Корпоративное обучение у топовых провайдеров и доступ к онлайн-библиотеке.
•Корпоративные тренировки и спортивные активности - бег, футбол, волейбол, баскетбол, теннис и другие.
•Комьюнити по интересам.
•Скидки от партнеров на ДМС, связь, развлечения, подарки, спорт и т.д.