Город: Москва
Занятость: Полная, 5/2
Опыт работы: От 3 до 6 лет
Департамент информационных технологий Москвы создает и развивает цифровые проекты, которые делают столицу комфортнее, а жизнь горожан — удобнее и мобильнее. Для системы управления столицей технологии — это незаменимый инструмент, который применяется во всех отраслях экономики, городского хозяйства и социальной сферы. А для миллионов горожан — повседневный помощник, который позволяет получать сотни услуг и сервисов в удобном цифровом формате в режиме 24/7.
Мы развиваем две ключевые платформы города Москвы, формирующие технологический фундамент для интеграции десятков информационных систем:
1. Универсальный сервер аутентификации и авторизации на базе Keycloak 26.x (OAuth 2.0 / OpenID Connect) — единая точка управления доступом с централизованными политиками безопасности.
2. Корпоративная система асинхронного обмена данными на базе Apache Kafka, Schema Registry и Keycloak — централизованная шина для надёжного обмена между городскими сервисами с контролем доступа на уровне топиков и сервисами наблюдаемости.
Что нужно делать:
- Поддерживать и развивать административную панель Keycloak для управления правами доступа (клиенты, пользователи, роли, мапперы, политики).
- Кастомизировать внешний вид и поведение страниц аутентификации пользователя в системе (темы Keycloak).
- Осуществлять построение дашбордов наблюдаемости и мониторинга на основе метрик, логов и SLA-показателей платформы.
- Проектировать клиентскую архитектуру и пользовательский опыт:
- Разрабатывать SPA на React с использованием TypeScript, проектировать маршрутизации, управлять состоянием и слоем абстракции над API.
- Унифицировать UI-компоненты и дизайн-систему
- Обеспечивать отзывчивость, доступность (a11y) и кросс-браузерную совместимость интерфейсов.
- Реализовывать клиентскую логику аутентификации и авторизации (OAuth 2.0 / OIDC, PKCE, обновление токенов).
- Прорабатывать интеграцию с REST API (OpenAPI/Swagger), обрабатывать серверные события через WebSocket / Server-Sent Events.
- Взаимодействовать с бэкенд-командами для улучшения контрактов API, обработки ошибок и версионирования.
- Писать unit-тесты (Jest, Vitest) и интеграционные/E2E-тесты(Cypress).
- Участвовать в code review, выработке стандартов и best practices по React и TypeScript.
- Мониторить производительность фронтенда, профилирование, оптимизацию загрузки и рендеринга.
- Описывапть архитектурные решения, пользовательские сценарии и инструкции по развёртыванию клиентских приложений.
- Вести базы знаний и шаблоны фронтенд-разработки для платформенных решений.
- Участвовать в планировании, оценке задач и демонстрации результатов заказчикам и смежным командам.
- Опыт коммерческой разработки веб-приложений от 6 лет, из них не менее 3 лет — на React с использованием TypeScript.
- Уверенное владение React (хуки, контекст, Suspense), TypeScript, современным JavaScript (ES6+), HTML5 и CSS3 (Flexbox, Grid, адаптивная вёрстка).
- Опыт построения архитектуры сложных SPA: управление состоянием (Redux / MobX), маршрутизация, ленивая загрузка модулей, обработка ошибок.
- Практический опыт интеграции с REST API: знание принципов REST, умение читать и использовать спецификации OpenAPI (Swagger), работа с асинхронными запросами.
- Понимание протоколов OAuth 2.0 и OpenID Connect на уровне клиентской части.
- Навыки тестирования: unit-тесты (Jest, Vitest), тесты компонентов (React Testing Library), E2E-тесты (Cypress).
- Уверенное владение инструментом Docker и понимание принципов деплоя фронтенд-приложений.
- Умение диктовать и обосновывать UX/UI-решения, ввлиять на проектирование интерфейсов, а не просто следовать готовым макетам.
- Опыт написания технической документации (описание архитектуры, инструкции, ADR).
- Коммуникативные навыки: способность аргументировать архитектурные решения, эффективно взаимодействовать с бэкенд-командами, аналитиками и заказчиками.
Будет плюсом:
- Опыт интеграции с Keycloak (настройка клиентов, понимание realms и ролей).
- Опыт работы с UI для управления Apache Kafka (топики, consumer groups, Schema Registry).
- Опыт использования инструментов кодогенерации клиентов на основе OpenAPI для автоматизации создания API-слоя.
- Навыки визуализации данных (Grafana, ECharts) и построения дашбордов.
- Опыт разработки мобильных приложений с использованием React Native.
- Понимание специфики государственных информационных систем и требований к безопасности (в том числе к интерфейсам).
- Опыт работы с монорепозиториями (Nx, Turborepo) и системами сборки (Vite, Webpack).
- Опыт разработки бэкенда на Node.js или Java для более глубокого понимания контрактов API.
- Навыки работы с веб-сокетами и Server-Sent Events для отображения данных в реальном времени.
- Рыночную зарплату и премии.
- Драйвовые задачи и ресурсы для их реализации.
- Гибридный или удаленный формат работы.
- Преимущества аккредитованной ИТ-компании.
- Материальную помощь в случае важных событий в жизни.
- Корпоративное обучение и доступ к онлайн-библиотеке.
- Корпоративные тренировки и спортивные активности - бег, футбол, волейбол, баскетбол, теннис и другие
- Комьюнити по интересам
- Скидки от партнеров на ДМС, связь, развлечения, подарки, спорт.
Адрес: Москва, Нижний Сусальный переулок
Похожие вакансии