Роли · Fullstack Developer · Middle

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

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

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

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

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

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

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

Самостоятельно применяет алгоритмическое мышление по всему стеку: выбирает эффективные алгоритмы запросов на бэкенде, понимает алгоритмы виртуального скроллинга и пагинации на фронтенде, оценивает компромиссы обработки данных между клиентом и сервером. Анализирует сквозную сложность реализаций фич.

Самостоятельно применяет асинхронное программирование по всему стеку: серверная async-обработка запросов, клиентская async-загрузка данных, WebSocket/SSE для обновлений реального времени. Понимает компромиссы между различными async-паттернами на фронтенде и бэкенде.

Самостоятельно применяет практики качества кода на фронтенде и бэкенде. Пишет консистентный код с общими определениями типов и чёткими границами API. Понимает компромиссы между DRY-переиспользованием кода и независимостью деплоя. Ревьюит full-stack фичи на правильное пробрасывание ошибок и консистентность валидации данных.

Самостоятельно применяет паттерны проектирования по всему стеку: repository для бэкенд-доступа к данным, стратегия для взаимозаменяемых реализаций сервисов, observer для реактивности фронтенда, адаптер для слоёв интеграции API. Обосновывает компромиссы паттернов для целостности full-stack архитектуры.

Принципы ООП и SOLID Применение

Самостоятельно применяет ООП/SOLID на фронтенде и бэкенде: правильные абстракции сервисов, разделяемые между слоями, контракты API на основе интерфейсов, единственная ответственность и в UI-компонентах, и в серверных обработчиках. Понимает компромиссы между ООП и функциональными паттернами по всему стеку.

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

Самостоятельно выбирает подходящие структуры данных по всему стеку: нормализованные схемы БД, DTO для API-ответов, клиентские деревья состояния для UI. Понимает компромиссы между выбором форматов данных для эффективной сериализации между фронтендом и бэкендом.

Самостоятельно применяет типобезопасность на фронтенде и бэкенде — строгий режим TypeScript для общих определений типов, типы контрактов API с tRPC/GraphQL codegen и сквозной типобезопасный поток данных. Понимает компромиссы между валидацией в runtime и гарантиями на этапе компиляции на границах системы. Применяет типобезопасные паттерны при ревью кода.

Frontend Development · 14

Обеспечивает accessibility на обеих сторонах: реализует server-side rendered accessible HTML с SSR frameworks, настраивает API responses для accessibility (alt text в image API, structured error messages). Тестирует с axe-core и проверяет keyboard navigation.

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

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

Работает с micro-frontends в fullstack контексте: реализует BFF layer для каждого micro-frontend, настраивает API composition для агрегации данных, применяет Module Federation для фронтенд интеграции. Обеспечивает end-to-end type safety через shared TypeScript types между frontend и backend.

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

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

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

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

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

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

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

Реализует паттерны загрузки данных с React Query/SWR на фронтенде и REST/GraphQL API на бэкенде. Оптимизирует кэширование, дедупликацию и состояния загрузки по всему стеку.

Next.js Применение

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

React Core Применение

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

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

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

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

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

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

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

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

Базы данных · 1

Анализирует медленные запросы через EXPLAIN. Устраняет N+1 проблемы в ORM (eager loading, select_related). Оптимизирует JOIN-ы (порядок, типы). Использует оконные функции (ROW_NUMBER, LAG/LEAD). Понимает разницу между correlated и non-correlated subqueries.

Облако и инфраструктура · 1

Основы сетей Применение

Применяет знания сетей в fullstack-разработке: настройка CORS для API, SSL/TLS сертификаты, HTTP/2 мультиплексирование. Понимает CDN-архитектуру для статики, DNS-конфигурацию для доменов и диагностирует проблемы латентности между фронтендом и бэкендом.

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

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

Документирование APIИндексирование БДИнтеграционное тестированиеМиграции БДМногопоточное программированиеОсновы System DesignПрактики безопасного кодаПроектирование схем данныхПроектирование WebSocket APIСтратегии версионирования APIСтруктурированное логированиеУправление памятьюApache KafkaAWSChatGPT / ClaudeCode ReviewCursor IDEDockerE2E тестированиеELK StackGit AdvancedGitHub Actions / GitLab CIGitHub CopilotGraphQL DesigngRPC и Protocol BuffersJWT / OAuth2 / OIDCKubernetes CoreLatency OptimizationMongoDBNode.js FrameworksOpenTelemetryOWASP и безопасность приложенийPostgreSQLPrometheus и GrafanaPrompt Engineering для кодаPython Web FrameworksRedisREST API DesignSLI / SLO / SLATDD и BDDTerraformUnit-тестирование

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

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

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

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