Applies async patterns: Promise.all for parallel operations, AsyncIterator for streaming, AbortController for cancellation. Implements async queue for rate limiting. Handles unhandled rejections.
Roles · Desktop Developer (Electron/Tauri) · Mid-level
What a Mid-level } should know
11 core skills, 54 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, Testing & QA.
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 · 2
Configures strict TypeScript (strict: true, noUncheckedIndexedAccess). Uses ESLint plugin for Electron security rules. Introduces Husky pre-commit hooks. Applies conventional commits.
Frontend Development · 2
Develops React UI for Electron with TypeScript strict mode. Uses React.lazy for code splitting. Implements virtualization (react-window) for large lists. Applies React.memo and useMemo for optimization.
Applies state management tools. Synchronizes state between main and renderer through IPC. Implements persistence middleware. Works with optimistic updates.
Testing & QA · 1
Structures tests for Electron: main process, renderer, shared. Mocks electron module through jest-electron. Introduces coverage through c8/istanbul. Tests IPC handlers.
Version Control & Collaboration · 2
Conducts code review for TypeScript/Electron. Checks security (IPC safety, CSP), performance, TypeScript correctness. Reviews React components and CSS.
Applies Git rebase, cherry-pick, bisect. Configures Git hooks through Husky (lint-staged, type-check). Works with Git LFS for native module binaries. Resolves merge conflicts in package-lock.json.
Desktop Development · 4
Independently develops Electron applications with TypeScript. Manages lifecycle (app events, window management). Configures Tray, Menu, dialog API. Works with protocol handlers and deep links.
Configures sandbox mode for renderer processes. Implements permission handling (media, geolocation). Validates IPC messages. Configures webRequest for blocking dangerous URLs. Audits npm dependencies.
Develops typed IPC through TypeScript interfaces. Implements streaming through MessagePort. Uses SharedArrayBuffer for high-performance data sharing. Manages multiple BrowserWindows through IPC.
Applies state management as ViewModel layer. Organizes navigation through React Router. Implements separation of concerns: IPC layer, business logic, UI components. Tests ViewModel separately.
Additional skills
Not assessed by the team, but part of the self-assessment and the development plan.
What changes at Senior
54 skills get a higher expectation or become core when moving from Mid-level to Senior. The biggest jumps first.
- Algorithms & Complexity: Working → Advanced · becomes core
- Auto-Update Mechanisms: Working → Advanced · becomes core
- Bundle Optimization: Working → Advanced · becomes core
- ChatGPT / Claude: Working → Advanced · becomes core
- Component Testing: Working → Advanced · becomes core
- Data Structures: Working → Advanced · becomes core
- Design Patterns: Working → Advanced · becomes core
- Desktop App Packaging: MSI, DMG, AppImage: Working → Advanced · becomes core
- Docker: Working → Advanced · becomes core
- E2E Testing: Working → Advanced · becomes core
} in the open competency matrix: 54 skills across 5 levels. The matrix is free for individuals and stays free.