Применяет алгоритмическую экспертизу в Node.js-разработке: проектирование неблокирующих алгоритмов для эффективности event loop, потоковые алгоритмы для обработки больших файлов без исчерпания памяти, эффективные алгоритмы маршрутизации для паттернов API gateway. Проектирует алгоритмы backpressure для контроля потока дата-пайплайнов.
Роли · Backend Developer (Node.js) · Senior
Что должен уметь Senior }
51 ключевых навыков, всего 69. Ожидания по каждому навыку и что меняется на следующем уровне.
На этой странице — что ожидается от Senior }, навык за навыком. Ключевые навыки оценивают руководитель и коллеги в цикле ревью; остальные учитываются только в самооценке. Основные области: Основы программирования, Backend Development, Базы данных.
Ключевые навыки для Senior
Сгруппированы по областям. Метка справа — ожидаемая глубина: Осведомлённость, Применение, Продвинутый или Эксперт.
Основы программирования · 8
Проектирует async-архитектуры в Node.js: стратегии оптимизации event loop, Worker Threads для CPU-интенсивных задач, async-обработка потоков с backpressure. Менторит команду по производительности event loop Node.js и паттернам обработки ошибок async.
Проектирует стандарты качества кода для Node.js-проектов: конфигурации ESLint/Prettier, внедрение strict mode TypeScript, паттерны обработки ошибок в async-коде. Рефакторит callback-heavy и promise-chain код в современные async/await-паттерны. Устанавливает практики ревью для производительности event loop и управления зависимостями.
Проектирует архитектуры Node.js на основе ФП: effect-системы с отделением чистой логики от I/O, использует fp-ts или Effect для типобезопасной композиции. Оптимизирует функциональные пайплайны для production. Менторит разработчиков по избеганию shared mutable state в async-потоках.
Обладает глубокой экспертизой в паттернах проектирования для Node.js: проектирует событийно-управляемые архитектуры с pub/sub и CQRS, внедряет композицию middleware для сложных пайплайнов обработки запросов, оптимизирует async-паттерны для модели конкурентности Node.js. Менторит команду по архитектурным паттернам для масштабируемых Node.js-микросервисов.
Применяет ООП/SOLID в Node.js/TypeScript-архитектуре: dependency injection с контейнерами Inversify/NestJS, interface segregation с TypeScript-интерфейсами, open/closed principle через композицию middleware. Проектирует чистые архитектуры, используя структурную типизацию TypeScript для гибких абстракций.
Выбирает оптимальные структуры данных для Node.js-приложений: Map/Set для O(1)-поиска вместо простых объектов, Buffer для обработки бинарных данных, потоковые структуры для memory-efficient потока данных. Оптимизирует работу с данными для оптимизации hidden classes V8. Проектирует эффективные структуры данных для управления состоянием WebSocket в реальном времени.
Обладает глубокой экспертизой в системе типов TypeScript — проектирует типобезопасные API-слои с template literal types, mapped types для schema-driven разработки и условными типами для архитектур плагинов. Архитектурирует сквозные типобезопасные стеки с tRPC или effect-ts. Менторит команду по продвинутому выводу типов, аннотациям вариантности и балансу сложности типов с эргономикой разработки.
Backend Development · 7
Проектирует messaging-архитектуру для Node.js сервисов: реализует transactional outbox с MongoDB change streams или PostgreSQL LISTEN/NOTIFY, настраивает Kafka с exactly-once semantics через idempotent producer. Проектирует event schema management и consumer idempotency через deduplication store.
Проектирует решения на основе Стратегии кэширования для production-систем. Оптимизирует производительность и масштабируемость. Выбирает между альтернативными подходами. Менторит команду.
Проектирует event-driven архитектуру на Kafka через KafkaJS/Confluent: consumer groups, exactly-once semantics, Schema Registry с Avro. Оптимизирует throughput: batching, compression. Настраивает Dead Letter Topics.
Проектирует приложения на NestJS/Fastify: модульная архитектура, middleware pipeline, custom decorators. Оптимизирует производительность: Fastify schema-based validation, lazy loading modules. Сравнивает Express vs Fastify vs NestJS.
Проектирует архитектуру messaging на RabbitMQ для Node.js-микросервисов. Реализует надёжную доставку через publisher confirms, consumer acknowledgments и outbox-паттерны. Оптимизирует пропускную способность пулингом каналов и настройкой prefetch consumer'ов.
Проектирует кеширование в Node.js: ioredis для Redis interaction, cache-aside pattern, distributed locks (Redlock). Использует Redis Streams для lightweight message processing. Оптимизирует pipelining.
Проектирует background job processing: BullMQ для task queues, priority queues, scheduled jobs, rate limiting. Настраивает retry policies с exponential backoff. Мониторит queue health через Bull Board.
Базы данных · 8
Проектирует стратегию индексирования: partial indexes, GIN для JSONB, covering indexes. Мониторит index usage через pg_stat_user_indexes. Оптимизирует для Node.js access patterns.
Проектирует safe migrations: zero-downtime через expand-contract, data backfill scripts, idempotent migrations. Автоматизирует через CI/CD с Prisma migrate deploy.
Оптимизирует data access: raw SQL для complex aggregations, Prisma query batching, connection pool tuning. Профилирует через pg_stat_statements. Выбирает между ORM и raw SQL по сценарию.
Проектирует доменные модели: DDD aggregates через Prisma, value objects через embedded types, soft deletes через middleware. Выбирает relational vs document model по контексту.
Проектирует шардирование для Node.js сервисов: реализует custom sharding proxy через Node.js streams, настраивает PostgreSQL sharding через Citus extension, проектирует resharding pipelines с Node.js worker threads. Оптимизирует connection management для высокого числа шардов с pgBouncer.
Проектирует connection management для Node.js сервисов: настраивает отдельные pools для read/write с automatic routing, реализует connection warming, проектирует graceful shutdown с connection draining. Решает проблемы connection exhaustion в serverless (Lambda) через RDS Proxy или PgBouncer.
Проектирует архитектуру данных MongoDB для высоконагруженных Node.js сервисов с оптимальными паттернами чтения/записи. Оптимизирует производительность через составные индексы, covered queries и настройку connection pool. Настраивает репликацию для HA и реализует стратегии sharding для горизонтального масштабирования.
Проектирует data access в Node.js: Prisma для type-safe queries, Knex для complex SQL, raw pg для performance-critical. Оптимизирует connection pooling (pgBouncer). Настраивает read replicas.
API и интеграции · 8
Проектирует documentation strategy: auto-generation из кода, versioned docs, changelog. Создаёт developer portal с API explorer. Интегрирует doc generation в CI/CD.
Проектирует WebSocket-архитектуру: horizontal scaling через Redis pub/sub, connection state management, graceful degradation to SSE. Оптимизирует memory per connection, heartbeat tuning.
Проектирует API-архитектуру с Стратегии версионирования API для production-систем. Определяет стандарты versioning, error handling, pagination. Оптимизирует производительность.
Проектирует API testing strategy: contract testing между сервисами, load testing (k6/autocannon), snapshot testing для schemas. Интегрирует в CI/CD pipeline.
Проектирует GraphQL-архитектуру: Federation для microservices, schema stitching, subscriptions через WebSocket. Реализует authorization directives, query depth limiting. Мониторит field usage.
Проектирует gRPC-архитектуру для Node.js сервисов: настраивает gRPC-Web через Envoy proxy для browser-клиентов, реализует middleware-цепочки для observability, оптимизирует event loop для высоконагруженных streaming-сценариев. Интегрирует gRPC с существующими Express/Fastify API через dual-protocol серверы.
Проектирует rate limiting для Node.js микросервисов: реализует sliding window через Redis Lua для atomic operations, настраивает rate limiting на API Gateway (Kong, Express Gateway). Проектирует backpressure через Node.js streams и queue-based request processing для graceful degradation.
Проектирует API архитектуру: API gateway pattern, rate limiting, request throttling. Реализует versioning strategies (URL, header). Интегрирует OpenAPI spec generation из кода (Fastify/NestJS).
Облако и инфраструктура · 4
Проектирует сетевую архитектуру: service mesh (Linkerd/Istio), gRPC для inter-service, HTTP/2 multiplexing. Оптимизирует: connection reuse, TCP tuning, TLS termination.
Проектирует AWS-архитектуру для Node.js: multi-AZ deployment, CDN (CloudFront), Step Functions для workflows. Оптимизирует: Lambda cold starts (provisioned concurrency), ECS task sizing.
Проектирует контейнеризацию Node.js платформы: distroless images, security scanning (Trivy), graceful shutdown с drain. Оптимизирует cold start для serverless containers.
Проектирует K8s для Node.js платформы: pod disruption budgets, topology spread, init containers для migrations. Оптимизирует: rolling update strategy, resource quotas по сервисам.
DevOps и CI/CD · 1
Проектирует CI/CD для Node.js платформы: monorepo builds (Nx/Turborepo), selective testing (affected packages), canary deployments. Оптимизирует: build caching, parallel execution.
Тестирование и QA · 3
Проектирует integration testing: contract testing (Pact) между сервисами, database testing strategy, external API mocking (MSW/nock). Автоматизирует test environment setup.
Проектирует TDD/BDD workflow: test-first для domain logic, outside-in TDD для API endpoints, BDD для user-facing features. Обучает команду TDD-практикам.
Проектирует unit-testing strategy: тестирование бизнес-логики без infrastructure, test factories (fishery), параметризованные тесты. Внедряет mutation testing (Stryker).
Безопасность · 3
Проектирует secure coding standards: ESLint security plugins (eslint-plugin-security), custom Semgrep rules для Node.js, secure code review checklist. Создаёт secure coding guide.
Проектирует enterprise auth: OIDC integration, multi-tenant authentication, API key management. Реализует: PKCE flow, token introspection, distributed session management.
Проектирует security для Node.js: security middleware pipeline, automated vulnerability scanning в CI, dependency audit automation. Реализует security logging и threat detection.
AI-ассистированная разработка · 1
Максимизирует продуктивность: генерация complex TypeScript types, test factories, infrastructure code. Workflow: AI для routine, developer для architecture и security review.
Архитектура и проектирование · 3
Проектирует microservices: domain-driven decomposition, bounded contexts, API contracts (OpenAPI/AsyncAPI). Реализует: service discovery, circuit breakers (opossum), distributed tracing.
Проектирует distributed Node.js системы: microservices decomposition, event-driven communication, CQRS для high-read services. Определяет API contracts и inter-service communication.
Проектирует CQRS-архитектуру для Node.js: интегрирует с EventStoreDB или custom event store, реализует projection rebuilds через event replay, настраивает multiple read stores для разных query patterns. Обеспечивает type safety через TypeScript generics для command/query/event types.
Observability и мониторинг · 3
Проектирует logging-архитектуру: unified log format для всех Node.js сервисов, OpenTelemetry logs integration, sampling для high-volume. Оптимизирует pino performance.
Проектирует OTel-архитектуру: collector deployment, sampling strategies, custom instrumentation для domain operations. Оптимизирует overhead в Node.js event loop.
Проектирует мониторинг Node.js платформы: RED metrics для API, V8/event loop dashboards, distributed tracing correlation. Оптимизирует metric cardinality.
Контроль версий и коллаборация · 2
Проводит архитектурный review: оценивает system impact, backward compatibility, performance. Ревьюит API contracts, database changes, infrastructure code.
Определяет branching-стратегию: trunk-based с feature flags, release branches. Настраивает git hooks (commitlint, type-check). Автоматизирует semantic versioning (changesets).
Дополнительные навыки
Команда их не оценивает, но они входят в самооценку и план развития.
Что меняется на Lead
67 навыков получают более высокое ожидание или становятся ключевыми при переходе с Senior на Lead. Сначала самые большие скачки.
- Алгоритмы и сложность: Продвинутый → Эксперт
- Асинхронное программирование: Продвинутый → Эксперт
- Декомпозиция на микросервисы: Продвинутый → Эксперт
- Документирование API: Продвинутый → Эксперт
- Индексирование БД: Продвинутый → Эксперт
- Интеграционное тестирование: Продвинутый → Эксперт
- Качество кода и рефакторинг: Продвинутый → Эксперт
- Миграции БД: Продвинутый → Эксперт
- Оптимизация запросов: Продвинутый → Эксперт
- Основы функционального программирования: Продвинутый → Эксперт
} в открытой матрице компетенций: 69 навыков на 5 уровнях. Матрица бесплатна для специалистов и останется бесплатной.