Выберите текущую позицию

Укажите роль и уровень — система покажет путь развития, навыки и gap-анализ.

Путь развития

Junior

0-2 года

Текущий

Ответственность: Разработка CRUD-функциональности в Laravel/Symfony. Написание миграций и моделей Eloquent/Doctrine. Написание feature-тестов. Исправление багов. Работа с Blade/Twig шаблонами.

Ключевые навыки:

Elasticsearch / OpenSearch Нужно
GraphQL Design Нужно
MySQL / MariaDB Нужно
PHP Frameworks Нужно
PostgreSQL Нужно
RabbitMQ Нужно
Redis Нужно
REST API Design Нужно
Task Queues Нужно
Алгоритмы и сложность Нужно
Асинхронное программирование Нужно
Документирование API Нужно
Индексирование БД Нужно
Качество кода и рефакторинг Нужно
Миграции БД Нужно
Оптимизация запросов Нужно
Основы сетей Нужно
Паттерны Message Brokers Нужно
Паттерны проектирования Нужно
Принципы ООП и SOLID Нужно
Проектирование схем данных Нужно
Стратегии версионирования API Нужно
Стратегии кэширования Нужно
Структуры данных Нужно
Тестирование API Нужно
Типобезопасность и системы типов Нужно
Транзакции и конкурентность Нужно

Middle

2-5 лет

Следующий

Ответственность: Проектирование REST API. Работа с очередями (Laravel Queue/Symfony Messenger). Оптимизация N+1 запросов. Настройка кэширования. Интеграция с внешними API. Code review.

Ключевые навыки:

Apache Kafka Нужно
Connection Pooling Нужно
CQRS Нужно
Elasticsearch / OpenSearch Нужно
GraphQL Design Нужно
gRPC и Protocol Buffers Нужно
MySQL / MariaDB Нужно
PHP Frameworks Нужно
PostgreSQL Нужно
RabbitMQ Нужно
Rate Limiting и Throttling Нужно
Redis Нужно
REST API Design Нужно
Task Queues Нужно
Алгоритмы и сложность Нужно
Асинхронное программирование Нужно
Документирование API Нужно
Индексирование БД Нужно
Качество кода и рефакторинг Нужно
Миграции БД Нужно
Оптимизация запросов Нужно
Основы сетей Нужно
Паттерны Message Brokers Нужно
Паттерны проектирования Нужно
Принципы ООП и SOLID Нужно
Проектирование схем данных Нужно
Стратегии версионирования API Нужно
Стратегии кэширования Нужно
Структуры данных Нужно
Тестирование API Нужно
Типобезопасность и системы типов Нужно
Транзакции и конкурентность Нужно
Шардирование БД Нужно
Переход: ~2-3 года
  • Самостоятельно реализовал 3+ проекта
  • Провёл успешные код-ревью
  • Участвовал в разрешении production инцидентов

Senior

5-8 лет

Ответственность: Проектирование архитектуры приложения (DDD, Hexagonal). Оптимизация производительности (OPcache, Swoole/RoadRunner). Миграция на PHP 8.3+. Проектирование event-driven систем.

Ключевые навыки:

Apache Kafka Нужно
AWS Нужно
Clean Architecture Нужно
Code Review Нужно
Connection Pooling Нужно
CQRS Нужно
Docker Нужно
Elasticsearch / OpenSearch Нужно
Git Advanced Нужно
GitHub Actions / GitLab CI Нужно
GitHub Copilot Нужно
GraphQL Design Нужно
gRPC и Protocol Buffers Нужно
JWT / OAuth2 / OIDC Нужно
Kubernetes Core Нужно
MySQL / MariaDB Нужно
OWASP и безопасность приложений Нужно
PHP Frameworks Нужно
PostgreSQL Нужно
Prometheus и Grafana Нужно
RabbitMQ Нужно
Rate Limiting и Throttling Нужно
Redis Нужно
REST API Design Нужно
Task Queues Нужно
TDD и BDD Нужно
Unit-тестирование Нужно
Алгоритмы и сложность Нужно
Асинхронное программирование Нужно
Документирование API Нужно
Индексирование БД Нужно
Интеграционное тестирование Нужно
Качество кода и рефакторинг Нужно
Миграции БД Нужно
Оптимизация запросов Нужно
Основы System Design Нужно
Основы сетей Нужно
Паттерны Message Brokers Нужно
Паттерны проектирования Нужно
Практики безопасного кода Нужно
Принципы ООП и SOLID Нужно
Проектирование схем данных Нужно
Стратегии версионирования API Нужно
Стратегии кэширования Нужно
Структурированное логирование Нужно
Структуры данных Нужно
Тестирование API Нужно
Типобезопасность и системы типов Нужно
Транзакции и конкурентность Нужно
Шардирование БД Нужно
Переход: ~2-3 года
  • Самостоятельно реализовал 3+ проекта
  • Провёл успешные код-ревью
  • Участвовал в разрешении production инцидентов

