О ПРОЕКТЕ
Высоконагруженная платформа на Next.js: собственный UI-кит, большое количество интеграций с внешними сервисами. Используем AI и внутри продукта (генерация контента и изображений), и в самом процессе разработки.
Детали продукта обсуждаем на собеседовании — проект под NDA.
СТЕК
- Next.js 15/16 (App Router, RSC, Turbopack), React 19, TypeScript 5 (strict)
- TanStack Query / Table / Virtual, TanStack Form + Zod, Zustand, axios
- Radix UI + shadcn/ui, Tailwind CSS 4, дизайн-токены на OkLch (light/dark, мультипалитра)
- NextAuth / Auth.js, i18next
- Собственный UI-кит: версионируемые npm-пакеты, pnpm + turbo, tsup, changesets, границы слоёв через dependency-cruiser
- Тесты: Vitest + Testing Library, MSW, Playwright (сценарии, a11y, визуальные регрессии)
- pnpm, Docker, CI/CD
ЧТО ПРЕДСТОИТ ДЕЛАТЬ
- Разрабатывать фичи на фронте целиком: от разбора API-контракта до экрана в проде
- Развивать общий UI-кит: выносить повторяющееся из приложений в пакеты, держать обратную совместимость и версионирование
- Держать качество типизации и границы слоёв
- Работать с большими объёмами данных в UI: виртуализованные таблицы и списки, серверная пагинация, фильтры, выгрузки
- Тематизация и адаптив: тёмная тема, мобильные раскладки, доступность
- Встраивать AI-функции в интерфейс (генерация текста и изображений)
- Покрывать свой код тестами
- Участвовать в код-ревью, поддерживать деплой-дисциплину
ЧТО МЫ ЖДЁМ
- Уверенный TypeScript: строгий режим, дженерики, вывод типов из схем (zod, OpenAPI); any — осознанное исключение, а не способ закрыть ошибку
- Коммерческий опыт с Next.js App Router: граница сервер/клиент, где живут данные, осмысленное "use client"
- React 19: хуки, контексты, мемоизация по делу, формы и фокус
- TanStack Query как слой данных: ключи, инвалидация, пагинация, оптимистичные обновления
- Формы и валидация: TanStack Form (или React Hook Form) + zod
- Tailwind и работа с чужим дизайн-китом: вёрстка через токены, адаптив, тёмная тема, доступность (клавиатура, фокус, aria)
- Тесты своими руками: unit на Vitest + RTL, моки сети на MSW, сценарии в Playwright. Новая
- Git-флоу: ветка → merge request → зелёный CI → ревью → мерж; работа по Kanban; умение прочитать красный пайплайн и починить его самому
- Docker, CI/CD, опыт работы в мультисервисной среде
- Самостоятельность: довести задачу до прода и проверить результат
БУДЕТ ПЛЮСОМ
- Поддержка библиотеки компонентов как npm-пакета: версионирование, peer-зависимости, обратная совместимость
- Понимание бандлинга: ESM, tree-shaking, "use client" в собираемых пакетах
- Перформанс: Core Web Vitals, бюджеты бандла, виртуализация, отложенная загрузка
- SEO в App Router: метаданные, sitemap/robots, канонические URL, структурированные данные
- Дизайн-токены, темизация, контраст и доступность
- Генерация типов из OpenAPI, i18n, визуальное регрессионное тестирование
ПРО AI (ВАЖНО ДЛЯ НАС)
- Свободно используешь современные AI-инструменты — Claude Code / Cursor / Copilot и подобн
- Понимаешь, как LLM встраивается в продукт: промптинг, выбор моделей, генерация текста и изображений, оценка и контроль качества вывода
- Опыт AI-фич на фронте (генерация, агенты, RAG, стриминг) — большой плюс
УСЛОВИЯ
- Формат: удалёнка
- Занятость: фуллтайм
- Уровень: Junior+/Middle
- Оплата: договорная
- Локация: РБ/EU
Будьте осторожны: если работодатель просит войти через Google, iCloud или Госуслуги, прислать код или пароль, запустить ПО или перевести деньги — это мошенники.