Frontend-разработчик (middle)
Описание
Ищем Frontend-разработчика уровня Middle в команду кастомной разработки AI-решений. Мы создаем продукты для внешних заказчиков на базе LLM, Computer Vision, классического ML/Data Science: от MVP и пилотов до полноценных production-систем. Это могут быть AI-ассистенты, аналитические системы, интерфейсы для работы с документами и данными, CV-сервисы, внутренние корпоративные продукты и другие решения с AI под конкретные бизнес-задачи клиента. У нас нет одного продукта, который развивается годами: проекты и задачи меняются, поэтому важны самостоятельность, инженерное мышление и способность быстро погружаться в новый домен. Чем предстоит заниматься: Разрабатывать frontend для кастомных web-приложений и AI-сервисов. Создавать интерфейсы для работы с LLM: чаты, AI-ассистенты, история диалогов, отображение источников, статусов генерации и результатов обработки. Разрабатывать интерфейсы для CV/ML-решений: загрузка и просмотр изображений и файлов, визуализация результатов распознавания, разметки, аналитики и метрик. Реализовывать таблицы, фильтры, формы, дашборды и другие data-heavy интерфейсы. Интегрироваться с backend API, REST/WebSocket/SSE и внешними сервисами. Работать совместно с Backend, ML/LLM/CV-разработчиками, DevOps, QA и PM. Участвовать в технической проработке новых проектов и оценке frontend-части. Быстро собирать MVP и при этом закладывать архитектуру, которую можно развивать дальше. Проводить code review и поддерживать качество frontend-кода. Участвовать в тестировании и выпуске решений в production. Разбираться в проблемах на стыке frontend/backend и помогать доводить решение до рабочего результата. Что мы ожидаем: Коммерческий опыт frontend-разработки от 2–3 лет. Уверенное знание JavaScript / TypeScript. Опыт разработки на React. Понимание принципов компонентной архитектуры и управления состоянием. Хорошее знание HTML, CSS и адаптивной верстки. Опыт интеграции frontend с REST API. Понимание HTTP, авторизации, обработки ошибок и клиент-серверного взаимодействия. Опыт работы с Git. Умение самостоятельно разобраться в чужом API или существующем проекте. Способность декомпозировать задачу и оценивать сроки реализации. Понимание основных подходов к тестированию frontend-приложений. Умение работать в условиях, когда требования могут уточняться по мере разработки MVP. Для нас особенно важно: Самостоятельность. Мы ожидаем, что Middle-разработчик способен взять задачу от постановки до готового результата, а не только реализовать подробно расписанный набор компонентов. Гибкость. Сегодня это может быть интерфейс LLM-ассистента, завтра — система просмотра результатов компьютерного зрения, а следующий проект — сложный аналитический кабинет. Умение работать с неопределенностью. В кастомной разработке часть требований формируется вместе с заказчиком, поэтому важно уметь задавать правильные вопросы и предлагать технические варианты решения. Ответственность за результат. Для нас frontend — это не только верстка по макету. Разработчик участвует в создании работающего продукта и взаимодействует с командой по API, UX, ограничениям и архитектуре решения. Технический стек / Hard Skills: Обязательно: JavaScript ES6+ — уверенное понимание языка, асинхронности, Promise, async/await, event loop. TypeScript — типизация компонентов, API-моделей, generic-типы, utility types. React — hooks, component lifecycle, composition, controlled/uncontrolled components. State Management — опыт работы хотя бы с одним из подходов: Redux Toolkit, Zustand, MobX или аналогами. Работа с server state — TanStack Query / React Query либо аналогичные решения. HTML5 / CSS3 — семантическая верстка, Flexbox, Grid, адаптивность. UI frameworks / component libraries — Ant Design, Material UI, shadcn/ui или аналогичные. REST API — интеграция с backend, обработка ошибок, pagination, filtering, sorting. HTTP — методы, status codes, headers, cookies, CORS, базовое понимание клиент-серверного взаимодействия. Авторизация и безопасность на frontend — JWT/OAuth, access/refresh tokens, базовое понимание XSS/CSRF. Git — branches, merge/rebase, pull/merge requests, разрешение конфликтов. npm / yarn / pnpm — управление зависимостями и scripts. Vite / Webpack — понимание процесса сборки frontend-приложения. Browser DevTools — Network, Performance, Console, debugging. Тестирование: unit/component tests — Jest или Vitest; React Testing Library; базовое понимание E2E-тестирования — Playwright/Cypress; способность самостоятельно проверять реализованный функционал до передачи QA. Для наших AI-проектов желательно: WebSocket / Server-Sent Events (SSE) — для streaming и real-time сценариев; работа с потоковыми ответами LLM; загрузка больших файлов через frontend; отображение изображений, документов, аудио/видео; сложные таблицы и виртуализация больших списков; визуализация данных — ECharts, Recharts, Chart.js, Plotly или аналоги; Markdown/rendering контента и code highlighting; опыт реализации chat-like интерфейсов; понимание особенностей асинхронных AI-задач: queued → processing → completed/failed; базовое понимание LLM/RAG/CV/ML достаточно на уровне взаимодействия frontend с соответствующими backend-сервисами. Будет плюсом: Next.js; SSR/SSG; Docker; CI/CD; Storybook; design systems; микрофронтенды; performance optimization; Web Workers; опыт работы с Canvas/SVG; опыт интеграции frontend с AI/LLM API. Какие задачи могут встретиться: Например: интерфейс корпоративного AI-ассистента с RAG; чат с потоковым выводом ответа LLM и отображением источников; кабинет оператора для проверки результатов распознавания документов; интерфейс загрузки и анализа изображений для CV-модели; система просмотра и корректировки результатов ML-модели; аналитический dashboard с большим количеством фильтров и данных; frontend для внутреннего корпоративного AI-сервиса; быстрое создание интерфейса для MVP, который необходимо показать клиенту через несколько недель. Что мы предлагаем: Работу над реальными AI-продуктами для бизнеса, где frontend является полноценной частью решения, а не отдельным слоем «отрисовки экранов». У вас будет возможность работать сразу с несколькими направлениями — LLM, CV и классическим ML/DS, участвовать в создании архитектуры решений и видеть полный путь проекта от идеи и MVP до production. Удаленный формат работы с 09.00 до 18.00 по мск. Оформление по ТК РФ.