О проекте
Мы в Reunico создаём корпоративные решения для автоматизации бизнес-процессов и интеграции сложных информационных систем. Работаем с крупными заказчиками и сопровождаем решения от проектирования до стабильной эксплуатации в production.
Сейчас мы формируем проектную команду для модернизации действующей корпоративной информационной системы управления бизнес-процессами.
Это не greenfield-разработка: часть frontend системы реализована на Angular 9, часть уже работает на React. В рамках проекта предстоит перенести запланированный набор модулей с Angular на существующий React-стек и интегрировать их в текущую архитектуру.
Основная задача — не переписать всю систему с нуля, а поэтапно модернизировать существующее production-приложение, сохраняя его работоспособность в процессе миграции.
Текущий React-стек проекта — React 18+ / TypeScript 5.6+. Архитектура построена с использованием Webpack Module Federation.
Чем предстоит заниматься
•участвовать в модернизации существующей корпоративной информационной системы;
•переносить запланированные модули с Angular 9 на React;
•разбираться в существующей Angular-реализации и переносить её функциональность в React;
•развивать существующее React-приложение и его архитектуру;
•разрабатывать frontend на React + TypeScript с использованием функциональных компонентов и Hooks;
•интегрировать новые и перенесённые модули в существующую архитектуру на базе Webpack Module Federation;
•работать с существующим state management на React Hooks и Context API;
•развивать существующие Context Providers;
•использовать и при необходимости развивать существующий UI Kit на базе MUI;
•интегрировать frontend с backend-сервисами по REST API / OpenAPI;
•участвовать в проектировании контрактов API совместно с backend-командой;
•анализировать и устранять проблемы производительности frontend;
•работать с техническим долгом и постепенно улучшать существующий код;
•участвовать в code review и обсуждении технических решений внутри команды.
Основной стек проекта
React 18+ · TypeScript 5.6+ · JavaScript · MUI · собственный UI Kit · Webpack Module Federation · REST / OpenAPI · HTML5 · CSS3 / SCSS
В legacy-части системы используется Angular 9.
Для управления состоянием используются преимущественно React Hooks / useState и Context API, включая собственные Context Providers.
Основная часть необходимых UI-компонентов уже реализована в существующем UI Kit — задача не предполагает создание дизайн-системы с нуля.
Кого мы ищем
Мы готовы рассматривать frontend-разработчиков уровня Middle+ и Senior.
Для нас важен не столько формальный грейд, сколько способность самостоятельно работать с существующей production-системой: разбираться в незнакомом коде, понимать существующую архитектуру, оценивать последствия изменений и доводить задачи до результата.
Как ориентир:
•для Middle+ — обычно от 3 лет коммерческой frontend-разработки;
•для Senior — обычно от 5 лет коммерческой frontend-разработки и существенный практический опыт с React и TypeScript.
Количество лет само по себе не является определяющим критерием — в первую очередь смотрим на фактический опыт и технический уровень.
Что для нас важно
•отличное знание JavaScript и TypeScript;
•уверенный практический опыт разработки на React;
•хорошее понимание React Hooks, Context API, жизненного цикла компонентов и механизмов рендеринга React;
•понимание способов управления состоянием React-приложения;
•опыт построения переиспользуемых компонентов;
•практический опыт работы с Webpack Module Federation;
•понимание архитектурных подходов к построению крупных frontend-приложений;
•опыт работы с существующим production- или legacy-кодом;
•способность самостоятельно разбираться в незнакомой кодовой базе;
•опыт интеграции frontend с REST API;
•уверенная работа с HTML / CSS / SCSS;
•владение Git;
•понимание CI/CD;
•способность оценивать последствия изменений и технические риски.
Глубокая экспертиза в Angular не является обязательным требованием. Однако разработчику предстоит разбираться в существующем коде на Angular 9, чтобы переносить его функциональность на React.
Будет преимуществом
•опыт миграции frontend-приложений между фреймворками;
•реальный опыт миграции Angular → React;
•практический опыт работы с Angular;
•опыт существенного рефакторинга крупных frontend-приложений;
•опыт построения microfrontend-архитектуры;
•опыт использования Webpack Module Federation в крупных production-системах;
•опыт работы с MUI;
•опыт разработки или развития собственных UI Kit / design system;
•опыт тестирования с Jest, React Testing Library, Cypress или аналогичными инструментами;
•опыт работы с Docker / Kubernetes;
•понимание OAuth2, JWT и принципов клиентской безопасности;
•опыт диагностики и оптимизации производительности крупных frontend-приложений.
Условия
•заработная плата до 300 000 ₽ в месяц до вычета НДФЛ, в зависимости от опыта и технического уровня;
•официальное трудоустройство;
•срочный трудовой договор на 6 месяцев для выполнения работ по конкретному проекту;
•полностью удалённая работа;
•небольшая проектная команда;
•минимум бюрократии;
•возможность непосредственно участвовать в принятии технических и архитектурных решений.
Сразу хотим быть прозрачными относительно срока работы: трудовой договор заключается на 6 месяцев для выполнения работ по конкретному проекту.
После завершения проекта мы можем предложить продолжение работы в Reunico при наличии подходящих задач, однако заранее гарантировать дальнейшее трудоустройство не можем.
Небольшое задание при отклике
Нам важно отличать содержательные отклики от массовых и автооткликов, поэтому просим коротко рассказать о вашем опыте работы с модернизацией существующих frontend-систем.
Если у вас был опыт миграции frontend-приложения с одного фреймворка на другой или существенного архитектурного рефакторинга существующего приложения, в 3–5 предложениях расскажите:
•что именно вы модернизировали или переносили;
•как был организован поэтапный переход;
•с какими основными техническими проблемами столкнулись;
•за какую часть этой работы отвечали лично вы.
Если такого опыта не было, вместо этого коротко опишите наиболее сложную задачу по развитию или рефакторингу существующего production-приложения на React, которую вы решали.
Отсутствие опыта именно миграции Angular → React не является основанием для отказа — нам важен общий инженерный опыт работы с существующими frontend-системами.
Отклики без ответа на этот вопрос мы не рассматриваем.