Роли · Frontend Developer (React) · Junior

Что должен уметь Junior }

26 ключевых навыков, всего 56. Ожидания по каждому навыку и что меняется на следующем уровне.

На этой странице — что ожидается от Junior }, навык за навыком. Ключевые навыки оценивают руководитель и коллеги в цикле ревью; остальные учитываются только в самооценке. Основные области: Основы программирования, Frontend Development, Облако и инфраструктура.

26ключевых навыков
30дополнительных навыков
4областей
0%на уровне Продвинутый или Эксперт
Оценить себя как Junior Полная матрица роли

Ключевые навыки для Junior

Сгруппированы по областям. Метка справа — ожидаемая глубина: Осведомлённость, Применение, Продвинутый или Эксперт.

Основы программирования · 6

Алгоритмы и сложность Осведомлённость

Понимает базовую сложность O(n), O(1) при работе с массивами и списками в React-компонентах. Избегает вложенных циклов при рендеринге списков через map(), использует key для оптимизации reconciliation алгоритма React.

Понимает async/await и Promise для работы с API в React-компонентах. Использует useEffect для загрузки данных, обрабатывает состояния loading/error/success при fetch-запросах, знает базовый TanStack Query для кеширования ответов.

Следует настроенным правилам ESLint и Prettier в React-проекте, пишет чистые функциональные компоненты. Использует осмысленные имена для компонентов, хуков и переменных, разделяет компоненты по ответственности, добавляет базовые TypeScript-типы.

Паттерны проектирования Осведомлённость

Применяет базовые React-паттерны: компонентная композиция, props drilling, условный рендеринг. Понимает разделение на презентационные и контейнерные компоненты, использует children и render props для переиспользования логики.

Структуры данных Осведомлённость

Работает с массивами и объектами в state React-компонентов, понимает иммутабельность при обновлении состояния через useState и Zustand. Корректно использует spread-оператор и методы массивов для обновления UI.

Использует базовые TypeScript-типы в React-компонентах: интерфейсы для props, типизация useState и событий. Понимает разницу между type и interface, применяет React.FC, типизирует обработчики событий onChange, onClick.

Frontend Development · 18

Понимает концепцию визуального регрессионного тестирования для React-компонентов. Создаёт stories в Storybook для основных состояний компонентов, запускает базовые visual diff тесты через Chromatic или Percy для обнаружения непреднамеренных изменений UI.

Доступность (Accessibility) Осведомлённость

Применяет базовые принципы accessibility в React-компонентах: семантические HTML-элементы, alt для изображений, aria-label для интерактивных элементов. Использует Radix UI для доступных UI-примитивов, проверяет базовую навигацию с клавиатуры.

Компонентное тестирование Осведомлённость

Пишет базовые тесты React-компонентов с React Testing Library и Vitest: рендеринг, проверка текста и элементов через screen queries, базовые user interactions (click, type). Следует принципу testing-library: тестировать поведение, а не реализацию.

Оптимизация бандла Осведомлённость

Понимает основы bundle optimization в React/Vite проектах: code splitting через React.lazy и Suspense, dynamic imports для тяжёлых библиотек. Анализирует bundle size через vite-plugin-visualizer, избегает импорта целых библиотек (lodash vs lodash-es).

Разработка дизайн-систем Осведомлённость

Использует готовые компоненты дизайн-системы на Radix UI в React-приложении: кнопки, формы, модалки, навигацию. Понимает принципы композиции компонентов, применяет правильные варианты и размеры согласно дизайн-гайдлайнам.

Современный CSS Осведомлённость

Владеет основами современного CSS для React: flexbox и grid для лейаутов, CSS custom properties для переменных, media queries для адаптивности. Применяет CSS Modules или Tailwind CSS для изоляции стилей в компонентах.

Core Web Vitals Осведомлённость

Понимает метрики Core Web Vitals (LCP, FID/INP, CLS) и их влияние на React-приложение. Использует Lighthouse и React DevTools для базового анализа производительности, применяет Image component в Next.js для оптимизации LCP.

CSS-in-JS Осведомлённость

Использует CSS-in-JS на базовом уровне. Создаёт простые компоненты по дизайну. Понимает базовые концепции и следует component guidelines.

Data Fetching Осведомлённость

