Frontend-разработчик
Summary
Frontend developer building and evolving YeaHub's IT-career ecosystem products (interview trainer, job search, resume builder, mentor platform) in React/TypeScript: designing app architecture and UI-kit, integrating REST/GraphQL APIs, working with SSR/Next.js, writing tests, and supporting CI/CD — remote/hybrid from Moscow.
Зарплата: 204000–325900 RUR (до вычета налогов)
YeaHub — экосистема для IT-специалистов, которая помогает развиваться в профессии: готовиться к собеседованиям, находить работу, получать поддержку от менторов и прокачивать профессиональные навыки.
Мы уже запустили тренажер собеседований, базу вопросов, сервис лайвкодинга и платформу менторов. Сейчас развиваем B2B- и B2C-направления: поиск вакансий, конструктор резюме, IT-сообщество, агрегатор профессиональных материалов и платформу стажировок.
Ищем Frontend-разработчика, который будет работать над продуктами на React / TypeScript, участвовать в развитии архитектуры и влиять на качество технических решений.
Чем предстоит заниматься
-
Разрабатывать и поддерживать frontend-приложения на React, TypeScript, JavaScript (ES6+), реализовывать новые фичи и сложные пользовательские сценарии;
-
Проектировать архитектуру приложений, переиспользуемые компоненты, UI-kit и дизайн-систему, участвовать в развитии инженерных практик;
-
Верстать адаптивные и кроссбраузерные интерфейсы по Figma с использованием HTML5, CSS3, Flexbox, Grid, SCSS / Tailwind CSS;
-
Работать с состоянием и данными: Redux / Redux Toolkit, Zustand, TanStack Query / React Query;
-
Интегрировать frontend с REST API / GraphQL, работать с авторизацией и real-time сценариями через WebSocket;
-
Работать с SPA, CSR, SSR / SSG и Next.js, оптимизировать производительность через code splitting, lazy loading, мемоизацию и оптимизацию рендеринга;
-
Писать unit, integration и e2e-тесты с использованием Jest / Vitest, React Testing Library, Playwright;
-
Работать с Git, Vite / Webpack, Docker, CI/CD, участвовать в code review и поддержке технической документации;
-
Участвовать в декомпозиции, оценке и планировании задач, исправлении багов, рефакторинге и развитии legacy-кода;
-
Взаимодействовать с frontend/backend-разработчиками, дизайнерами, QA и product-менеджерами, участвовать в технических и продуктовых решениях.
Что ожидаем
-
Уверенное знание React, TypeScript и JavaScript (ES6+), понимание Hooks, жизненного цикла компонентов и основных React-паттернов;
-
Хорошее знание HTML / CSS, адаптивной и кроссбраузерной верстки;
-
Опыт работы с REST API, Git и одним или несколькими инструментами управления состоянием: Redux / Redux Toolkit, Zustand, React Query / TanStack Query;
-
Понимание принципов SPA, CSR, SSR, архитектуры современных frontend-приложений и подходов к оптимизации производительности;
-
Опыт написания unit/e2e-тестов и работы с Jest / Vitest, React Testing Library, Playwright;
-
Умение работать в кросс-функциональной команде, участвовать в code review, декомпозиции и оценке задач;
-
Системное мышление, ответственность за результат и внимание к качеству, производительности и поддерживаемости кода.
Будет плюсом
-
Next.js, GraphQL, WebSocket, SCSS, Tailwind CSS, Vite, Webpack;
-
Docker, CI/CD, Node.js, SQL, Linux;
-
Опыт работы с Figma, UI-kit и дизайн-системами;
-
Опыт разработки высоконагруженных или real-time приложений, работы с legacy-кодом;
-
Опыт менторства, участия в архитектурных решениях и развития инженерных практик;
-
Английский язык на уровне чтения документации и технической коммуникации.
Условия
-
Формат: удаленно / гибрид;
-
Занятость: полная, 5/2 с гибким началом дня;
-
Оформление: ТК РФ / самозанятость / ИП;
-
Работа над B2B- и B2C-продуктами с возможностью влиять на архитектуру и развитие продукта;
-
Доступ к платформе менторов, базе вопросов и тренажеру собеседований YeaHub;
-
Возможность профессионального роста, участия в технических решениях и менторстве.
Мы ищем разработчика, которому интересно не только реализовывать интерфейсы, но и понимать продукт целиком, работать с архитектурой и производительностью, принимать технические решения и влиять на результат.