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

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

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

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

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

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

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

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

Оптимизирует алгоритмы фильтрации и сортировки данных в computed-свойствах Pinia-сторов. Применяет мемоизацию и кэширование в VueUse-composables для предотвращения лишних вычислений при обновлении реактивного состояния.

Реализует сложные асинхронные потоки с useAsyncState и useFetch из VueUse. Управляет race conditions в watchers через watchEffect с cleanup-функциями, организует параллельную загрузку данных в Nuxt 3 middleware.

Настраивает строгие правила ESLint для Vue 3 — vue/recommended, TypeScript strict mode, auto-fix через Vite plugin. Внедряет Husky + lint-staged для pre-commit проверок, пишет переиспользуемые composables с JSDoc.

Реализует паттерны Renderless Components, Compound Components и Headless UI во Vue 3. Проектирует переиспользуемые composables с инверсией контроля, применяет Strategy и Observer через систему реактивности Vue.

Структуры данных Применение

Проектирует нормализованные структуры данных в Pinia-сторах для эффективного обновления UI. Использует Map и Set в composables, понимает работу реактивного прокси Vue 3 с различными типами коллекций.

Создаёт строго типизированные composables и Pinia-сторы с generics. Настраивает TypeScript strict mode для Vue-проекта, типизирует provide/inject, route params в Nuxt 3 и API-ответы через Zod-валидацию.

Frontend Development · 19

Настраивает visual regression тесты для Vue-компонентов через Playwright и Percy/Chromatic. Интегрирует с Storybook — автоматические скриншот-тесты для каждого story, настраивает threshold и viewport breakpoints.

Реализует accessible Vue-компоненты: создает keyboard-navigable components с v-on:keydown, управляет фокусом через template refs, реализует accessible form validation с aria-describedby и aria-invalid. Использует Headless UI или Radix Vue для accessible primitives.

Создаёт комплексные component-тесты — мокирование Pinia-сторов, Vue Router, API-вызовов через MSW. Тестирует composables изолированно, использует Vitest snapshot-тесты и custom matchers для Vue-специфичных проверок.

Микрофронтенды Применение

Работает с micro-frontends в Vue: использует vite-plugin-federation для Module Federation, реализует Vue components как Web Components для framework-agnostic интеграции, настраивает shared Pinia store между micro-frontends. Управляет shared CSS через CSS Modules isolation.

Оптимизирует бандл Vue-приложения — настройка Vite rollupOptions для chunk splitting, manualChunks для vendor-библиотек. Настраивает code splitting по роутам Nuxt 3, оптимизирует размер Pinia-сторов через tree shaking.

Создаёт библиотеку Vue-компонентов с единым API — slots, expose, v-model кастомизация. Документирует компоненты в Storybook с Histoire, пишет component tests через Vitest и Vue Test Utils.

Современный CSS Применение

Создаёт адаптивные макеты с Container Queries и CSS Grid во Vue-компонентах. Реализует анимации через CSS Transitions и Vue Transition/TransitionGroup, использует :deep() и :slotted() селекторы.

Core Web Vitals Применение

Оптимизирует Core Web Vitals Vue-приложения — code splitting через динамические import(), оптимизация LCP с Nuxt Image, устранение CLS через skeleton screens и aspect-ratio для медиа-контента.

CSS-in-JS Применение

Реализует сложные Vue-компоненты с CSS-in-JS библиотеками или scoped styles с динамическими bindings. Оптимизирует рендеринг, минимизируя пересчёты стилей в реактивном контексте. Применяет паттерны переключения тем и state-driven стилизации в Vue SFC.

Data Fetching Применение

Реализует эффективную загрузку данных — кэширование через useFetch с ключами, параллельные запросы, дедупликация. Настраивает interceptors через ofetch, реализует optimistic updates в Pinia-сторах с rollback при ошибках.

Nuxt Применение

Самостоятельно реализует сложные UI-компоненты с Nuxt. Оптимизирует производительность рендеринга. Пишет тесты. Применяет инструменты для state management.

Progressive Web Apps Применение

Настраивает PWA для Vue/Nuxt — стратегии кэширования Workbox, push-уведомления, background sync. Реализует offline-first подход с Pinia-сторами и IndexedDB, настраивает @vite-pwa/nuxt для Nuxt 3.

SSR/SSG/ISR паттерны Применение

Реализует гибридный рендеринг в Nuxt 3 — ISR через routeRules, SWR-кэширование, prerendering статических страниц. Решает проблемы hydration mismatch, настраивает client-only и server-only компоненты.

State Management Применение

Проектирует структуру Pinia-сторов — модульная организация, composable stores, плагины для персистенции и devtools. Использует VueUse composables для глобального состояния — useStorage, useBreakpoints, createSharedComposable.

Tailwind CSS Применение

Создаёт кастомную дизайн-систему на Tailwind для Vue-проекта — custom theme, плагины, компоненты на Headless UI. Оптимизирует PurgeCSS конфигурацию для Vite, использует @tailwindcss/typography и анимации.

Настраивает Vite для Vue-проекта — плагины (unplugin-auto-import, unplugin-vue-components), proxy для API, оптимизация dep pre-bundling. Конфигурирует Vitest через vite.config, настраивает SSR режим для Nuxt.

Vue Core Применение

Самостоятельно реализует сложные UI-компоненты с Vue Core. Оптимизирует производительность рендеринга. Пишет тесты. Применяет инструменты для state management.

Web APIs Применение

Реализует интеграцию с Web API через кастомные composables — WebSocket, Geolocation, Notifications, Clipboard API. Использует VueUse как reference для паттернов, обрабатывает permissions и fallbacks корректно.

Web Components Применение

Создаёт Web Components из Vue-компонентов через defineCustomElement для интеграции с другими фреймворками. Настраивает Vite для сборки component library как Web Components с корректной стилизацией и event handling.

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

Реализует защиту Vue-приложения от OWASP Top 10 — CSP headers в Nuxt, sanitization пользовательского ввода, secure cookie configuration. Настраивает Nuxt Security модуль, проводит аудит зависимостей через npm audit.

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

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

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

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

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

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

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