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

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

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

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

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

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

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

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

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

Понимает базовую сложность O(n) и O(n²) при работе с массивами и списками во Vue-компонентах. Умеет оценивать влияние вложенных циклов на производительность рендеринга и computed-свойств в Composition API.

Использует async/await в lifecycle-хуках Vue 3 и Composition API. Понимает работу Suspense для асинхронных компонентов, обрабатывает Promise в composables с корректной обработкой ошибок через onErrorCaptured.

Следует правилам ESLint с eslint-plugin-vue и Prettier для единообразного кода. Применяет рекомендации Vue Style Guide — именование компонентов, порядок опций, использование script setup с defineProps и defineEmits.

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

Применяет базовые паттерны Vue 3 — props/emit для связи компонентов, provide/inject для dependency injection. Использует Composition API для извлечения повторяющейся логики в composable-функции.

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

Работает с массивами и объектами в reactive() и ref() Vue 3. Понимает ограничения реактивности при мутации вложенных структур, корректно использует shallowRef и shallowReactive для плоских данных.

Использует TypeScript с Vue 3 — типизация props через defineProps<T>(), emit через defineEmits, базовая типизация ref() и reactive(). Понимает автовывод типов в script setup и шаблонах через Volar.

Frontend Development · 18

Понимает концепцию visual regression тестирования для Vue-компонентов. Настраивает Storybook для Vue 3 с Histoire, создаёт stories для UI-компонентов как базу для визуальных снапшотов.

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

Применяет базовые принципы a11y во Vue-компонентах — семантический HTML, ARIA-атрибуты, alt-тексты. Использует eslint-plugin-vuejs-accessibility для автоматической проверки доступности в шаблонах Vue SFC.

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

Пишет базовые тесты Vue-компонентов через Vitest и Vue Test Utils — mount, проверка рендеринга, взаимодействие с props. Тестирует emit-события и слоты, понимает разницу между mount() и shallowMount().

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

Понимает базовые принципы бандлинга Vite — entry points, chunks, tree shaking. Анализирует размер бандла через vite-bundle-visualizer, применяет динамические import() для ленивой загрузки роутов Vue Router.

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

Использует готовые компоненты Vue дизайн-систем — Vuetify, PrimeVue, Headless UI. Следует документации при кастомизации, понимает слоты и props для адаптации компонентов под требования проекта.

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

Применяет scoped-стили и CSS-переменные во Vue SFC. Использует Flexbox и Grid для макетов Vue-компонентов, понимает каскадность стилей и специфичность в контексте scoped и deep-селекторов Vue.

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

Понимает метрики Core Web Vitals — LCP, FID, CLS и их влияние на UX. Измеряет показатели Vue-приложения через Lighthouse и Chrome DevTools, применяет базовые оптимизации — lazy loading изображений, font-display.

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

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

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

Использует useFetch и useAsyncData в Nuxt 3 для загрузки данных. Понимает разницу между серверной и клиентской загрузкой, обрабатывает loading и error состояния в Vue-компонентах через реактивные ref.

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

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

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

Понимает основы PWA и интегрирует их в Vue-приложения. Использует @vue/cli-plugin-pwa или vite-plugin-pwa для генерации service worker. Настраивает стратегии кэширования и офлайн-поддержку, следуя паттернам экосистемы Vue.

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

Понимает различия между SSR, SSG и CSR в контексте Nuxt 3. Настраивает базовый Nuxt-проект с выбранной стратегией рендеринга, использует routeRules для гибридного рендеринга отдельных страниц.

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

Использует Pinia для управления состоянием Vue-приложения — определение stores через defineStore, реактивные state, getters, actions. Понимает когда использовать локальный state компонента vs Pinia-стор.

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

Применяет базовые utility-классы Tailwind CSS во Vue-компонентах — отступы, цвета, типографика, flexbox. Использует директивы @apply в scoped-стилях Vue SFC, понимает конфигурацию tailwind.config через Vite.

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

Использует Vite для разработки Vue-проекта — HMR, dev server, базовая конфигурация vite.config.ts. Понимает разницу между dev и production режимами, настраивает aliases и environment variables.

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

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

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

Использует базовые Web API во Vue-компонентах — Fetch, localStorage, IntersectionObserver. Интегрирует браузерные API через composables VueUse — useLocalStorage, useIntersectionObserver, useMediaQuery.

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

Понимает Web Components и поддержку custom elements в Vue. Оборачивает Vue-компоненты как веб-компоненты через defineCustomElement. Обрабатывает привязку атрибутов/свойств и коммуникацию событий.

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

Понимает базовые уязвимости веб-приложений — XSS, CSRF и их предотвращение во Vue. Использует встроенную защиту Vue 3 от XSS через автоматическое экранирование в шаблонах, избегает v-html с пользовательскими данными.

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

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

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

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

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

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

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