Обязанности: - работа со сложными табличными данными: реализация дата-гридов с использованием mantine-react-table;
- интеграция с REST API и WebSockets: плотная работа с TanStack Query (useQuery, useInfiniteQuery, useMutation) и обработка real-time уведомлений по протоколу STOMP;
- проектирование и валидация многошаговых форм с использованием react-hook-form и Zod;
- управление состоянием: поддержка и развитие глобального стейта приложения (Zustand);
- обеспечение Type Safety: работа с кодогенерацией и строгой маршрутизацией на базе TanStack Router;
- контроль качества кода и тестирование: написание E2E тестов (Playwright) и unit-тестов (Vitest).
Требования: - образование - высшее профильное IT;
- опыт работы в коммерческой веб-разработке с использованием React/ TypeScript от 2 лет;
- уверенное понимание архитектуры React (хуки, жизненный цикл, оптимизация рендеров);
- уверенное владение TypeScript (дженерики, сложные типы, type guards);
Управление серверным состоянием:
- глубокое понимание TanStack Query (React Query) (кеширование, инвалидация, бесконечные списки);
- стейт-менеджмент: опыт работы с Zustand;
- верстка и UI-библиотеки: опыт работы с CSS Modules/SCSS. Опыт использования современных компонентных баз;
- формы: практический опыт с React Hook Form и схемами валидации (Zod);
- опыт работы с Vite.
Приветствуется:
- опыт коммерческой frontend-разработки от 2 лет;
- опыт работы с TanStack Router (или глубокое понимание концепции file-based & type-safe маршрутизации);
- опыт работы с библиотекой mantine-react-table или аналогичными тяжелыми data-grid решениями (AG Grid, DataGrid);
- навыки написания автотестов: E2E (Playwright) и Unit (Vitest / Jest);
- опыт локализации приложений (i18next);
- опыт работы с WebSockets (STOMP);
- понимание принципов работы CI/CD (GitLab CI, Docker).
Условия:
- должность и условия оплаты труда по результатам собеседования;
- удобное расположение офиса (шаговая доступность от ст.м. Петровщина)
- работа в офисе, 5/2
Вакансия планируется к созданию и замещению