Проектирует алгоритмические решения для сложных бизнес-задач. Применяет динамическое программирование, жадные алгоритмы. Оценивает trade-off между временем и памятью. Оптимизирует алгоритмы с учётом cache locality и Python-специфики (GIL, reference counting).
Роли · Backend Developer (Python) · Senior
Что должен уметь Senior }
47 ключевых навыков, всего 75. Ожидания по каждому навыку и что меняется на следующем уровне.
На этой странице — что ожидается от Senior }, навык за навыком. Ключевые навыки оценивают руководитель и коллеги в цикле ревью; остальные учитываются только в самооценке. Основные области: Основы программирования, Backend Development, Базы данных.
Ключевые навыки для Senior
Сгруппированы по областям. Метка справа — ожидаемая глубина: Осведомлённость, Применение, Продвинутый или Эксперт.
Основы программирования · 8
Проектирует асинхронную архитектуру приложений. Использует asyncio с Celery/Dramatiq для гибридных решений. Отлаживает сложные async-проблемы (deadlocks, starvation). Оптимизирует event loop performance. Понимает когда async не подходит (CPU-bound задачи).
Проектирует архитектуру для поддержания высокого качества кода. Внедряет architectural decision records. Настраивает метрики качества в CI/CD. Проводит глубокие code review с фокусом на архитектуру. Рефакторит legacy-код без regression.
Проектирует concurrent-системы с учётом GIL. Выбирает между threading, multiprocessing, asyncio для задач. Профилирует многопоточный код. Использует shared memory для межпроцессного обмена. Проектирует lock-free алгоритмы где возможно.
Комбинирует паттерны для решения сложных архитектурных задач. Применяет CQRS, Event Sourcing, Specification pattern. Проектирует middleware pipelines. Адаптирует классические паттерны к Python-идиомам (decorators, context managers, generators).
Проектирует доменные модели с использованием DDD-подхода. Применяет metaclasses и descriptors для framework-level задач. Создаёт гибкие API с использованием абстракций. Рефакторит legacy-код с нарушениями SOLID без breaking changes.
Проектирует собственные структуры данных для специфических задач. Использует __slots__ для оптимизации памяти. Применяет immutable structures (frozenset, tuple) для thread-safety. Реализует паттерны с использованием weakref для предотвращения memory leaks.
Проектирует type-safe API для библиотек. Использует advanced typing (TypeVar, ParamSpec, Concatenate). Настраивает mypy plugins. Создаёт типизированные DSL. Понимает ограничения системы типов Python.
Backend Development · 6
Проектирует messaging-архитектуру для Python-сервисов: выбирает между RabbitMQ, Kafka, Redis Streams для разных сценариев, реализует transactional outbox для гарантии доставки, настраивает exactly-once semantics в Kafka. Проектирует schema registry для эволюции форматов сообщений.
Проектирует многоуровневую стратегию кэширования (L1/L2/L3). Оптимизирует cache warming и pre-fetching. Реализует distributed cache invalidation. Выбирает между consistency и performance.
Проектирует event-driven архитектуру на Kafka. Оптимизирует throughput и latency. Настраивает exactly-once semantics. Проектирует топологию topics и partitioning strategy. Использует Kafka Streams для обработки.
Проектирует архитектуру крупных FastAPI/Django-приложений. Настраивает async middleware pipelines. Создаёт custom FastAPI dependencies. Оптимизирует стартап и shutdown. Интегрирует с Celery, Kafka, Redis.
Проектирует стратегию кэширования для сервиса. Использует Redis Streams для event processing. Настраивает Redis Cluster для высокой доступности. Оптимизирует memory usage (key design, compression). Реализует distributed locks через Redlock.
Проектирует архитектуру фоновой обработки. Оптимизирует concurrency и prefetch. Настраивает приоритетные очереди. Реализует idempotent tasks. Мигрирует между очередями без потери задач.
Базы данных · 7
Проектирует индексные стратегии. Использует partial, covering, GIN/GiST индексы. Мониторит pg_stat_user_indexes. Оптимизирует с учётом cardinality и selectivity.
Проектирует стратегию миграций для сервиса. Выполняет сложные schema changes (splitting tables, changing types). Автоматизирует rollback. Мигрирует между database engines.
Глубоко анализирует query plans. Использует materialized views. Оптимизирует bulk operations (COPY). Настраивает work_mem, shared_buffers.
Проектирует domain models для сложных бизнес-доменов. Применяет DDD при моделировании. Проектирует event-sourced хранилище. Оптимизирует схему для read-heavy и write-heavy нагрузок.
Проектирует стратегию шардирования для Python-систем: выбирает shard key с учётом access patterns и data distribution, реализует consistent hashing для балансировки, проектирует cross-shard query aggregation. Настраивает Vitess или ProxySQL для transparent sharding PostgreSQL/MySQL.
Проектирует connection management для Python-систем: рассчитывает оптимальный pool size (формула connections = (2 * CPU) + disk_spindles), настраивает multi-pool стратегию для read replicas, реализует connection routing (primary/replica) через SQLAlchemy binds. Диагностирует connection leaks и stale connections.
Проектирует схемы для высоконагруженных систем. Настраивает partitioning (range, hash). Использует LISTEN/NOTIFY для real-time. Оптимизирует pg config для workload. Настраивает logical replication.
API и интеграции · 6
Проектирует API Gateway и webhook-архитектуру. Создаёт API style guide. Реализует idempotency keys. Оценивает REST vs GraphQL vs gRPC. Проектирует backward-compatible API с deprecation strategy.
Проектирует developer portal. Автоматизирует генерацию SDK из OpenAPI. Настраивает versioned documentation. Создаёт interactive examples. Внедряет docs-as-code подход.
Проектирует стратегию версионирования для сервиса. Автоматизирует backward-compatibility проверки. Создаёт contract tests между версиями. Проектирует маршрутизацию между версиями в API Gateway.
Проектирует API testing strategy. Внедряет contract testing (Pact). Создаёт performance tests для API. Автоматизирует security testing (OWASP ZAP). Настраивает chaos testing для API.
Проектирует gRPC API для микросервисной архитектуры: определяет стратегию версионирования proto-файлов, настраивает gRPC-gateway для REST-совместимости, реализует health-checking и graceful shutdown. Оптимизирует производительность через connection pooling и keepalive-параметры.
Проектирует distributed rate limiting для Python-микросервисов: реализует sliding window counter через Redis Lua scripts для атомарности, настраивает rate limiting на API Gateway уровне (Kong, AWS API Gateway). Проектирует adaptive throttling с dynamic limits на основе backend health и load.
Облако и инфраструктура · 5
Проектирует сетевую инфраструктуру для Python-платформы: multi-AZ, cross-region replication, CDN для статики. Настраивает service mesh для микросервисов. Внедряет mTLS, network policies. Оптимизирует сетевые вызовы через connection pooling и keep-alive.
Проектирует AWS-архитектуру для production. Оптимизирует cost. Настраивает multi-AZ для HA. Использует Lambda для serverless. Настраивает CloudFront CDN.
Проектирует Docker strategy для микросервисов. Оптимизирует build pipeline. Настраивает private registry. Реализует rootless containers. Проектирует dev environments.
Проектирует K8s манифесты для микросервисов. Настраивает resource limits и QoS. Использует PodDisruptionBudgets. Настраивает RBAC. Оптимизирует scheduling.
Проектирует Terraform-архитектуру для Python-платформы: переиспользуемые модули, multi-account стратегия, blue-green deployments. Автоматизирует provisioning через CI/CD. Внедряет policy-as-code через Sentinel/OPA.
DevOps и CI/CD · 1
Проектирует CI/CD strategy для микросервисов. Создаёт custom actions. Настраивает deploy pipelines с approvals. Внедряет quality gates и security scanning.
Тестирование и QA · 2
Проектирует integration testing strategy. Создаёт test environments. Автоматизирует contract testing. Тестирует failure scenarios.
Проектирует test architecture для проекта. Создаёт custom fixtures и plugins. Оптимизирует скорость тестов (parallel, selective). Тестирует сложные сценарии (state machines, race conditions).
Безопасность · 3
Проектирует secure-by-default архитектуру. Реализует defense in depth. Проводит код-аудит на безопасность. Настраивает automated security testing.
Проектирует auth-архитектуру для микросервисов. Внедряет service-to-service auth (mTLS, JWT). Настраивает RBAC/ABAC. Реализует token introspection и revocation.
Проводит security review кода. Настраивает SAST/DAST сканирование. Проектирует security-first архитектуру. Реализует defense in depth.
Архитектура и проектирование · 4
Проектирует distributed системы. Применяет паттерны: Circuit Breaker, Bulkhead, Retry. Проектирует для fault tolerance и graceful degradation. Оценивает capacity planning.
Проектирует CQRS-архитектуру для Python-сервисов: определяет границы применимости паттерна, выбирает стратегию синхронизации read models (sync vs async projections), реализует event-driven проекции через Kafka/RabbitMQ. Интегрирует CQRS с event sourcing для полной аудитируемости изменений.
Проектирует декомпозицию Python-микросервисов: определяет границы bounded contexts, выделяя Django/FastAPI сервисы, реализует CQRS с раздельными моделями чтения/записи. Управляет консистентностью данных через паттерн Saga с Celery или Temporal workflows. Оценивает гранулярность сервисов: балансирует накладные расходы Python-рантайма и преимущества декомпозиции. Реализует контрактное тестирование с Pact.
Применяет тактические паттерны DDD в Python: агрегаты с SQLAlchemy unit-of-work, Domain Events через event bus, Specification pattern с filter objects. Проектирует границы агрегатов через Python protocols. Балансирует rich domain model с Pythonic-простотой.
Observability и мониторинг · 3
Проектирует logging strategy для микросервисов. Настраивает centralized logging (EFK, Loki). Создаёт dashboards для log analysis. Оптимизирует объём логов. Внедряет alerting на основе логов.
Проектирует monitoring strategy для сервисов. Настраивает SLI/SLO мониторинг. Создаёт RED/USE dashboards. Оптимизирует cardinality. Настраивает recording rules.
Определяет и реализует комплексные SLO для портфелей Python-сервисов с алертами burn rate, коррелированными со здоровьем workers и метриками event loop. Создаёт SLO-дашборды по Django/FastAPI сервисам с распределённой трассировкой через OpenTelemetry. Управляет error budgets и проводит post-mortem анализ. Проектирует graceful degradation с паттернами circuit breaker и приоритизацией асинхронных задач.
Контроль версий и коллаборация · 2
Проводит архитектурные review. Фокусируется на design решениях. Менторит через review. Автоматизирует проверки (linters, CODEOWNERS). Оценивает trade-offs.
Определяет branching strategy (GitFlow, trunk-based). Настраивает branch protection rules. Использует git worktrees. Оптимизирует git для large repositories. Восстанавливает данные через reflog.
Дополнительные навыки
Команда их не оценивает, но они входят в самооценку и план развития.
Что меняется на Lead
70 навыков получают более высокое ожидание или становятся ключевыми при переходе с Senior на Lead. Сначала самые большие скачки.
- Алгоритмы и сложность: Продвинутый → Эксперт
- Асинхронное программирование: Продвинутый → Эксперт
- Декомпозиция на микросервисы: Применение → Продвинутый
- Документирование API: Продвинутый → Эксперт
- Индексирование БД: Продвинутый → Эксперт
- Интеграционное тестирование: Продвинутый → Эксперт
- Качество кода и рефакторинг: Продвинутый → Эксперт
- Миграции БД: Продвинутый → Эксперт
- Многопоточное программирование: Продвинутый → Эксперт
- Оптимизация запросов: Продвинутый → Эксперт
} в открытой матрице компетенций: 75 навыков на 5 уровнях. Матрица бесплатна для специалистов и останется бесплатной.