Понимает основы Алгоритмы и сложность на базовом уровне. Применяет простые концепции в рабочих задачах с использованием TypeScript/Python. Следует рекомендациям senior-разработчиков при решении задач.
Роли · Fullstack Developer · Junior
Что должен уметь Junior }
22 ключевых навыков, всего 65. Ожидания по каждому навыку и что меняется на следующем уровне.
На этой странице — что ожидается от Junior }, навык за навыком. Ключевые навыки оценивают руководитель и коллеги в цикле ревью; остальные учитываются только в самооценке. Основные области: Основы программирования, Frontend Development, Базы данных.
Ключевые навыки для Junior
Сгруппированы по областям. Метка справа — ожидаемая глубина: Осведомлённость, Применение, Продвинутый или Эксперт.
Основы программирования · 7
Понимает основы Асинхронное программирование на базовом уровне. Применяет простые концепции в рабочих задачах с использованием TypeScript/Python. Следует рекомендациям senior-разработчиков при решении задач.
Понимает основы Качество кода и рефакторинг на базовом уровне. Применяет простые концепции в рабочих задачах с использованием TypeScript/Python. Следует рекомендациям senior-разработчиков при решении задач.
Понимает основы Паттерны проектирования на базовом уровне. Применяет простые концепции в рабочих задачах с использованием TypeScript/Python. Следует рекомендациям senior-разработчиков при решении задач.
Понимает основы Принципы ООП и SOLID на базовом уровне. Применяет простые концепции в рабочих задачах с использованием TypeScript/Python. Следует рекомендациям senior-разработчиков при решении задач.
Понимает основы Структуры данных на базовом уровне. Применяет простые концепции в рабочих задачах с использованием TypeScript/Python. Следует рекомендациям senior-разработчиков при решении задач.
Понимает основы Типобезопасность и системы типов на базовом уровне. Применяет простые концепции в рабочих задачах с использованием TypeScript/Python. Следует рекомендациям senior-разработчиков при решении задач.
Frontend Development · 13
Реализует базовую доступность в fullstack-приложениях: семантический HTML, alt-тексты, контрастность цветов, фокусные состояния. Использует ARIA-атрибуты для кастомных компонентов и тестирует навигацию клавиатурой в основных пользовательских сценариях.
Пишет базовые тесты React/Vue-компонентов fullstack-приложений с Testing Library: рендеринг, проверка текста, клики по кнопкам. Тестирует компоненты с моками API-запросов и понимает принцип тестирования поведения, а не реализации.
Понимает принципы бандлинга в fullstack-приложениях и умеет анализировать размер бандла через webpack-bundle-analyzer. Применяет базовые оптимизации: динамический импорт для code-splitting, tree-shaking неиспользуемого кода, оптимизация зависимостей.
Использует компоненты дизайн-системы для сборки UI fullstack-приложения: кнопки, формы, карточки по документации. Соблюдает принципы композиции и переиспользования, корректно передаёт пропсы и применяет варианты компонентов.
Применяет современный CSS для верстки fullstack-приложений: Flexbox и Grid для лейаутов, CSS-переменные для темизации, медиа-запросы для адаптивности. Понимает каскадность и специфичность, верстает по макетам с pixel-perfect точностью.
Понимает метрики Core Web Vitals (LCP, FID, CLS) и их влияние на UX fullstack-приложений. Измеряет показатели через Lighthouse и Chrome DevTools, исправляет базовые проблемы: оптимизация изображений, lazy-loading, предотвращение layout shift.
Реализует базовые паттерны загрузки данных в fullstack-приложениях: fetch/axios для REST API, обработка loading/error состояний, отображение данных в компонентах. Понимает жизненный цикл запроса от клиента через сервер к БД и обратно.
Использует Next.js на базовом уровне. Создаёт простые компоненты по дизайну. Понимает базовые концепции и следует component guidelines.
Создаёт простые React-компоненты, интегрированные с backend API. Понимает JSX, props и state для full-stack разработки функционала. Следует паттернам компонентов, установленным командой, для согласованных UI-слоёв.
Понимает концепции SSR и SSG в fullstack-разработке: разницу между серверным и клиентским рендерингом, гидратацию, статическую генерацию. Создаёт простые страницы с getServerSideProps/getStaticProps в Next.js, понимает когда какой подход уместен.
Управляет состоянием fullstack-приложений на базовом уровне: useState/useReducer для локального стейта, контекст для глобальных данных (тема, пользователь). Понимает разницу между серверным и клиентским состоянием в контексте полного стека.
Верстает UI-компоненты fullstack-приложений с Tailwind CSS по макетам, используя утилитарные классы для типографики, отступов и цветов. Применяет responsive-префиксы для адаптивности и следует дизайн-токенам проекта.
Работает с Vite в fullstack-проектах: понимает dev-сервер с HMR, базовую конфигурацию для React/Vue. Умеет настроить proxy для API-запросов к бэкенду, импортировать ассеты и использовать environment-переменные для разных окружений.
Базы данных · 1
Пишет базовые SQL-запросы (SELECT, JOIN, WHERE, GROUP BY). Понимает, что запросы могут быть медленными. Знает, что EXISTS обычно быстрее IN для подзапросов.
Облако и инфраструктура · 1
Понимает базовые сетевые концепции, охватывающие фронтенд и бэкенд — протоколы HTTP/HTTPS, CORS, разрешение DNS и основы обратного прокси. Следует рекомендациям команды по настройке маршрутизации API, терминации SSL и отладке сквозных проблем сетевой связности.
Дополнительные навыки
Команда их не оценивает, но они входят в самооценку и план развития.
Что меняется на Middle
65 навыков получают более высокое ожидание или становятся ключевыми при переходе с Junior на Middle. Сначала самые большие скачки.
- Микрофронтенды: Осведомлённость → Применение · становится ключевым
- Алгоритмы и сложность: Осведомлённость → Применение
- Асинхронное программирование: Осведомлённость → Применение
- Доступность (Accessibility): Осведомлённость → Применение
- Качество кода и рефакторинг: Осведомлённость → Применение
- Компонентное тестирование: Осведомлённость → Применение
- Оптимизация бандла: Осведомлённость → Применение
- Оптимизация запросов: Осведомлённость → Применение
- Основы сетей: Осведомлённость → Применение
- Паттерны проектирования: Осведомлённость → Применение
} в открытой матрице компетенций: 65 навыков на 5 уровнях. Матрица бесплатна для специалистов и останется бесплатной.