Проектирует алгоритмы обработки больших объёмов данных: chunk-processing, курсорная пагинация, стриминг. Оптимизирует memory-bound операции через generators. Находит и устраняет bottleneck-и с помощью Blackfire/Xhprof.
Роли · Backend Developer (PHP) · Senior
Что должен уметь Senior }
50 ключевых навыков, всего 63. Ожидания по каждому навыку и что меняется на следующем уровне.
На этой странице — что ожидается от Senior }, навык за навыком. Ключевые навыки оценивают руководитель и коллеги в цикле ревью; остальные учитываются только в самооценке. Основные области: Основы программирования, Backend Development, Базы данных.
Ключевые навыки для Senior
Сгруппированы по областям. Метка справа — ожидаемая глубина: Осведомлённость, Применение, Продвинутый или Эксперт.
Основы программирования · 7
Проектирует event-driven архитектуру: pub/sub, saga-паттерн для распределённых транзакций, eventual consistency. Оптимизирует throughput очередей. Обеспечивает exactly-once и at-least-once семантику обработки.
Внедряет метрики качества: cyclomatic complexity, coupling, code coverage. Проектирует архитектурные правила через PHPStan/Psalm custom rules. Автоматизирует контроль качества в CI. Менторит по чистому коду.
Комбинирует паттерны для решения сложных задач: CQRS для разделения чтения/записи, Event Sourcing для аудита, Specification для сложных фильтров. Адаптирует паттерны под контекст проекта, а не применяет догматично.
Проектирует доменные модели по DDD: Entities, Value Objects, Aggregates. Применяет принципы GRASP для распределения ответственности. Рефакторит legacy-код к чистой объектной модели без потери функциональности.
Проектирует эффективные структуры для production: bloom-фильтры, LRU-кэши, trie для автокомплита. Оптимизирует потребление памяти через генераторы, weak references и typed arrays. Выбирает между in-memory структурами и Redis.
Обладает глубокой экспертизой в системе типов PHP — проектирует доменные модели с максимальным покрытием статическим анализом PHPStan/Psalm на максимальных уровнях строгости. Архитектурирует типобезопасные фреймворки с дженериками в шаблонах, иммутабельными value objects и типизированными системами событий. Менторит команду по переводу кодовых баз на строгую типизацию, управлению baseline phpstan и типобезопасным паттернам ORM.
Backend Development · 8
Проектирует messaging-архитектуру для PHP-систем: реализует event-driven коммуникацию между PHP-сервисами через RabbitMQ с exchange routing, интегрирует PHP с Kafka через php-rdkafka для event streaming. Проектирует idempotent consumers и transactional outbox для consistency.
Проектирует кэширование для high-load: cache warming, стратегии stampede protection (lock, early expiration), stale-while-revalidate. Оптимизирует полный стек: opcache tuning, query cache, CDN purge.
Проектирует event-driven архитектуру на Kafka. Настраивает Kafka Connect для CDC (Debezium). Оптимизирует throughput (batching, compression, partitioning strategy). Проектирует event schema evolution strategy. Мониторит lag, throughput через Prometheus/Grafana.
Проектирует поисковую архитектуру: custom analyzers для русского/английского, synonym-фильтры, fuzzy matching. Оптимизирует индексы: sharding strategy, reindex без downtime. Реализует aggregations для аналитики.
Проектирует решения на основе PHP Frameworks для production-систем. Оптимизирует производительность и масштабируемость. Выбирает между альтернативными подходами. Менторит команду.
Проектирует отказоустойчивую messaging-архитектуру: кластеризация, quorum queues, federation. Реализует saga-паттерн через очереди. Оптимизирует throughput и latency. Мониторит lag и backpressure.
Проектирует распределённое кэширование: Redis Cluster, sentinel для HA. Реализует distributed locks, sliding window counters, leaderboards. Оптимизирует memory footprint через сжатие и правильный выбор типов данных.
Проектирует архитектуру очередей: приоритизация, rate limiting, circuit breaker для внешних сервисов. Обеспечивает exactly-once обработку через idempotency keys. Мониторит throughput, latency, failure rate.
Базы данных · 9
Проектирует индексную стратегию: composite indexes с учётом selectivity, covering indexes для избежания table lookups, partial indexes для горячих данных. Мониторит index usage и bloat.
Проектирует zero-downtime миграции: expand-contract pattern, online schema changes для больших таблиц. Мигрирует данные без блокировки production. Автоматизирует проверку совместимости миграций с текущим кодом.
Оптимизирует сложные запросы: подзапросы vs JOIN, materialized views для агрегаций, денормализация для hot paths. Профилирует ORM-запросы. Устраняет lock contention и deadlocks в high-load сценариях.
Проектирует схемы для сложных доменов: полиморфные связи, EAV для гибких атрибутов, temporal data, audit trails. Применяет денормализацию для production. Моделирует bounded contexts.
Проектирует транзакционную стратегию: optimistic vs pessimistic locking, advisory locks, serializable isolation для критичных операций. Обрабатывает deadlocks. Реализует saga pattern для распределённых транзакций.
Проектирует стратегию шардирования для PHP-систем: реализует consistent hashing для shard distribution, проектирует resharding с zero-downtime через dual-write pattern, настраивает Vitess для transparent MySQL sharding. Решает проблемы cross-shard reporting через materialized views или ETL.
Проектирует connection architecture для PHP-систем: настраивает Swoole/RoadRunner для real connection pooling в long-running PHP, реализует read/write splitting через ProxySQL, оптимизирует PgBouncer pool mode (session/transaction/statement) для разных workloads. Решает проблемы с prepared statements в transaction mode.
Оптимизирует производительность: partitioning, query optimizer hints, covering indexes. Настраивает репликацию master-slave. Анализирует slow query log. Проектирует схему под high-write или high-read нагрузку.
Использует продвинутые возможности: CTE, window functions, partial indexes, JSONB-операторы. Настраивает pg_stat_statements для мониторинга. Оптимизирует через EXPLAIN ANALYZE. Настраивает logical replication.
API и интеграции · 7
Проектирует документацию как продукт: developer portal, getting started guides, SDKs. Автоматизирует генерацию клиентов из спецификации. Внедряет contract testing (спецификация = тесты).
Проектирует стратегию версионирования: sunset policy, changelog automation, consumer-driven contract testing. Обеспечивает плавную миграцию между версиями без downtime для клиентов.
Проектирует стратегию API-тестирования: contract tests, load tests, chaos testing. Создаёт mock-серверы для зависимостей. Тестирует race conditions и concurrent access. Автоматизирует smoke tests для production.
Проектирует GraphQL-архитектуру: schema stitching/federation для микросервисов, persisted queries для production, custom directives. Оптимизирует производительность: caching, batching, query depth limiting.
Проектирует gRPC-интеграцию для PHP-систем: определяет какие сервисы реализовывать как gRPC-серверы (Spiral/RoadRunner) vs gRPC-клиенты, настраивает retry-логику и deadline propagation, интегрирует с OpenTelemetry для сквозного трейсинга. Оптимизирует производительность через persistent connections.
Проектирует rate limiting для PHP-систем: реализует multi-tier limiting (nginx → PHP middleware → per-endpoint), настраивает rate limiting на reverse proxy уровне для снижения нагрузки на PHP. Проектирует adaptive limiting с dynamic thresholds на основе server load и response times.
Проектирует API для сложных доменов: batch operations, long-running tasks с polling, webhook-и. Реализует content negotiation, conditional requests (ETag/If-Modified-Since). Оптимизирует API для мобильных клиентов.
Облако и инфраструктура · 4
Проектирует сетевую архитектуру: VPC layout, subnet strategy, security groups, WAF. Оптимизирует сетевые задержки. Настраивает DNS failover и geo-routing. Обеспечивает DDoS-защиту.
Проектирует отказоустойчивую cloud-архитектуру: multi-AZ, auto-scaling groups, disaster recovery. Настраивает VPC peering, Transit Gateway. Реализует zero-downtime deployments. Оптимизирует затраты через Reserved/Spot.
Проектирует контейнерную архитектуру: базовые образы для команды, security hardening (non-root, read-only fs), resource limits. Оптимизирует время сборки. Настраивает container orchestration.
Проектирует Kubernetes-архитектуру: namespace strategy, network policies, RBAC. Настраивает GitOps (ArgoCD/Flux). Оптимизирует resource utilization. Мигрирует stateful-сервисы.
DevOps и CI/CD · 1
Проектирует CI/CD-архитектуру: reusable workflows, self-hosted runners для специфических задач, blue-green/canary deployments. Оптимизирует время сборки. Автоматизирует rollback.
Тестирование и QA · 3
Проектирует integration testing strategy: что тестировать интеграционно vs unit, параллельный запуск, изоляция между тестами. Создаёт тестовые окружения как код. Реализует contract testing с внешними сервисами.
Определяет тестовую стратегию: testing pyramid, когда TDD обязателен vs когда избыточен. Проектирует BDD-фреймворк для команды. Интегрирует acceptance tests в CI с изолированной средой.
Проектирует тестовую архитектуру: test doubles strategy, shared fixtures, custom assertions для домена. Тестирует edge cases и race conditions. Оптимизирует скорость test suite. Внедряет mutation testing.
Безопасность · 3
Проектирует secure-by-default архитектуру: encrypted at rest/in transit, secrets management, automated credential rotation. Реализует zero-trust подход между сервисами. Проводит threat modeling.
Проектирует auth-архитектуру: centralized identity service, token introspection, RBAC/ABAC. Реализует SSO между сервисами. Настраивает MFA. Обеспечивает secure token storage и rotation.
Проводит security audit: ищет injection points, broken access control, insecure deserialization. Настраивает security headers. Реализует rate limiting для brute-force protection. Автоматизирует SAST/DAST в CI.
AI-ассистированная разработка · 1
Максимизирует продуктивность с Copilot: генерация сложных SQL-запросов, конфигураций, интеграционных тестов. Выстраивает workflow где AI ускоряет рутину, а разработчик фокусируется на архитектуре. Создаёт промпт-шаблоны для типовых PHP-задач.
Архитектура и проектирование · 3
Проектирует архитектуру PHP-систем: декомпозиция монолита на модули/сервисы, event-driven взаимодействие, CQRS для высоконагруженных операций. Определяет API-контракты между сервисами. Проводит capacity planning и проектирует под нагрузку.
Проектирует PHP-приложения по Clean/Hexagonal Architecture: Ports & Adapters для интеграций, Domain Events для связи между bounded contexts. Рефакторит legacy к чистой архитектуре без остановки разработки. Определяет anti-corruption layers.
Проектирует CQRS для PHP-систем: внедряет Ecotone Framework для full CQRS/ES, реализует async projections через RabbitMQ, настраивает read stores (Elasticsearch, Redis) отдельно от write database. Обеспечивает testability через in-memory event store для интеграционных тестов.
Observability и мониторинг · 2
Проектирует стратегию логирования для PHP-платформы: correlation ID между сервисами, distributed tracing через OpenTelemetry. Настраивает алерты по паттернам в логах. Оптимизирует объём логов без потери диагностической ценности.
Проектирует мониторинг PHP-платформы: RED-метрики для API, USE-метрики для инфраструктуры. Настраивает distributed tracing. Создаёт SLI/SLO дашборды. Оптимизирует cardinality метрик. Внедряет alerting runbooks для on-call.
Контроль версий и коллаборация · 2
Проводит архитектурный review: оценивает влияние изменений на систему, backward compatibility, performance implications. Ревьюит миграции, API-контракты, конфигурации инфраструктуры. Менторит через review — объясняет почему, а не только что исправить.
Определяет branching-стратегию для PHP-проекта: release branches, feature flags vs long-lived branches. Настраивает git hooks для quality gates (PHPStan, tests). Автоматизирует changelog и semantic versioning. Разрешает сложные конфликты при больших рефакторингах.
Дополнительные навыки
Команда их не оценивает, но они входят в самооценку и план развития.
Что меняется на Lead
53 навыков получают более высокое ожидание или становятся ключевыми при переходе с Senior на Lead. Сначала самые большие скачки.
- Алгоритмы и сложность: Продвинутый → Эксперт
- Асинхронное программирование: Продвинутый → Эксперт
- Документирование API: Продвинутый → Эксперт
- Индексирование БД: Продвинутый → Эксперт
- Интеграционное тестирование: Продвинутый → Эксперт
- Качество кода и рефакторинг: Продвинутый → Эксперт
- Миграции БД: Продвинутый → Эксперт
- Оптимизация запросов: Продвинутый → Эксперт
- Основы System Design: Продвинутый → Эксперт
- Паттерны проектирования: Продвинутый → Эксперт
} в открытой матрице компетенций: 63 навыков на 5 уровнях. Матрица бесплатна для специалистов и останется бесплатной.