Frontend-разработчик (React)
Коротко
Develops and expands React and TypeScript interfaces for credit process and online application products, builds complex forms, and works with product analytics. · Needs: 3+ years of commercial React development with projects in production; experience launching a project from scratch; strong TypeScript skills; experience with
Описание от работодателя
О компании
Мы — продуктовая компания. Наш основной фокус — продукты в сфере офлайн- и онлайн-кредитования. Среди наших клиентов:
розничные банки Беларуси — Сбер Банк, Банк БелВЭБ, Банк Дабрабыт, Паритетбанк и др.;
крупные торговые сети — 5 элемент, Электросила, Ома и др.
О продукте
Два фронтенд-направления, между которыми распределяется работа.
Скрепка UI — интерфейс, в котором идёт кредитный процесс: заявки, статусы, работа с документами и данными клиента. Это не витрина, а рабочий инструмент: много состояний, ролей и данных на экране, высокие требования к скорости работы и предсказуемости поведения. Базовая инфраструктура и часть страниц уже готовы, архитектура рассчитана на рост — дальше проект расширяется под новые запросы бизнеса.
Онлайн — публичная часть, где клиент оформляет заявку сам, чаще всего с телефона и в один заход. Здесь важны скорость загрузки, качество форм и валидации, продуктовая аналитика: каждый лишний шаг в сценарии измеряется в потерянных заявках.
Чем предстоит заниматься
Разрабатывать и развивать интерфейсы на React и TypeScript.
Расширять Скрепку UI под новые запросы бизнеса: новые разделы, сценарии, общие компоненты.
Строить сложные формы и сценарии с множеством состояний — от обсуждения решения до релиза.
Работать с продуктовой аналитикой: разметка событий, проверка гипотез по воронке.
Держать стабильность: мониторинг ошибок, работа с регрессом, тесты.
Участвовать в проработке требований вместе с аналитиком и QA — до того, как задача ушла в разработку.
Влиять на архитектуру фронтенда, а не получать её готовой.
Требования
Технический бэкграунд:
От 3 лет коммерческой разработки на React, проекты в проде.
Опыт запуска проекта с нуля: выбор решений, структура, базовые договорённости в команде.
Уверенный TypeScript: вывод типов, типизация API-слоя, настройка tsconfig.
Работа с глобальным состоянием приложения и серверными данными: обработка запросов, кэширование, инвалидация, оптимистичные обновления.
Построение сложных форм: динамические поля, валидация, многошаговые сценарии.
Декомпозиция интерфейса на переиспользуемые компоненты, работа с UI-китом.
Готовность разбираться в коде на Vue 3 / Nuxt и вести задачи по публичной части. Опыт на этом стеке — большой плюс, но обязательным не является.
Качество и эксплуатация:
Написание unit-тестов для компонентов и логики, понимание, что имеет смысл покрывать, а что нет.
Работа с мониторингом ошибок, разбор и решение проблем, пришедших из прода.
Оптимизация производительности: размер бандла, рендеры, метрики загрузки.
Инструменты и процесс:
Git, код-ревью, работа в команде по веткам.
Базовое понимание Docker и того, как приложение собирается и деплоится.
Уверенная работа с REST API и спецификациями.
Наш стек
Скрепка UI: React 19, React Router 7, TanStack Query 5, Zustand 5, Material UI + Toolpad Core, React Testing Library, Storybook 10.
Онлайн: Vue 3 + Nuxt 3 (переходим на Nuxt 4), Pinia 3, VeeValidate 4, SCSS/Sass, Mixpanel.
Общее: TypeScript 5, Vitest 4, ESLint 9, Docker, Git, Sentry.
Совпадение по каждому пункту не обязательно — важно, что ты решал эти классы задач.
Условия
Неформальная атмосфера в коллективе, отсутствие бюрократии
Заработная плата, привязанная к доллару
Официальное оформление по контракту ТК РБ, оплачиваемый отпуск — 25 календарных дней, оплата больничных листов
5 sick days в год без подтверждающих документов
Гибкий рабочий график (возможна удаленная работа) и свобода действий
Офис в центре города
Частичная компенсация Allsports и медстраховка после полугода работы
*вакансия, планируемая к открытию (перспективная)