Lead / Staff

7-12 лет

Ответственность: Микросервисная архитектура на PHP. Стандарты кодирования. Стратегия модернизации legacy-кода. Выбор фреймворков. Координация backend и frontend.

Ключевые навыки:

Apache Kafka Нужно
AWS Нужно
Clean Architecture Нужно
Code Review Нужно
Connection Pooling Нужно
Docker Нужно
Elasticsearch / OpenSearch Нужно
Git Advanced Нужно
GitHub Actions / GitLab CI Нужно
GitHub Copilot Нужно
GraphQL Design Нужно
JWT / OAuth2 / OIDC Нужно
Kubernetes Core Нужно
MySQL / MariaDB Нужно
OWASP и безопасность приложений Нужно
PHP Frameworks Нужно
PostgreSQL Нужно
Prometheus и Grafana Нужно
RabbitMQ Нужно
Rate Limiting и Throttling Нужно
Redis Нужно
REST API Design Нужно
Task Queues Нужно
TDD и BDD Нужно
Unit-тестирование Нужно
Алгоритмы и сложность Нужно
Асинхронное программирование Нужно
Документирование API Нужно
Индексирование БД Нужно
Интеграционное тестирование Нужно
Качество кода и рефакторинг Нужно
Миграции БД Нужно
Оптимизация запросов Нужно
Основы System Design Нужно
Паттерны Message Brokers Нужно
Паттерны проектирования Нужно
Практики безопасного кода Нужно
Принципы ООП и SOLID Нужно
Проектирование схем данных Нужно
Стратегии версионирования API Нужно
Стратегии кэширования Нужно
Структурированное логирование Нужно
Структуры данных Нужно
Тестирование API Нужно
Типобезопасность и системы типов Нужно
Транзакции и конкурентность Нужно
Переход: ~2-3 года
  • Самостоятельно реализовал 3+ проекта
  • Провёл успешные код-ревью
  • Участвовал в разрешении production инцидентов

Principal

10+ лет

Ответственность: Технологическая стратегия: PHP vs другие языки. Модернизация enterprise-приложений. Архитектура масштабируемых систем. Участие в PHP-коммьюнити.

Ключевые навыки:

AWS Нужно
Clean Architecture Нужно
Code Review Нужно
Docker Нужно
Elasticsearch / OpenSearch Нужно
Git Advanced Нужно
GitHub Actions / GitLab CI Нужно
GitHub Copilot Нужно
GraphQL Design Нужно
JWT / OAuth2 / OIDC Нужно
Kubernetes Core Нужно
MySQL / MariaDB Нужно
OWASP и безопасность приложений Нужно
PHP Frameworks Нужно
PostgreSQL Нужно
Prometheus и Grafana Нужно
RabbitMQ Нужно
Redis Нужно
REST API Design Нужно
Task Queues Нужно
TDD и BDD Нужно
Unit-тестирование Нужно
Алгоритмы и сложность Нужно
Асинхронное программирование Нужно
Документирование API Нужно
Индексирование БД Нужно
Интеграционное тестирование Нужно
Качество кода и рефакторинг Нужно
Миграции БД Нужно
Оптимизация запросов Нужно
Основы System Design Нужно
Паттерны проектирования Нужно
Практики безопасного кода Нужно
Принципы ООП и SOLID Нужно
Проектирование схем данных Нужно
Стратегии версионирования API Нужно
Стратегии кэширования Нужно
Структурированное логирование Нужно
Структуры данных Нужно
Тестирование API Нужно
Типобезопасность и системы типов Нужно
Транзакции и конкурентность Нужно
Переход: ~2-3 года
  • Самостоятельно реализовал 3+ проекта
  • Провёл успешные код-ревью
  • Участвовал в разрешении production инцидентов

