Применяет async patterns: Promise.all для parallel operations, AsyncIterator для streaming, AbortController для cancellation. Реализует async queue для rate limiting. Обрабатывает unhandled rejections.
Роли · Desktop Developer (Electron/Tauri) · Middle
Что должен уметь Middle }
11 ключевых навыков, всего 54. Ожидания по каждому навыку и что меняется на следующем уровне.
На этой странице — что ожидается от Middle }, навык за навыком. Ключевые навыки оценивают руководитель и коллеги в цикле ревью; остальные учитываются только в самооценке. Основные области: Основы программирования, Frontend Development, Тестирование и QA.
Ключевые навыки для Middle
Сгруппированы по областям. Метка справа — ожидаемая глубина: Осведомлённость, Применение, Продвинутый или Эксперт.
Основы программирования · 2
Настраивает strict TypeScript (strict: true, noUncheckedIndexedAccess). Использует ESLint plugin для Electron security rules. Внедряет Husky pre-commit hooks. Применяет conventional commits.
Frontend Development · 2
Разрабатывает React UI для Electron с TypeScript strict mode. Использует React.lazy для code splitting. Реализует виртуализацию (react-window) для больших списков. Применяет React.memo и useMemo для оптимизации.
Применяет инструменты для state management. Синхронизирует state между main и renderer через IPC. Реализует persistence middleware. Работает с optimistic updates.
Тестирование и QA · 1
Структурирует тесты для Electron: main process, renderer, shared. Мокает electron module через jest-electron. Внедряет coverage через c8/istanbul. Тестирует IPC handlers.
Контроль версий и коллаборация · 2
Проводит code review для TypeScript/Electron. Проверяет security (IPC safety, CSP), performance, TypeScript correctness. Ревьюит React компоненты и CSS.
Применяет Git rebase, cherry-pick, bisect. Настраивает Git hooks через Husky (lint-staged, type-check). Работает с Git LFS для native module binaries. Решает merge conflicts в package-lock.json.
Desktop Development · 4
Самостоятельно разрабатывает Electron-приложения с TypeScript. Управляет lifecycle (app events, window management). Настраивает Tray, Menu, dialog API. Работает с protocol handlers и deep links.
Настраивает sandbox mode для renderer processes. Реализует permission handling (media, geolocation). Валидирует IPC messages. Настраивает webRequest для blocking опасных URL. Аудирует npm dependencies.
Разрабатывает typed IPC через TypeScript interfaces. Реализует streaming через MessagePort. Использует SharedArrayBuffer для high-performance data sharing. Управляет multiple BrowserWindows через IPC.
Применяет state management (state management) как ViewModel layer. Организует navigation через React Router. Реализует separation of concerns: IPC layer, business logic, UI components. Тестирует ViewModel отдельно.
Дополнительные навыки
Команда их не оценивает, но они входят в самооценку и план развития.
Что меняется на Senior
54 навыков получают более высокое ожидание или становятся ключевыми при переходе с Middle на Senior. Сначала самые большие скачки.
- Алгоритмы и сложность: Применение → Продвинутый · становится ключевым
- Интеграционное тестирование: Применение → Продвинутый · становится ключевым
- Компонентное тестирование: Применение → Продвинутый · становится ключевым
- Многопоточное программирование: Применение → Продвинутый · становится ключевым
- Оптимизация бандла: Применение → Продвинутый · становится ключевым
- Паттерны проектирования: Применение → Продвинутый · становится ключевым
- Практики безопасного кода: Применение → Продвинутый · становится ключевым
- Принципы ООП и SOLID: Применение → Продвинутый · становится ключевым
- Проектирование WebSocket API: Применение → Продвинутый · становится ключевым
- Современный CSS: Применение → Продвинутый · становится ключевым
} в открытой матрице компетенций: 54 навыков на 5 уровнях. Матрица бесплатна для специалистов и останется бесплатной.