Ищем front-end разработчика для сложного web-приложения: админка, дашборды, динамические формы, таблицы, фильтры, карты, отчеты и личные кабинеты. Продукт развивается как ERP/CRM-платформа для агробизнеса, поэтому фронт должен быть быстрым, удобным для ежедневной работы и готовым к росту.
Обязанности / Задачи:
- Разработка web-приложения на React + TypeScript.
- Создание сложных административных интерфейсов: таблицы, формы, фильтры, карточки сущностей, модальные окна, мастеры заполнения.
- Разработка дашбордов, графиков, отчетов и интерактивных представлений данных.
- Работа с динамическими формами, валидацией, зависимыми полями и правами доступа.
- Интеграция с REST API back-end-команды.
- Работа с состоянием приложения, кешированием запросов и обработкой ошибок.
- Поддержка адаптивной версии и подготовка интерфейса к PWA-сценариям.
- Участие в проектировании UX вместе с дизайнером, аналитиком и продуктом.
- Написание тестов и участие в code review.
Обязательные требования:
- Коммерческий опыт front-end-разработки от 3 лет.
- Уверенное знание JavaScript и TypeScript.
- Опыт разработки на React.
- Понимание компонентной архитектуры, хуков, контролируемых форм и управления состоянием.
- Опыт работы с REST API, авторизацией, обработкой ошибок и загрузочных состояний.
- Опыт разработки сложных форм, таблиц, фильтров и административных интерфейсов.
- Уверенное знание HTML, CSS, адаптивной верстки и доступности интерфейсов.
- Опыт тестирования front-end-кода: Vitest/Jest, React Testing Library, Playwright или аналоги.
- Умение работать с Git, code review, задачами в трекере и дизайн-макетами.
Будет плюсом:
- Опыт работы с UI-библиотеками: Ant Design, MUI, Chakra UI или аналогичными.
- Опыт разработки ERP, CRM, back-office, BI или других сложных внутренних систем.
- Опыт с картами и геоданными: Leaflet, Mapbox, OpenLayers.
- Опыт с графиками и дашбордами: ECharts, Recharts, D3.js или аналогичные библиотеки.
- Опыт с TanStack Query, TanStack Table, Zustand, Redux Toolkit или похожими инструментами.
- Опыт разработки PWA и адаптивных интерфейсов для планшетов.
- Опыт с React Native будет полезен для будущего мобильного направления.
- Опыт работы с OpenAPI и генерацией API-клиентов.
- Понимание производительности front-end-приложений: мемоизация, виртуализация списков, lazy loading.
При собеседовании можем рассказать про стек:
- TypeScript, React, Vite.
- Ant Design / Ant Design Pro.
- TanStack Query для серверного состояния.
- TanStack Table или таблицы Ant Design для табличных интерфейсов.
- React Hook Form или аналогичный инструмент для форм.
- ECharts/Recharts для графиков.
- Leaflet/Mapbox/OpenLayers для карт при необходимости.
- ESLint, Prettier, Vitest, React Testing Library, Playwright.
Что важно в человеке:
- Умение делать интерфейсы, которыми удобно пользоваться каждый день.
- Внимание к деталям: состояния загрузки, пустые состояния, ошибки, права доступа, длинные тексты.
- Способность работать со сложной предметной областью и не превращать интерфейс в хаос.
- Готовность обсуждать UX, предлагать улучшения и доводить задачи до аккуратного результата.
Будьте осторожны: если работодатель просит войти через Google, iCloud или Госуслуги, прислать код или пароль, запустить ПО или перевести деньги — это мошенники.