Gap-анализ: навыки для развития

Для перехода на следующий уровень необходимо развить:

Apache Kafka

Разрабатывает producers и consumers. Понимает partitions, consumer groups, offsets. Обрабатывает ошибки: retry, dead letter queue. Использует Avro/Protobuf для сериализации. Настраивает delivery guarantees (at-least-once, exactly-once).

Connection Pooling

Решает connection management в PHP: настраивает PgBouncer/ProxySQL как внешний connection pooler для PHP-FPM, оптимизирует persistent connections с учётом FPM lifecycle. Мониторит количество connections через database status commands и настраивает wait_timeout.

CQRS

Реализует CQRS в PHP-проектах: использует Symfony Messenger или Ecotone для command/query bus, создает отдельные Doctrine read models (QueryBuilder + DTO) от write models (Entity + Repository). Настраивает event handlers для синхронизации read моделей.

Elasticsearch / OpenSearch

Самостоятельно реализует задачи с Elasticsearch / OpenSearch. Понимает внутреннее устройство и оптимизирует производительность. Пишет тесты.

GraphQL Design

Проектирует эффективные схемы: relay-style pagination, input types, unions/interfaces для полиморфизма. Решает N+1 через DataLoader. Реализует subscriptions для real-time. Настраивает query complexity limits.

gRPC и Protocol Buffers

Интегрирует PHP-приложения с gRPC-сервисами: генерирует PHP-клиенты из .proto через protoc, настраивает channel credentials для TLS, обрабатывает ошибки через Status codes. Использует Spiral/RoadRunner для реализации gRPC-серверов на PHP без ограничений FPM.

MySQL / MariaDB

Проектирует нормализованные схемы для бизнес-доменов. Оптимизирует запросы через EXPLAIN и профайлинг slow query log. Использует специфику MySQL: партиционирование, full-text search, JSON-колонки. Настраивает репликацию master-slave для read scaling.

PHP Frameworks

Самостоятельно реализует задачи с PHP Frameworks. Понимает внутреннее устройство и оптимизирует производительность. Пишет тесты.

PostgreSQL

Использует возможности PostgreSQL: JSONB для semi-structured данных, CTE для сложных запросов, window functions для аналитики. Работает с GIN/GiST индексами. Настраивает pg_stat_statements для мониторинга. Применяет LISTEN/NOTIFY для real-time событий.

RabbitMQ

Проектирует топологию обменников: fanout для broadcast, topic для маршрутизации, headers для сложных правил. Настраивает dead letter queues и retry-механизмы. Обеспечивает idempotent обработку сообщений.

Rate Limiting и Throttling

Реализует rate limiting в PHP-проектах: настраивает custom RateLimiter в Laravel с per-user и per-IP стратегиями, использует Symfony RateLimiter component с token bucket и sliding window. Применяет Redis для distributed rate limiting между FPM-процессами.

Redis

Применяет разные стратегии: cache-aside, write-through, write-behind. Использует Redis для очередей (lists), rate limiting (sorted sets), pub/sub. Проектирует ключи с namespace-ами. Обрабатывает cache stampede.

REST API Design

Проектирует API с пагинацией, фильтрацией, сортировкой и partial responses. Реализует HATEOAS-ссылки. Версионирует API. Применяет rate limiting и throttling. Документирует через OpenAPI/Swagger.

Task Queues

Самостоятельно реализует задачи с Task Queues. Понимает внутреннее устройство и оптимизирует производительность. Пишет тесты.

Алгоритмы и сложность

Анализирует алгоритмическую сложность PHP-кода и SQL-запросов. Оптимизирует обработку коллекций — заменяет вложенные циклы на хеш-таблицы. Применяет бинарный поиск, жадные алгоритмы в бизнес-логике. Профилирует через Xdebug.

Асинхронное программирование

Проектирует асинхронные потоки: очереди с приоритетами, отложенные задачи, retry-логика. Работает с message broker-ами для межсервисного общения. Обрабатывает ошибки и dead letter queues. Использует Fibers для concurrent I/O.

Документирование API

