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

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

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

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

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

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

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

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

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

Понимает базовые алгоритмы сортировки и поиска, оценивает O(n) простых циклов в Svelte-компонентах. Использует Array.filter/map/reduce для обработки данных в реактивных выражениях $derived, избегая лишних пересчётов в шаблонах.

Использует async/await в load-функциях SvelteKit для получения данных, обрабатывает Promise в {#await}-блоках шаблонов. Понимает жизненный цикл асинхронных операций в компонентах, корректно отображает состояния загрузки и ошибок.

Следует базовым правилам eslint-plugin-svelte и Prettier для единообразного форматирования Svelte-компонентов. Запускает svelte-check для обнаружения ошибок типов и доступности, придерживается соглашений именования файлов в SvelteKit-маршрутах.

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

Применяет базовые паттерны в Svelte: компонентная композиция, проброс пропсов и слотов, использование $props() для деструктуризации входных данных. Понимает паттерн контейнер/презентация для разделения логики и отображения в компонентах.

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

Работает с массивами, объектами и Map/Set для хранения состояния в Svelte-компонентах через $state. Понимает иммутабельные обновления для корректной реактивности, использует spread-оператор для обновления вложенных структур.

Использует TypeScript в Svelte-компонентах с lang="ts", типизирует $props() и основные переменные $state. Понимает базовые типы для SvelteKit load-функций (PageData, PageServerLoad), применяет встроенные типы Svelte для событий компонентов.

Frontend Development · 17

Понимает концепцию визуального регрессионного тестирования для Svelte-компонентов, делает скриншот-тесты через Playwright. Настраивает базовые snapshot-тесты для ключевых страниц SvelteKit-приложения, сравнивает визуальные различия в pull request-ах.

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

Следует базовым правилам доступности в Svelte: семантическая разметка, alt-атрибуты, ARIA-роли. Использует встроенные a11y-предупреждения компилятора Svelte, обеспечивает клавиатурную навигацию для интерактивных компонентов в SvelteKit-приложении.

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

Пишет базовые тесты Svelte-компонентов через @testing-library/svelte и Vitest: рендеринг, проверка текста, клики. Тестирует простые пропсы и события компонентов, использует screen.getByRole для accessible-селекторов, запускает тесты через vitest --run.

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

Понимает роль Vite и Rollup в бандлинге SvelteKit-приложений, анализирует размер бандла через rollup-plugin-visualizer. Применяет базовые оптимизации: dynamic import() для ленивой загрузки маршрутов, tree-shaking неиспользуемого кода из Svelte-библиотек.

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

Использует готовые компоненты из Skeleton UI или других Svelte UI-библиотек, следуя документированным паттернам. Применяет design tokens (CSS variables) для цветов и типографики, создаёт простые переиспользуемые Svelte-компоненты согласно гайдлайнам.

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

Использует scoped-стили в Svelte-компонентах, применяет CSS Grid и Flexbox для адаптивной вёрстки. Понимает каскадность в контексте Svelte: стили компонента изолированы, глобальные стили через :global(). Работает с CSS variables для тем оформления.

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

Понимает метрики LCP, FID/INP и CLS в контексте SvelteKit-приложений, измеряет их через Lighthouse и PageSpeed Insights. Следует базовым практикам: оптимизирует размер изображений, избегает layout shifts от динамического контента в Svelte-компонентах.

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

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

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

Использует SvelteKit load-функции для получения данных на сервере и клиенте, обрабатывает состояния загрузки через {#await}. Понимает разницу между +page.server.js и +page.js load-функциях, передаёт данные в компоненты через $page.data и export let data.

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

Понимает принципы PWA и применяет их в приложениях SvelteKit. Настраивает service worker и файлы манифеста для возможности установки. Использует встроенную поддержку service worker в SvelteKit для базовых офлайн-возможностей.

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

Понимает разницу между SSR, SSG и CSR в SvelteKit, использует prerender: true для статических страниц. Работает с +page.server.js для серверного рендеринга, понимает гидратацию и передачу данных от сервера к клиенту через PageData.

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

Управляет локальным состоянием в Svelte-компонентах через $state и $derived руны, использует writable/readable stores для shared-состояния. Понимает реактивность Svelte 5: автоматическое отслеживание зависимостей, $effect для побочных эффектов при изменении данных.

Svelte / SvelteKit Осведомлённость

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

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

Применяет базовые utility-классы Tailwind CSS в Svelte-компонентах для типовой вёрстки: отступы, цвета, flexbox. Использует @apply в scoped-стилях компонентов для группировки повторяющихся классов, работает с конфигурацией Tailwind из шаблона SvelteKit.

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

Понимает роль Vite как dev-сервера и бандлера в SvelteKit, использует стандартную конфигурацию vite.config.js. Работает с HMR для быстрой разработки Svelte-компонентов, понимает различие dev/build режимов и базовые Vite-переменные окружения.

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

Использует базовые Web API в Svelte-компонентах: Fetch API в load-функциях, localStorage для персистентности, IntersectionObserver через use:action. Понимает различие browser/server контекста в SvelteKit, проверяет доступность API через typeof window.

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

Понимает Web Components и их совместимость со Svelte. Компилирует Svelte-компоненты как custom elements для кросс-фреймворкового переиспользования. Работает с Shadow DOM и slot-based композицией.

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

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

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

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

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

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

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