Нижний Сусальный переулок
Департамент информационных технологий Москвы создает и развивает цифровые проекты, которые делают столицу комфортнее, а жизнь горожан — удобнее и мобильнее. Для системы управления столицей технологии — это незаменимый инструмент, который применяется во всех отраслях экономики, городского хозяйства и социальной сферы. А для миллионов горожан — повседневный помощник, который позволяет получать сотни услуг и сервисов в удобном цифровом формате в режиме 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-компании
- материальную помощь в случае важных событий в жизни
- корпоративное обучение у топовых провайдеров и доступ к онлайн-библиотеке
- корпоративные тренировки и спортивные активности - бег, футбол, волейбол, баскетбол, теннис и другие
- комьюнити по интересам
- скидки от партнеров на ДМС, связь, развлечения, подарки, спорт и т.д.