Генерирует OpenAPI-спецификацию из кода автоматически. Создаёт примеры для каждого сценария: успех, ошибки валидации, 404, 500. Версионирует документацию. Добавляет authentication-секцию с примерами.

Индексирование БД

Анализирует планы выполнения через EXPLAIN ANALYZE. Создаёт составные индексы с учётом selectivity и порядка колонок. Использует covering indexes для оптимизации частых запросов. Мониторит неиспользуемые индексы и их влияние на скорость записи.

Качество кода и рефакторинг

Настраивает статический анализ на высоком уровне строгости. Рефакторит legacy-код: выделяет методы, упрощает условия, убирает god-classes. Пишет self-documenting code. Проводит code review коллег.

Миграции БД

Пишет safe-миграции для PHP-проектов: добавление колонок с default, индексов без блокировки, разделение destructive изменений на этапы. Управляет seed-данными. Обеспечивает rollback-возможность для каждой миграции. Тестирует миграции на копии production-данных.

Оптимизация запросов

Оптимизирует SQL-запросы в PHP-приложениях: устраняет N+1 через eager loading, переписывает subqueries в JOIN-ы, использует batch operations. Анализирует slow query log. Применяет query builder и raw SQL когда ORM генерирует неоптимальные запросы.

Основы сетей

Настраивает load balancing (L4 vs L7), reverse proxy, SSL termination. Понимает CDN-архитектуру. Диагностирует latency issues. Работает с WebSockets и SSE для real-time.

Паттерны Message Brokers

Работает с messaging в PHP: использует Symfony Messenger с RabbitMQ/Redis транспортом, настраивает Laravel Horizon для мониторинга очередей, применяет routing по message type. Обрабатывает failed jobs через retry и dead letter queues, настраивает приоритетные очереди.

Паттерны проектирования

Применяет паттерны осознанно: Observer для событий, Decorator для расширения функциональности, Chain of Responsibility для middleware. Рефакторит код с использованием подходящих паттернов. Понимает anti-patterns.

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

Применяет SOLID на практике: выделяет интерфейсы, использует композицию вместо наследования, соблюдает LSP. Проектирует иерархии классов для бизнес-домена. Пишет код с low coupling и high cohesion.

Проектирование схем данных

Проектирует схемы данных для бизнес-доменов: нормализация до 3NF, денормализация для производительности, полиморфные связи. Моделирует soft deletes, версионирование записей, аудит-логи. Выбирает между EAV и JSON-колонками для гибких атрибутов.

Стратегии версионирования API

Реализует версионирование: роутинг по версиям, трансформеры для разных форматов ответов, deprecation headers. Определяет breaking vs non-breaking changes. Мигрирует клиентов между версиями.

Стратегии кэширования

Реализует многоуровневое кэширование: OPcache для bytecode, APCu для локальных данных, Redis для shared cache. Проектирует стратегии инвалидации: TTL, event-based, tag-based. Измеряет hit/miss ratio.

Структуры данных

Выбирает структуры под задачу: SplPriorityQueue для очередей, SplFixedArray для числовых данных, generators для стриминга. Понимает внутреннее устройство PHP array как hash table. Работает с деревьями категорий и графами зависимостей.

Тестирование API

Автоматизирует API-тесты: integration tests для всех эндпоинтов, assertion на структуру ответа, тестирование auth flow. Создаёт fixtures и factories для тестовых данных. Запускает в CI.

Типобезопасность и системы типов

Самостоятельно применяет возможности системы типов PHP — intersection types, enum с backed values и readonly properties для иммутабельных DTO. Понимает компромиссы между строгостью уровней phpstan и скоростью разработки. Применяет типобезопасные паттерны с дженериками в doc-blocks, типизированными коллекциями и строгими объявлениями типов возврата при ревью кода.

Транзакции и конкурентность

Самостоятельно проектирует стратегии управления транзакциями в PHP-приложениях с использованием PDO, Doctrine или Eloquent ORM. Реализует корректные границы транзакций для сложных бизнес-операций. Обрабатывает deadlock detection и retry-логику, управляет savepoints и оптимизирует длительность транзакций.

Шардирование БД

Работает с шардированием в PHP: реализует multi-tenant database routing в Laravel через database resolver, настраивает Doctrine DBAL с multiple connections, применяет shard selection middleware. Использует ProxySQL для transparent routing на уровне БД.