Зоологическая улица 9
Мы, компания “РегЛаб”, входим в группу компаний “Прософт-Системы”.
Уверены, что эффективная автоматизация — залог экономичности и безопасности современных предприятий. Делаем мир лучше с помощью инженерных решений!
Наши продукты — контроллеры Regul и программное обеспечение AstraRegul, позволяющие автоматизировать сложные технологические процессы.
Наш штат 350+ человек, и мы продолжаем расти. Работать с нами — оказаться в компании единомышленников, которым важно, что и как они делают.
И сейчас мы находимся в поиске Middle frontend-разработчика.
Вам предстоит:
- Создание архитектуры библиотеки UI: кнопки, инпуты, модальные окна, таблицы данных, селекты с поиском и прочее.
- Разработка сложных специализированных компонентов для DCS: виджеты отображения телеметрии, панели управления, тренды (графики), мнемосхемы с динамической подсветкой.
- Обеспечение максимальной переиспользуемости кода через механизмы Angular (directives, pipes, abstract classes).
- Тесное взаимодействие с командой дизайнеров для проверки реализуемости макетов.
- Адаптация дизайн-системы под технические требования фреймворка.
- Написание документации по использованию компонентов для других разработчиков компании (Storybook).
- Борьба с "лагами" интерфейса при большом потоке данных (тысячи изменений в секунду)— использование ChangeDetectionStrategy.OnPush, async pipe, виртуализация скролла, дебаунс событий.
- Оптимизация бандла приложения.
- Покрытие критических частей библиотеки unit-тестами.
- Рефакторинг существующего кода компонентов по мере выхода новых версий Angular или изменения требований.
- Помощь коллегам во внедрении компонентов библиотеки в их функциональные модули.
Мы ожидаем:
- Глубокое понимание работы новых контролов (signal-based components, new control flow), Dependency Injection, Change Detection Strategy on push, Lifecycle hooks.
- Опыт работы с глобальным стором (Store), эффектами (Effects) для обработки сайд-эффектов.
- Продвинутые навыки работы с асинхронными потоками (операторы высшего порядка: switchMap, mergeMap, concatMap; работа с сокетами, подписками и отписками, обработка ошибок).
- Опыт проектирования компонентов с нуля (Design System)/
- Умение создавать переиспользуемые, гибкие и хорошо типизированные компоненты (High-order components, директивы, пайпы).
- Понимание принципов доступности (WCAG) при разработке компонентов (ARIA-атрибуты, управление фокусом, семантика).
- Опыт настройки тем оформления (Theming) для библиотеки (CSS-переменные, миксины SCSS).
- Опыт с Storybook, документирования компонентов в изолированной среде.
- Опыт интеграции и поддержания постоянного соединения с сервером, обработка потока данных в реальном времени (realtime data), реконнект, управление очередями сообщений.
- Опыт автоматической генерации клиентов API (например, через ng-openapi-gen или подобные инструменты) и их интеграция в проект.
- Опыт написания unit-тестов для компонентов и сторов.
- Опыт работы с системами контроля версий (Git), понимание Git Flow.