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

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

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

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

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

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

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

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

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

Понимает базовую сложность O(n) и O(1) при работе с коллекциями в Angular-компонентах. Использует встроенные методы массивов (filter, map, find) в шаблонах и сервисах, осознавая их линейную стоимость.

Понимает промисы и async/await для HTTP-запросов в Angular-сервисах. Использует базовые RxJS-операторы (subscribe, pipe) и AsyncPipe в шаблонах для автоматической отписки от Observable.

Следует стайлгайду Angular и настроенным ESLint-правилам. Использует Angular CLI для генерации компонентов, сервисов и модулей с правильной структурой. Пишет понятные имена для свойств и методов компонентов.

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

Применяет базовые паттерны Angular: компонентный подход, внедрение зависимостей через конструктор, разделение на smart/dumb компоненты. Использует сервисы как синглтоны через providedIn: root.

Принципы ООП и SOLID Осведомлённость

Понимает базовые концепции ООП в TypeScript: классы, интерфейсы, декораторы, дженерики. Применяет простые принципы SOLID, следуя архитектуре Angular-проекта. Следует командным паттернам структуры классов компонентов/сервисов и использования Angular DI.

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

Работает с массивами и объектами в Angular-компонентах для отображения списков через @for. Понимает разницу между мутацией и иммутабельным обновлением данных для корректной работы OnPush change detection.

Использует базовые TypeScript-типы в Angular-компонентах: интерфейсы для моделей данных, типизация @Input/@Output, строгая типизация HTTP-ответов через HttpClient.get<T>(). Избегает использования any.

Frontend Development · 17

Понимает концепцию визуального регрессионного тестирования Angular-компонентов. Делает скриншоты компонентов через Storybook, знает о проблемах шрифтов и анимаций при визуальном сравнении.

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

Применяет базовую доступность в Angular-шаблонах: семантический HTML, alt для изображений, ARIA-атрибуты через attribute binding, использование Angular Material компонентов с встроенной a11y-поддержкой.

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

Пишет базовые юнит-тесты для Angular-компонентов через TestBed: проверка рендеринга, биндинг @Input, эмиссия @Output. Использует ComponentFixture и DebugElement для доступа к DOM в тестах.

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

Понимает влияние размера бандла на производительность Angular-приложения. Использует ng build --configuration production для tree-shaking и минификации. Анализирует бандл через source-map-explorer.

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

Использует готовые компоненты Angular Material или ng-zorro-antd в проекте. Понимает принципы дизайн-системы: консистентность, переиспользование компонентов, следование гайдлайнам по цветам и типографике.

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

Применяет современный CSS в Angular-компонентах: Flexbox и Grid для вёрстки, CSS Custom Properties для тем, :host и ::ng-deep (с осторожностью) для стилизации. Понимает ViewEncapsulation режимы.

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

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

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

Понимает метрики Core Web Vitals (LCP, FID, CLS) и их измерение для Angular-приложений. Использует Chrome DevTools и Lighthouse для базовой диагностики производительности Angular-компонентов.

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

Использует HttpClient для GET/POST запросов в Angular-сервисах. Применяет типизацию ответов через generics, обрабатывает ошибки через catchError, отображает состояния загрузки в шаблонах.

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

Понимает основы PWA, включая service worker и манифесты веб-приложений в Angular. Использует Angular CLI для генерации PWA-заготовок с @angular/pwa. Следует стратегиям кэширования offline-first из документации.

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

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

Понимает концепции SSR/SSG и их преимущества для Angular-приложений: SEO, First Contentful Paint. Знает о Angular Universal и базовой настройке серверного рендеринга через ng add @angular/ssr.

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

Управляет состоянием в Angular через сервисы с BehaviorSubject и Angular signals. Понимает разницу между локальным состоянием компонента и глобальным состоянием приложения. Использует @Input/@Output для общения.

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

Применяет utility-классы Tailwind CSS в Angular-шаблонах для базовой стилизации: цвета, отступы, типографика. Использует responsive-префиксы (sm:, md:, lg:) и тёмную тему через dark:-модификатор.

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

Понимает роль сборщика в Angular CLI: esbuild как default builder в Angular 17+. Знает разницу между dev-сервером (быстрая пересборка) и production-сборкой (оптимизация). Использует ng serve для разработки.

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

Использует базовые Web API в Angular-компонентах: localStorage/sessionStorage для состояния, Fetch API через HttpClient, DOM API через ElementRef и Renderer2 вместо прямого доступа к document.

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

Понимает концепцию Web Components и их связь с Angular Elements. Использует готовые Web Components сторонних библиотек в Angular-шаблонах через CUSTOM_ELEMENTS_SCHEMA в компонент-метаданных.

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

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

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

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

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

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

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