Загружает данные в React-компонентах через TanStack Query: базовые useQuery для GET-запросов, обработка loading и error состояний. Понимает кеширование и staleTime, использует fetch или axios для HTTP-запросов, отображает скелетоны во время загрузки.

Next.js Осведомлённость

Использует Next.js на базовом уровне. Создаёт простые компоненты по дизайну. Понимает базовые концепции и следует component guidelines.

Progressive Web Apps Осведомлённость

Понимает концепции PWA, включая service worker и настройку манифеста в React-приложениях. Использует Workbox с Create React App для базовых стратегий кэширования. Реализует запросы на установку и офлайн-страницы.

React Core Осведомлённость

Использует React Core на базовом уровне. Создаёт простые компоненты по дизайну. Понимает базовые концепции и следует component guidelines.

SSR/SSG/ISR паттерны Осведомлённость

Понимает разницу между SSR, SSG и CSR в контексте Next.js. Использует App Router для создания серверных и клиентских компонентов, применяет generateStaticParams для статической генерации, понимает директивы use client и use server.

State Management Осведомлённость

Управляет локальным состоянием React-компонентов через useState и useReducer. Использует Zustand для глобального стейта (тема, пользователь, UI-состояния), понимает поднятие состояния (lifting state up) и передачу через props и React Context.

Tailwind CSS Осведомлённость

Применяет базовые utility-классы Tailwind CSS для стилизации React-компонентов: отступы, цвета, типографика, flexbox. Использует responsive-префиксы (sm:, md:, lg:) для адаптивной вёрстки, понимает структуру tailwind.config.js.

Vite и современные бандлеры Осведомлённость

Работает с базовой конфигурацией Vite для React-проекта: понимает dev server с HMR, TypeScript и JSX поддержку, настройку путей через resolve.alias. Использует стандартные плагины @vitejs/plugin-react, понимает различие dev/build режимов.

Web APIs Осведомлённость

Использует базовые Web API в React-компонентах: localStorage/sessionStorage для персистентности, fetch для HTTP-запросов, DOM API через useRef. Понимает жизненный цикл подписок в useEffect, корректно очищает listeners при размонтировании.

Web Components Осведомлённость

Понимает стандарты Web Components (Custom Elements, Shadow DOM). Интегрирует сторонние веб-компоненты в React-приложения. Знает, когда использовать нативные компоненты vs абстракции React.

Облако и инфраструктура · 1

Основы сетей Осведомлённость

Понимает базовые сетевые концепции для веб-приложений React — HTTP/HTTPS запросы через fetch/axios, конфигурация CORS и паттерны получения данных SSR. Следует рекомендациям команды по настройке API-клиентов, обработке сетевых ошибок и отладке сетевой активности браузера.

Безопасность · 1

Понимает основные уязвимости OWASP Top 10 в контексте React: XSS-предотвращение через автоматическое экранирование JSX, опасность dangerouslySetInnerHTML, CSRF-токены. Использует Content Security Policy headers в Next.js, валидирует пользовательский ввод.

Дополнительные навыки

Команда их не оценивает, но они входят в самооценку и план развития.

Документирование APIИндексирование БДИнтеграционное тестированиеМикрофронтендыМногопоточное программированиеОсновы System DesignПрактики безопасного кодаПринципы ООП и SOLIDСтруктурированное логированиеТестирование доступностиAWSChatGPT / ClaudeCode ReviewCursor IDEDockerE2E тестированиеGit AdvancedGitHub Actions / GitLab CIGitHub CopilotGraphQL DesignKubernetes CoreOpenTelemetryPerformance BudgetsPostgreSQLPrometheus и GrafanaPrompt Engineering для кодаRedisREST API DesignTerraformUnit-тестирование

Что меняется на Middle

56 навыков получают более высокое ожидание или становятся ключевыми при переходе с Junior на Middle. Сначала самые большие скачки.

Страница Middle →
Прогоните это со всей командой
Самооценка плюс оценка руководителя и коллег по одной матрице, зоны роста и готовность к следующему уровню для каждого инженера. Team Pro бесплатно 14 дней; личные инструменты бесплатны всегда.
Попробовать с командой (14 дней бесплатно) Отправить тимлиду

} в открытой матрице компетенций: 56 навыков на 5 уровнях. Матрица бесплатна для специалистов и останется бесплатной.