Город: Санкт-Петербург
Занятость: Полная, 5/2
Опыт работы: Более 6 лет
Мы - аккредитованная IT- компания, объединяющая опытных сотрудников, специализирующаяся на разработке, сопровождении и эксплуатации информационных систем, поддержке принятия решений в областях экономической и хозяйственной деятельности, в том числе обеспечения исполнения государственных услуг и функций.
О проекте:
Комплексная автоматизированная система управления службы скорой и неотложной медицинской помощи г. Москвы это:
- Централизованный прием вызовов по единому трехзначному федеральному номеру «103» для пациентов, обращающихся за неотложной медицинской помощью, сортировка вызовов по принадлежности в зависимости от повода;
- Автоматизация деятельности основных служб СС и НМП, связанной с приемом и обработкой вызовов «103»;
- Автоматизация деятельности выездных бригад СС и НМП за счет их оснащения мобильными рабочими местами;
- Получение оперативной информации по всем этапам выполнения вызовов;
- Обеспечение процессов медицинской эвакуации;
- Повышение уверенности и доверия пациента в своевременном оказании ему экстренной медицинской помощи;
- Интеграция с ГИС ЕМИАС.
Стек:
- Архитектура построена на Java/Spring Boot, Angular, PostgreSQL;
- Интеграции выполняются через REST/SOAP API.
Мы расширяем команду разработки и ищем Фронтэнд-разработчика уровня Senior / Middle+, который поможет осуществлять рефакторинг системы.
Обязанности:
1. Архитектура и проектирование:
- Проектировать архитектуру новых frontend-модулей и библиотек, учитывая требования к производительности и масштабируемости;
- Участвовать в обсуждении архитектуры интеграции с BFF и бэкенд-сервисами (Java);
- Проводить архитектурное ревью кода коллег.
2. Разработка:
- Разрабатывать пользовательские интерфейсы на Angular, используя NgRx, RxJS и ReactiveForms;
- Писать чистый, самодокументируемый код, следуя best practices;
- Осуществлять интеграцию с REST, SOAP (через BFF) и WebSocket API.
3. Качество и тестирование:
- Писать unit-тесты (Jest) и UI-тесты (Cypress). Стремиться к высокому покрытию критического функционала;
- Участвовать в code review (как автор, так и ревьювер) для поддержания качества кода и обмена знаниями;
- Внедрять и поддерживать лучшие практики разработки и контроля качества в команде.
4. Производительность и надежность:
- Проводить анализ и оптимизацию производительности фронтенда (бандл, скорость рендера, количество запросов);
- Участвовать в настройке мониторинга фронтенда (сбор ошибок, метрик производительности) и оперативно реагировать на инциденты.
5. DevOps:
Работать с CI/CD пайплайнами (GitLab CI): проверка сборки, линтеров, прогон тестов.
Требования:
Фронтенд (Core):
- Язык: TypeScript;
- Фреймворк: Angular 15+ (включая понимание жизненного цикла компонентов, DI, Zones);
- Состояние: NgRx (Effects, Store, Entity, хорошее понимание реактивного подхода);
- Реактивность: RxJS (операторы высшего порядка, управление подписками, Subjects);
- Стилизация: HTML5, CSS3/SCSS (BEM, модульные стили), адаптивная и отзывчивая верстка;
- Формы: ReactiveForms (продвинутая валидация, кастомные контролы, динамические формы);
- Сеть: REST, WebSocket / SSE, работа с Swagger/OpenAPI (умение читать спецификацию), опыт интеграции с SOAP-сервисами (понимание структуры XML).
Тестирование и качество:
- Unit-тесты: Jest / Karma (умение писать изолированные тесты на компоненты, сервисы, редьюсеры);
- E2E-тесты: Cypress (написание сценариев, отладка, интеграция в CI).
Инфраструктура и BFF:
- BFF-слой (будет плюсом): Понимание архитектуры BFF, умение читать и анализировать код Java 17 / Spring Boot 3 / Maven (для отладки взаимодействия или написания простых изменений);
- Контейнеризация и CI/CD (будет плюсом): Опыт работы с Docker, понимание основ Kubernetes, настройка пайплайнов в GitLab CI (запуск тестов, сборка, деплой).
Инструменты:
- Git;
- Webpack / Angular CLI.
Обязательно:
1. Angular на продвинутом уровне: Уверенное владение механизмами Change Detection, ленивой загрузкой модулей, DI, пайпами и директивами;
2. RxJS и управление состоянием: Ты не просто используешь NgRx, а понимаешь, как организовать стор без утечек памяти, умеешь использовать фасады и селекторы для оптимизации;
3. Работа со сложными формами: Опыт построения сложных, динамических и вложенных форм с кастомными валидаторами;
4. Тестирование: Привычка покрывать код тестами (не ради процентов, а ради качества). Умение писать поддерживаемые e2e-тесты на Cypress;
5. Веб-протоколы: Четкое понимание REST, умение работать с WebSockets/SSE для получения данных в реальном времени, знание особенностей CORS, cookie, авторизации (JWT, OAuth2).
Будет плюсом:
- BFF и Backend-взаимодействие: Понимание того, зачем нужен BFF. Опыт отладки сетевых запросов, умение "прочитать" код Java-контроллера на Spring Boot, чтобы понять, почему приходят не те данные;
- Опыт создания монорепозиториев (Nx);
- Понимание основ работы браузера (критический путь рендеринга, работа с памятью);
- Опыт настройки мониторинга фронтенда (Sentry, NewRelic, Grafana) и метрик (Web Vitals).
Soft Skills:
Нам важно:
1. Коммуникабельность и работа в команде: Умение аргументированно отстаивать свою точку зрения на архитектурных ревью и при этом слышать коллег (включая Java-разработчиков). Способность понятно описать проблему или решение словами, а не только кодом;
2. Ответственность и ownership: Ты "владеешь" своим кодом от этапа проектирования до выкладки на прод и последующей поддержки. Если что-то сломалось — ты идешь и чинишь, не ища виноватых;
3. Проактивность: Ты не просто получаешь задачу, а предлагаешь, как можно улучшить архитектуру, оптимизировать производительность или упростить поддержку кода. Видишь узкие места и инициируешь их рефакторинг;
4. Менторство и наставничество: участвуешь в code review так, чтобы код становился лучше, а младшие коллеги умнели, а не плакали. Готов делиться знаниями и проводить внутренние митапы;
5. Английский язык: Достаточный уровень для чтения технической документации.
Мы предлагаем:
- Удаленную работу;
- Ежегодно индексируемую ЗП;
- Официальное трудоустройство по ТК РФ (белая зп без задержек);
- Возможности для профессионального роста и развития;
- Дружелюбный и поддерживающий коллектив;
- Участие в интересных и масштабных проектах;
- Аккредитованную компанию в Минцифры.
Похожие вакансии