Optimizes list and tree processing algorithms in Svelte applications, applies memoization through $derived for computation caching. Profiles reactive chain performance, selects optimal structures for keyed each blocks.
Roles · Frontend Developer (Svelte) · Mid-level
What a Mid-level } should know
24 core skills, 51 in total. Expectations per skill, and what changes at the next level.
This page lists what a Mid-level } is expected to know and do, skill by skill. Core skills are the ones a manager and peers assess in a review cycle; the rest count only in self-assessment. Main areas: Programming Fundamentals, Frontend Development.
Core skills for a Mid-level
Grouped by area. The label on the right is the expected depth: Awareness, Working, Advanced or Expert.
Programming Fundamentals · 6
Implements parallel data loading through Promise.all in SvelteKit load functions, manages race conditions through $effect.tracking(). Creates reusable async wrappers for stores, handles request cancellation through AbortController.
Configures advanced ESLint rules for Svelte 5 with rune and accessibility checks, integrates svelte-check in pre-commit hooks. Uses SonarQube or Code Climate for quality metrics, covers critical components with unit tests through Vitest.
Designs normalized data stores in Svelte stores and $state runes, applies trees and graphs for SvelteKit navigation structures. Uses WeakMap for component reference caching, optimizes structures for server load functions.
Implements Svelte 5 patterns: compound components through snippets, render delegation, context API for dependency injection. Applies the action pattern (use:action) for reusable DOM logic, designs adaptive layouts in SvelteKit.
Creates strict TypeScript interfaces for component props, types stores and $derived runes with generics. Configures svelte-check in strict mode, types form actions, server hooks, and SvelteKit API endpoints with full type safety.
Frontend Development · 18
Optimizes SvelteKit application bundle: configures code splitting by routes, manualChunks for vendor libraries, preload strategies. Minimizes CSS through Tailwind purge, analyzes dependency duplication, configures gzip/brotli compression on the server.
Creates comprehensive Svelte component tests: mocking stores and $state, testing $derived computations, async operations. Tests components with context, slots, and snippets, configures Vitest coverage reports, creates test utilities for SvelteKit.
Optimizes Core Web Vitals in SvelteKit: preloads critical resources, lazy loading through Svelte actions, font optimization. Configures web-vitals library for RUM monitoring, improves INP through event handler debouncing and $effect optimization.
Applies CSS-in-JS approaches within Svelte component styling, using scoped styles with dynamic class bindings and CSS custom properties. Optimizes rendering performance by leveraging Svelte's compile-time style optimization. Integrates design tokens and writes tests for component visual states.
Implements advanced data fetching patterns in SvelteKit: parallel load functions, invalidateAll for updates, streaming with promises. Creates type-safe API wrappers, configures response caching through Cache-Control headers in server routes.
Develops design system components on Svelte 5 with typed $props(), slots, and snippets for flexible composition. Configures Storybook for Svelte component documentation, creates variants through CSS variables and Tailwind classes.
Works with micro-frontends in Svelte: uses vite-plugin-federation for Svelte Module Federation, implements Svelte components as Web Components for integration with any framework. Configures shared state through writable stores with cross-MFE synchronization via events.
Applies advanced CSS features in Svelte: container queries, has(), nesting, cascade layers (@layer). Creates responsive layouts with dynamic viewport units, uses Svelte transitions and animations with CSS keyframes for smooth UI transitions.
Configures PWA in SvelteKit with a custom service worker: caching strategies (stale-while-revalidate, cache-first), offline fallback pages. Implements background data synchronization, push notifications, and SW updates without losing $state.
Configures rendering strategies in SvelteKit: SSR for dynamic pages, prerender for static, CSR for SPA sections. Uses adapter-static and adapter-node, implements ISR-like patterns through caching headers and invalidation.
Designs SvelteKit application state: global stores for auth and settings, context API for tree-scoped data, $state for forms. Implements optimistic updates through form actions, synchronizes server and client state through load invalidation.
Independently implements complex UI components with Svelte/SvelteKit. Optimizes rendering performance. Writes tests. Applies state management tools.
Configures Tailwind CSS for a SvelteKit project: custom theme, plugins, content paths for Svelte files. Combines Tailwind with Svelte scoped styles and Skeleton UI, creates reusable component variants through class: directive and clsx.
Configures visual testing system for Svelte: Playwright with pixel comparison, Chromatic for Storybook components. Creates tests for different viewports and themes, integrates visual checks in CI through GitHub Actions, manages baseline snapshots.
Configures Vite for a SvelteKit project: custom path aliases, API proxy, dependency optimization (optimizeDeps). Connects Vite plugins for SVG components, imagetools, configures build optimizations and environment variables for different environments.
Implements advanced accessibility in Svelte components: live regions for dynamic content, focus management during SvelteKit navigation. Configures aria-* attributes for custom widgets, creates skip-links and correct heading hierarchies in layouts.
Applies advanced Web APIs in Svelte: ResizeObserver and MutationObserver through actions, Web Workers for heavy computations, Clipboard API. Integrates Geolocation, Media API, and Notification API in SvelteKit, manages lifecycle through $effect cleanup.
Creates Svelte components exported as Web Components through customElement: true, configures shadow DOM and property forwarding. Integrates third-party Web Component UI libraries in SvelteKit, ensures correct SSR hydration.
Additional skills
Not assessed by the team, but part of the self-assessment and the development plan.
What changes at Senior
51 skills get a higher expectation or become core when moving from Mid-level to Senior. The biggest jumps first.
- Accessibility Testing: Working → Advanced · becomes core
- ChatGPT / Claude: Working → Advanced · becomes core
- Code Review: Working → Advanced · becomes core
- Docker: Working → Advanced · becomes core
- E2E Testing: Working → Advanced · becomes core
- Git Advanced: Working → Advanced · becomes core
- GitHub Actions / GitLab CI: Working → Advanced · becomes core
- GitHub Copilot: Working → Advanced · becomes core
- GraphQL Design: Working → Advanced · becomes core
- Performance Budgets: Working → Advanced · becomes core
} in the open competency matrix: 51 skills across 5 levels. The matrix is free for individuals and stays free.