Code Review 1
▼
Участвует в code review: проверяет TypeScript types, naming, async/await usage. Оставляет конструктивные комментарии. Учится на feedback к своим PR.
Проводит quality review: проверяет architecture (layering, DI), error handling, async patterns, test quality. Даёт feedback по SOLID. Предлагает improvements.
Проводит архитектурный review: оценивает system impact, backward compatibility, performance. Ревьюит API contracts, database changes, infrastructure code.
Формирует review-культуру: checklist по уровням, SLA на review, automated checks (ESLint, TypeScript, tests). Разрешает disagreements.
Distributed Tracing 1
▼
Подключает OpenTelemetry к Node.js: @opentelemetry/auto-instrumentations-node для автоматического tracing. Видит traces в Jaeger. Понимает spans и context propagation.
Настраивает OTel в Node.js: custom spans через @opentelemetry/api, baggage для context, exporter configuration. Интегрирует traces + metrics через OTel SDK.
Проектирует OTel-архитектуру: collector deployment, sampling strategies, custom instrumentation для domain operations. Оптимизирует overhead в Node.js event loop.
Определяет OTel-стандарты: mandatory spans, resource attributes, instrumentation requirements. Внедряет tracing-based debugging workflow.
GraphQL 1
▼
Создаёт GraphQL API через Apollo Server/Mercurius: type definitions, resolvers, queries и mutations. Понимает schema-first vs code-first. Тестирует через GraphQL Playground.
Проектирует GraphQL-схемы: input types для mutations, pagination (Relay connections), error handling. Оптимизирует: DataLoader для N+1, query complexity limits, persisted queries.
Проектирует GraphQL-архитектуру: Federation для microservices, schema stitching, subscriptions через WebSocket. Реализует authorization directives, query depth limiting. Мониторит field usage.
Определяет GraphQL-стандарты: schema design guidelines, federation strategy, deprecation policy. Внедряет schema review process и automated breaking change detection.
NoSQL базы данных 1
▼
Понимает документную модель MongoDB и базовые CRUD-операции через Mongoose или нативный драйвер. Пишет простые запросы и следует командным соглашениям по дизайну схем. Применяет базовые принципы индексирования и понимает разницу между вложением и ссылками на документы.
Самостоятельно проектирует схемы и оптимизирует запросы с MongoDB. Понимает индексирование и планы выполнения запросов. Использует Prisma/TypeORM эффективно.
Проектирует архитектуру данных MongoDB для высоконагруженных Node.js сервисов с оптимальными паттернами чтения/записи. Оптимизирует производительность через составные индексы, covered queries и настройку connection pool. Настраивает репликацию для HA и реализует стратегии sharding для горизонтального масштабирования.
Определяет стратегию работы с данными на уровне продукта. Формирует стандарты MongoDB. Проводит review схем данных и стратегий масштабирования.
REST API 1
▼
Создаёт REST API на Express/Fastify: CRUD endpoints, middleware для auth, error handling. Понимает HTTP-методы, статус-коды, content negotiation. Валидирует input через Zod/Joi.
Проектирует REST API: resource naming, pagination (cursor-based), filtering, sorting. Реализует HATEOAS. Оптимизирует: response compression, ETags. Middleware pipeline для cross-cutting concerns.
Проектирует API архитектуру: API gateway pattern, rate limiting, request throttling. Реализует versioning strategies (URL, header). Интегрирует OpenAPI spec generation из кода (Fastify/NestJS).
Определяет API-стандарты команды: design guidelines, naming conventions, error response format. Внедряет API review process и contract testing. Проводит API design reviews.
System Design 1
▼
Понимает Node.js архитектуру: event loop, request lifecycle (middleware → handler → response), Express/Fastify request pipeline. Знает различия между монолитом и микросервисами.
Проектирует Node.js модули: layered architecture (controller → service → repository), Clean Architecture principles. Применяет NestJS modules для bounded contexts. Оценивает trade-offs.
Проектирует distributed Node.js системы: microservices decomposition, event-driven communication, CQRS для high-read services. Определяет API contracts и inter-service communication.
Принимает архитектурные решения: monolith vs microservices, NestJS vs Fastify, sync vs async. Документирует ADR. Проводит architecture reviews.
Unit-тестирование 1
▼
Понимает основы юнит-тестирования в Node.js: структура тестов Jest/Vitest, блоки describe/it, простое мокирование с jest.mock. Следует командным конвенциям размещения тестовых файлов, паттернам assertions и обработке async-тестов.
Пишет unit-тесты на Jest/Vitest: mocking через jest.mock, test doubles (spies, stubs), snapshot testing. Тестирует async code, error paths, edge cases.
Проектирует unit-testing strategy: тестирование бизнес-логики без infrastructure, test factories (fishery), параметризованные тесты. Внедряет mutation testing (Stryker).
Определяет unit-test стандарты: coverage targets, testing patterns, review checklist. Внедряет mutation testing для quality metrics. Обучает команду advanced testing.
Алгоритмы и структуры данных 2
▼
Понимает основы Алгоритмы и сложность на базовом уровне. Применяет простые концепции в рабочих задачах с использованием Node.js 20+/TypeScript. Следует рекомендациям senior-разработчиков при решении задач.
Самостоятельно применяет алгоритмическое мышление в Node.js: выбирает неблокирующие алгоритмы для эффективности event loop, понимает потоковые алгоритмические паттерны для обработки с ограничениями памяти, оценивает планирование async-операций. Анализирует сложность операций трансформации данных в цепочках middleware Express/Fastify.
Применяет алгоритмическую экспертизу в Node.js-разработке: проектирование неблокирующих алгоритмов для эффективности event loop, потоковые алгоритмы для обработки больших файлов без исчерпания памяти, эффективные алгоритмы маршрутизации для паттернов API gateway. Проектирует алгоритмы backpressure для контроля потока дата-пайплайнов.
Устанавливает performance-бюджеты для Node.js сервисов. Проводит review с фокусом на event loop blocking, V8 оптимизации. Внедряет benchmarking через clinic.js и autocannon в CI.
Понимает основы Структуры данных на базовом уровне. Применяет простые концепции в рабочих задачах с использованием Node.js 20+/TypeScript. Следует рекомендациям senior-разработчиков при решении задач.
Самостоятельно выбирает подходящие структуры данных в Node.js: Map/Set vs простые объекты для key-value операций, TypedArrays для бинарных данных, Buffer для I/O-операций. Понимает компромиссы между выбором структур данных для оптимизации V8 и давления на сборщик мусора.
Выбирает оптимальные структуры данных для Node.js-приложений: Map/Set для O(1)-поиска вместо простых объектов, Buffer для обработки бинарных данных, потоковые структуры для memory-efficient потока данных. Оптимизирует работу с данными для оптимизации hidden classes V8. Проектирует эффективные структуры данных для управления состоянием WebSocket в реальном времени.
Определяет стандарты работы с данными: TypeScript interfaces для API contracts, Zod schemas для validation, immutable data patterns. Ревьюит выбор структур в контексте V8 memory management.
Аутентификация и авторизация 1
▼
Реализует auth через JWT: создание и верификация токенов (jsonwebtoken), passport.js strategies. Понимает access/refresh token flow. Хранит секреты в env vars.
Проектирует auth систему: JWT + refresh tokens, OAuth2 flows (passport-oauth2), session management. Реализует: token rotation, blacklisting, secure cookie storage.
Проектирует enterprise auth: OIDC integration, multi-tenant authentication, API key management. Реализует: PKCE flow, token introspection, distributed session management.
Определяет auth-стандарты: JWT vs session strategy, token lifetime policies, auth middleware requirements. Координирует с identity provider team.
Безопасность приложений 1
▼
Знает OWASP Top 10 для Node.js: XSS prevention (helmet), SQL injection (parameterized queries), CSRF tokens. Использует express-rate-limit. Проверяет npm audit.
Применяет security в Node.js: helmet для HTTP headers, CORS configuration, input sanitization (DOMPurify). Тестирует: injection, broken auth, security misconfiguration.
Проектирует security для Node.js: security middleware pipeline, automated vulnerability scanning в CI, dependency audit automation. Реализует security logging и threat detection.
Определяет security-стандарты: mandatory security middleware, dependency scanning SLA, security review для новых endpoints. Координирует с security team.
Веб-фреймворки 1
▼
Использует Node.js Frameworks на базовом уровне. Выполняет простые задачи по готовым шаблонам. Понимает базовые концепции и следует принятым в команде практикам.
Самостоятельно строит приложения на Express/Fastify/NestJS, понимает middleware-пайплайны, dependency injection и жизненный цикл запросов. Оптимизирует производительность event loop Node.js и пишет юнит/интеграционные тесты с Jest/Mocha.
Проектирует приложения на NestJS/Fastify: модульная архитектура, middleware pipeline, custom decorators. Оптимизирует производительность: Fastify schema-based validation, lazy loading modules. Сравнивает Express vs Fastify vs NestJS.
Определяет framework-стратегию: NestJS для enterprise (DI, modules, guards), Fastify для high-performance API. Формирует conventions: project structure, module organization, shared libraries.
Контейнеризация 1
▼
Запускает Node.js в Docker: пишет Dockerfile с multi-stage build, .dockerignore, healthcheck. Использует docker-compose для dev-окружения (app + PostgreSQL + Redis).
Создаёт production-ready контейнеры: multi-stage builds (builder + runner), non-root user, signal handling (SIGTERM). Оптимизирует: layer caching для npm install, slim node images.
Проектирует контейнеризацию Node.js платформы: distroless images, security scanning (Trivy), graceful shutdown с drain. Оптимизирует cold start для serverless containers.
Определяет Docker-стандарты Node.js команды: base images, Dockerfile best practices, registry management. Внедряет container-based testing и automated security scanning.
Кэширование 2
▼
Использует Redis на базовом уровне. Выполняет простые задачи по готовым шаблонам. Понимает базовые концепции и следует принятым в команде практикам.
Самостоятельно реализует паттерны кэширования Redis в Node.js-сервисах — cache-aside с ioredis, распределённые блокировки с Redlock и pub/sub для трансляции событий. Понимает политики памяти Redis, стратегии вытеснения и влияние задержки репликации. Пишет комплексные тесты для консистентности кэша и сценариев отказоустойчивости.
Проектирует кеширование в Node.js: ioredis для Redis interaction, cache-aside pattern, distributed locks (Redlock). Использует Redis Streams для lightweight message processing. Оптимизирует pipelining.
Определяет caching-стратегию: multi-level cache (in-memory + Redis), cache invalidation patterns, TTL policies. Устанавливает метрики и SLA для cache performance в Node.js сервисах.
Использует кэширование в Node.js на базовом уровне: in-memory кэширование с node-cache, интеграция Redis-клиента. Следует командным паттернам для cache-aside в middleware Express/Fastify. Понимает базовую настройку TTL и стратегии ключей кэша.
Самостоятельно реализует стратегии кэширования в Node.js: многоуровневое кэширование с ioredis, HTTP-кэширование ответов и заголовки CDN кэша. Понимает предотвращение cache stampede, вероятностную раннюю экспирацию и паттерны инвалидации кэша.
Проектирует решения на основе Стратегии кэширования для production-систем. Оптимизирует производительность и масштабируемость. Выбирает между альтернативными подходами. Менторит команду.
Определяет архитектурные решения по Стратегии кэширования на уровне продукта. Формирует стандарты. Проводит design review и определяет технический roadmap.
Логирование 1
▼
Настраивает логирование в Node.js: pino/winston с JSON-форматом, request ID через middleware. Логирует с контекстом (userId, requestId). Не логирует sensitive данные.
Проектирует logging pipeline: pino для structured JSON, AsyncLocalStorage для correlation ID, log levels per environment. Интегрирует с ELK/Loki. Настраивает log shipping.
Проектирует logging-архитектуру: unified log format для всех Node.js сервисов, OpenTelemetry logs integration, sampling для high-volume. Оптимизирует pino performance.
Определяет logging-стандарты: mandatory fields, format specification, retention policies. Внедряет automated log quality checks. Формирует logging best practices.
Метрики и мониторинг 1
▼
Понимает мониторинг Node.js: prom-client для custom metrics, default metrics (event loop lag, GC, memory). Читает Grafana dashboards. Реагирует на алерты.
Настраивает мониторинг: custom business metrics (Counter, Histogram), recording rules, alerting на SLI. Создаёт Grafana dashboards для Node.js: event loop, heap, connections.
Проектирует мониторинг Node.js платформы: RED metrics для API, V8/event loop dashboards, distributed tracing correlation. Оптимизирует metric cardinality.
Определяет metrics-стандарты: mandatory metrics per service, naming conventions, dashboard templates. Внедряет SLO-based alerting.
Многопоточность и конкурентность 1
▼
Понимает основы Асинхронное программирование на базовом уровне. Применяет простые концепции в рабочих задачах с использованием Node.js 20+/TypeScript. Следует рекомендациям senior-разработчиков при решении задач.
Самостоятельно применяет асинхронное программирование в Node.js: async/await с правильной обработкой ошибок, паттерны композиции Promise, событийно-управляемая архитектура с EventEmitter. Понимает компромиссы между callbacks, promises и streams в event loop Node.js.
Проектирует async-архитектуры в Node.js: стратегии оптимизации event loop, Worker Threads для CPU-интенсивных задач, async-обработка потоков с backpressure. Менторит команду по производительности event loop Node.js и паттернам обработки ошибок async.
Определяет async-стандарты Node.js: async/await best practices, Promise concurrency (Promise.all vs allSettled), AsyncLocalStorage для context propagation. Внедряет стандарты error handling для async.
Моделирование данных 2
▼
Пишет миграции через Prisma Migrate / Knex migrations: создание таблиц, колонок, индексов. Понимает идемпотентность. Тестирует на dev-среде.
Самостоятельно проектирует схемы и оптимизирует запросы с Миграции БД. Понимает индексирование и планы выполнения запросов. Использует Prisma/TypeORM эффективно.
Проектирует safe migrations: zero-downtime через expand-contract, data backfill scripts, idempotent migrations. Автоматизирует через CI/CD с Prisma migrate deploy.
Определяет migration-стандарты: Prisma Migrate vs Knex vs raw SQL, review процесс, rollback стратегии. Тестирует на staging с production data copy.
Проектирует модели через Prisma schema: модели, связи (1:1, 1:N, M:N), enums. Понимает нормализацию. Использует Prisma relations для type-safe data access.
Самостоятельно проектирует схемы и оптимизирует запросы с Проектирование схем данных. Понимает индексирование и планы выполнения запросов. Использует Prisma/TypeORM эффективно.
Проектирует доменные модели: DDD aggregates через Prisma, value objects через embedded types, soft deletes через middleware. Выбирает relational vs document model по контексту.
Определяет стандарты моделирования: naming conventions, Prisma schema conventions, documentation. Ревьюит модели на DDD compliance и performance impact.
Облачные провайдеры 1
▼
Работает с AWS для Node.js: Lambda для serverless, EC2/ECS для containers, RDS для PostgreSQL, S3 для файлов. Понимает IAM roles, VPC, environment variables через SSM.
Использует AWS-сервисы: Lambda + API Gateway, ECS Fargate для containers, SQS/SNS для messaging, ElastiCache для Redis. Настраивает CloudWatch алармы и X-Ray tracing.
Проектирует AWS-архитектуру для Node.js: multi-AZ deployment, CDN (CloudFront), Step Functions для workflows. Оптимизирует: Lambda cold starts (provisioned concurrency), ECS task sizing.
Определяет AWS-стратегию: Lambda vs ECS для разных сервисов, managed vs self-hosted, cost optimization. Внедряет CDK/SST для Infrastructure as Code.
ООП и паттерны проектирования 2
▼
Понимает основы Паттерны проектирования на базовом уровне. Применяет простые концепции в рабочих задачах с использованием Node.js 20+/TypeScript. Следует рекомендациям senior-разработчиков при решении задач.
Самостоятельно применяет паттерны проектирования для Node.js: паттерн цепочки middleware в Express/Fastify, observer с EventEmitter, фабрика для инстанцирования сервисов, стратегия для подключаемых реализаций. Обосновывает компромиссы паттернов для async-first архитектур Node.js.
Обладает глубокой экспертизой в паттернах проектирования для Node.js: проектирует событийно-управляемые архитектуры с pub/sub и CQRS, внедряет композицию middleware для сложных пайплайнов обработки запросов, оптимизирует async-паттерны для модели конкурентности Node.js. Менторит команду по архитектурным паттернам для масштабируемых Node.js-микросервисов.
Формирует архитектурные стандарты Node.js команды: Middleware pattern (Express/Fastify), Repository pattern для data access, Dependency Injection (tsyringe/inversify). Проводит архитектурные review.
Понимает основы Принципы ООП и SOLID на базовом уровне. Применяет простые концепции в рабочих задачах с использованием Node.js 20+/TypeScript. Следует рекомендациям senior-разработчиков при решении задач.
Самостоятельно применяет ООП/SOLID в Node.js/TypeScript: правильные иерархии классов для сервисов, разделение интерфейсов через TypeScript interfaces, паттерны внедрения зависимостей (ручные или через NestJS DI). Понимает компромиссы между классовым ООП и функциональными паттернами в экосистеме Node.js.
Применяет ООП/SOLID в Node.js/TypeScript-архитектуре: dependency injection с контейнерами Inversify/NestJS, interface segregation с TypeScript-интерфейсами, open/closed principle через композицию middleware. Проектирует чистые архитектуры, используя структурную типизацию TypeScript для гибких абстракций.
Определяет OOP-стандарты для Node.js: TypeScript class patterns, interfaces для DI, abstract classes для base services. Обучает SOLID в контексте NestJS. Проводит design review.
Оптимизация БД 3
▼
Создаёт индексы через Prisma/Knex миграции: @@index для composite, @@unique для constraints. Понимает B-tree индексы. Проверяет EXPLAIN для query optimization.
Самостоятельно проектирует схемы и оптимизирует запросы с Индексирование БД. Понимает индексирование и планы выполнения запросов. Использует Prisma/TypeORM эффективно.
Проектирует стратегию индексирования: partial indexes, GIN для JSONB, covering indexes. Мониторит index usage через pg_stat_user_indexes. Оптимизирует для Node.js access patterns.
Определяет indexing-стандарты: обязательный query plan review, index naming conventions, automated detection missing indexes. Балансирует read/write performance.
Понимает N+1 проблему и решает через Prisma include/select, Knex eager loading. Использует findMany вместо циклов findUnique. Анализирует generated SQL через logging.
Самостоятельно проектирует схемы и оптимизирует запросы с Оптимизация запросов. Понимает индексирование и планы выполнения запросов. Использует Prisma/TypeORM эффективно.
Оптимизирует data access: raw SQL для complex aggregations, Prisma query batching, connection pool tuning. Профилирует через pg_stat_statements. Выбирает между ORM и raw SQL по сценарию.
Определяет стандарты query performance: бюджеты по времени, обязательное профилирование. Внедряет мониторинг slow queries и automated alerts.
Понимает концепцию шардирования в Node.js: знает как подключаться к нескольким БД через разные connection strings, понимает принцип routing по shard key. Способен работать с приложением которое использует шардированную MongoDB (native sharding).
Работает с шардированными БД в Node.js: реализует application-level sharding с Knex/Prisma через dynamic connection selection, настраивает MongoDB sharding с выбором shard key, применяет connection pooling per shard. Обрабатывает cross-shard queries через Promise.all scatter-gather.
Проектирует шардирование для Node.js сервисов: реализует custom sharding proxy через Node.js streams, настраивает PostgreSQL sharding через Citus extension, проектирует resharding pipelines с Node.js worker threads. Оптимизирует connection management для высокого числа шардов с pgBouncer.
Определяет шардирование-стратегию для Node.js платформы: стандартизирует sharding patterns через npm packages, проектирует monitoring и alerting для shard health, разрабатывает automated testing для sharded scenarios. Определяет data placement strategy с учётом Node.js event loop модели.
Очереди сообщений 3
▼
Понимает основы Kafka для Node.js-сервисов: настройка клиента KafkaJS, базовые паттерны producer/consumer и асинхронная обработка сообщений с учётом event loop Node.js. Следует командным практикам управления топиками и обработки ошибок в event-driven Node.js приложениях.
Реализует интеграцию Kafka для Node.js-микросервисов: паттерны event sourcing с KafkaJS, валидация схем с Avro/Protobuf и управление consumer groups для масштабируемой обработки. Обрабатывает backpressure в event loop Node.js при высокопроизводительном потреблении. Реализует идемпотентную обработку сообщений и паттерны dead letter queue.
Проектирует event-driven архитектуру на Kafka через KafkaJS/Confluent: consumer groups, exactly-once semantics, Schema Registry с Avro. Оптимизирует throughput: batching, compression. Настраивает Dead Letter Topics.
Определяет Kafka-стратегию: topic naming, schema evolution policy, KafkaJS vs Confluent SDK. Внедряет стандарты event-driven коммуникации и мониторинг consumer lag в Node.js сервисах.
Использует RabbitMQ с amqplib/amqp-connection-manager в Node.js на базовом уровне. Публикует и потребляет простые сообщения по командным шаблонам. Понимает базовые AMQP-концепции: exchanges, очереди и bindings.
Самостоятельно реализует паттерны RabbitMQ-messaging в Node.js: topic exchanges, RPC, work queues с prefetch. Настраивает восстановление соединений, пулинг каналов и обработку dead-letter. Пишет тесты для асинхронных потоков обработки сообщений.
Проектирует архитектуру messaging на RabbitMQ для Node.js-микросервисов. Реализует надёжную доставку через publisher confirms, consumer acknowledgments и outbox-паттерны. Оптимизирует пропускную способность пулингом каналов и настройкой prefetch consumer'ов.
Определяет архитектурные стандарты RabbitMQ для Node.js-платформы. Устанавливает паттерны messaging, конвенции обработки ошибок и операционные runbook'и. Проводит дизайн-ревью для паттернов асинхронной коммуникации и решений по топологии очередей.
Понимает паттерны брокеров сообщений в Node.js: pub-sub с BullMQ, event-driven messaging с amqplib. Следует командным конвенциям для асинхронной обработки сообщений через очереди и event emitters в Express/Fastify-сервисах.
Работает с message broker'ами в Node.js: использует KafkaJS для Kafka-интеграции, настраивает NestJS microservices с RabbitMQ/Kafka транспортом, реализует pub/sub через Redis Streams. Применяет consumer groups и настраивает retry логику с exponential backoff.
Проектирует messaging-архитектуру для Node.js сервисов: реализует transactional outbox с MongoDB change streams или PostgreSQL LISTEN/NOTIFY, настраивает Kafka с exactly-once semantics через idempotent producer. Проектирует event schema management и consumer idempotency через deduplication store.
Стандартизирует messaging в Node.js экосистеме: создает internal SDK для абстракции от конкретного broker'а, проектирует event catalog с типизированными событиями через TypeScript, внедряет distributed tracing для message flows. Определяет паттерны для saga и choreography в Node.js.
Паттерны микросервисов 1
▼
Понимает базовые архитектурные концепции Декомпозиция на микросервисы. Следует архитектурным решениям команды. Понимает основные паттерны.
Декомпозирует монолит на Node.js-микросервисы с использованием bounded contexts DDD. Определяет границы сервисов через анализ доменных событий. Реализует паттерн Strangler Fig с маршрутизацией через API gateway. Управляет межсервисным взаимодействием через REST и асинхронный обмен сообщениями (BullMQ, RabbitMQ).
Проектирует microservices: domain-driven decomposition, bounded contexts, API contracts (OpenAPI/AsyncAPI). Реализует: service discovery, circuit breakers (opossum), distributed tracing.
Определяет microservices-стандарты: service template (NestJS starter), communication patterns, data ownership. Координирует cross-team service boundaries.
Протоколы API 1
▼
Реализует WebSocket через Socket.IO/ws: подключение клиентов, rooms для группировки, события. Понимает lifecycle: connect, disconnect, reconnection. Обрабатывает ошибки соединения.
Проектирует real-time features: Socket.IO namespaces, presence tracking, message acknowledgment. Масштабирует через Redis adapter. Реализует binary data transfer и compression.
Проектирует WebSocket-архитектуру: horizontal scaling через Redis pub/sub, connection state management, graceful degradation to SSE. Оптимизирует memory per connection, heartbeat tuning.
Определяет real-time стандарты: WebSocket vs SSE vs polling решения, connection limits, monitoring requirements. Проводит capacity planning для concurrent connections.
Реляционные БД 1
▼
Работает с PostgreSQL через Prisma/Knex: CRUD-запросы, relations, migrations. Понимает типы PostgreSQL (JSONB, arrays, UUID). Использует Prisma Studio для инспекции данных.
Самостоятельно проектирует схемы и оптимизирует запросы с PostgreSQL. Понимает индексирование и планы выполнения запросов. Использует Prisma/TypeORM эффективно.
Проектирует data access в Node.js: Prisma для type-safe queries, Knex для complex SQL, raw pg для performance-critical. Оптимизирует connection pooling (pgBouncer). Настраивает read replicas.
Определяет PostgreSQL-стандарты: Prisma vs Drizzle vs TypeORM выбор, migration workflow, query performance budgets. Проводит review schemas и access patterns.
Сети 1
▼
Понимает сети для Node.js: TCP/HTTP, DNS resolution, порты и binding. Настраивает CORS, proxy headers (X-Forwarded-For). Дебажит connection issues.
Настраивает сетевое взаимодействие: keep-alive для HTTP connections, connection pooling для databases, service discovery. Диагностирует: timeouts, connection leaks, DNS caching в Node.js.
Проектирует сетевую архитектуру: service mesh (Linkerd/Istio), gRPC для inter-service, HTTP/2 multiplexing. Оптимизирует: connection reuse, TCP tuning, TLS termination.
Системы типов 1
▼
Понимает основы Типобезопасность и системы типов на базовом уровне. Применяет простые концепции в рабочих задачах с использованием Node.js 20+/TypeScript. Следует рекомендациям senior-разработчиков при решении задач.
Самостоятельно применяет систему типов TypeScript для Node.js-сервисов — дискриминированные объединения для типов ответов API, branded types для доменных идентификаторов и условные типы для сигнатур обработчиков. Понимает компромиссы между валидацией в runtime (zod/io-ts) и безопасностью на этапе компиляции. Применяет техники сужения типов при ревью кода.
Обладает глубокой экспертизой в системе типов TypeScript — проектирует типобезопасные API-слои с template literal types, mapped types для schema-driven разработки и условными типами для архитектур плагинов. Архитектурирует сквозные типобезопасные стеки с tRPC или effect-ts. Менторит команду по продвинутому выводу типов, аннотациям вариантности и балансу сложности типов с эргономикой разработки.
Определяет стратегию типизации: TypeScript strict mode, Zod для runtime validation, tRPC для end-to-end type safety. Контролирует tsconfig strictness и no-any policy.
Управление API 4
▼
Понимает rate limiting в Node.js: знает express-rate-limit middleware, умеет настроить базовое ограничение запросов. Понимает разницу между in-memory и Redis-based rate limiting и зачем нужен distributed вариант.
Реализует rate limiting в Node.js сервисах: использует rate-limiter-flexible с Redis для distributed limiting, настраивает @nestjs/throttler с custom storage, реализует per-route и per-user limiting. Обрабатывает rate limit headers и retry-after для клиентов.
Проектирует 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.
Стандартизирует rate limiting для Node.js платформы: создает npm packages для стандартного limiting setup, проектирует dynamic rate limiting с hot-reload из config service, внедряет analytics для rate limit optimization. Определяет SLAs и quota management для API products.
Документирует API: описывает endpoints через JSDoc/swagger-jsdoc, пишет request/response examples. Поддерживает Swagger UI актуальным. Описывает authentication requirements.
Генерирует API documentation: OpenAPI spec из NestJS декораторов или Fastify schemas, Redoc для публикации. Документирует: error codes, rate limits, pagination. Пишет getting started guides.
Проектирует documentation strategy: auto-generation из кода, versioned docs, changelog. Создаёт developer portal с API explorer. Интегрирует doc generation в CI/CD.
Определяет documentation-стандарты: обязательные разделы, review процесс, freshness requirements. Внедряет documentation-as-code и automated staleness detection.
Изучает подходы к версионированию API — через URL-путь и заголовки — в Node.js-сервисах. Следует командным соглашениям по поддержке обратной совместимости в маршрутах Express или Fastify.
Самостоятельно проектирует и реализует Стратегии версионирования API. Понимает best practices и patterns. Пишет документацию и тесты API.
Проектирует API-архитектуру с Стратегии версионирования API для production-систем. Определяет стандарты versioning, error handling, pagination. Оптимизирует производительность.
Определяет versioning-стратегию: URL-based vs header vs content negotiation, deprecation policy, migration guides. Координирует breaking changes между consumer и provider командами.
Тестирует API через Postman/Insomnia: отправляет запросы, проверяет ответы. Пишет базовые тесты в Postman Collections. Понимает environments и variables.
Автоматизирует API testing: Supertest для integration tests, Postman/Newman в CI, contract testing (Pact). Тестирует error scenarios, edge cases, authentication flows.
Проектирует API testing strategy: contract testing между сервисами, load testing (k6/autocannon), snapshot testing для schemas. Интегрирует в CI/CD pipeline.
Определяет API testing стандарты: coverage requirements, mandatory contract tests, performance budgets. Внедряет automated API testing для всех endpoints.
Фоновые задачи 1
▼
Использует Task Queues на базовом уровне. Выполняет простые задачи по готовым шаблонам. Понимает базовые концепции и следует принятым в команде практикам.
Самостоятельно реализует задачи с Task Queues. Понимает внутреннее устройство и оптимизирует производительность. Пишет тесты.
Проектирует background job processing: BullMQ для task queues, priority queues, scheduled jobs, rate limiting. Настраивает retry policies с exponential backoff. Мониторит queue health через Bull Board.
Определяет queue-стратегию: BullMQ для Node.js jobs vs Kafka для cross-service events, dead letter handling, idempotency standards. Внедряет мониторинг и alerting для queue processing.
Функциональное программирование 1
▼
Понимает основы Основы функционального программирования на базовом уровне. Применяет простые концепции в рабочих задачах с использованием Node.js 20+/TypeScript. Следует рекомендациям senior-разработчиков при решении задач.
Применяет принципы ФП в Node.js: чистые функции, иммутабельность через Object.freeze или Immer, композиция функций. Эффективно использует higher-order functions, map/filter/reduce. Понимает closures и currying для переиспользуемых утилит. Ревьюит код на предмет лишних мутаций и побочных эффектов.
Проектирует архитектуры Node.js на основе ФП: effect-системы с отделением чистой логики от I/O, использует fp-ts или Effect для типобезопасной композиции. Оптимизирует функциональные пайплайны для production. Менторит разработчиков по избеганию shared mutable state в async-потоках.
Определяет FP-стандарты: pure functions для business logic, fp-ts/Effect для type-safe error handling, pipe/compose для data transformations. Балансирует FP и OOP подходы по контексту.
Чистый код и рефакторинг 1
▼
Понимает основы Качество кода и рефакторинг на базовом уровне. Применяет простые концепции в рабочих задачах с использованием Node.js 20+/TypeScript. Следует рекомендациям senior-разработчиков при решении задач.
Самостоятельно применяет практики качества кода в Node.js/TypeScript-разработке. Пишет чистый async-код с правильными error boundaries и типобезопасностью. Понимает компромиссы между паттернами композиции middleware. Ревьюит код на блокировку event loop, правильную работу со стримами и безопасность зависимостей.
Проектирует стандарты качества кода для Node.js-проектов: конфигурации ESLint/Prettier, внедрение strict mode TypeScript, паттерны обработки ошибок в async-коде. Рефакторит callback-heavy и promise-chain код в современные async/await-паттерны. Устанавливает практики ревью для производительности event loop и управления зависимостями.
Формирует стандарты качества Node.js: ESLint/Biome configs, TypeScript strict mode, Prettier, Husky pre-commit hooks. Внедряет SonarQube quality gates. Балансирует скорость и качество.