Применяет алгоритмическую экспертизу в Go-разработке: проектирование конкурентных алгоритмов с горутинами и каналами, паттерны work-stealing планирования, эффективная сортировка для больших датасетов с минимальными аллокациями. Проектирует алгоритмы rate limiting и circuit breaker для распределённых Go-сервисов.
Роли · Backend Developer (Go) · Senior
Что должен уметь Senior }
53 ключевых навыков, всего 71. Ожидания по каждому навыку и что меняется на следующем уровне.
На этой странице — что ожидается от Senior }, навык за навыком. Ключевые навыки оценивают руководитель и коллеги в цикле ревью; остальные учитываются только в самооценке. Основные области: Основы программирования, Backend Development, Базы данных.
Ключевые навыки для Senior
Сгруппированы по областям. Метка справа — ожидаемая глубина: Осведомлённость, Применение, Продвинутый или Эксперт.
Основы программирования · 8
Проектирует async-архитектуры в Go: паттерны пулов горутин, архитектуры пайплайнов на каналах, проброс отмены через context. Менторит команду по предотвращению утечек горутин, предотвращению race conditions и эффективным паттернам конкурентности.
Проектирует стандарты качества кода для Go-проектов: конфигурация golangci-lint, паттерны проектирования интерфейсов, конвенции обработки ошибок. Рефакторит сложные системы на горутинах для ясности и защиты от race conditions. Устанавливает идиоматические Go-гайдлайны ревью: пробрасывание контекста, использование каналов, структура пакетов.
Обладает глубокой экспертизой в конкурентности Go: проектирует конкурентные системы с правильным управлением жизненным циклом горутин, внедряет продвинутые паттерны каналов (fan-in/fan-out, pipeline), оптимизирует тюнинг планировщика Go runtime для высокопроизводительных сервисов. Менторит команду по паттернам конкурентности Go для продакшен-систем.
Обладает глубокой экспертизой в паттернах проектирования для Go: проектирует чистые архитектуры с абстракциями на основе интерфейсов, внедряет Go-идиоматичные паттерны, заменяющие классические ООП-подходы, оптимизирует конкурентные паттерны с goroutines и каналами. Менторит команду по Go-специфичным архитектурным паттернам для продакшен-систем.
Применяет принципы SOLID в композиционном дизайне Go: interface segregation с маленькими сфокусированными интерфейсами, dependency inversion через constructor injection, single responsibility в организации пакетов. Проектирует чистые Go-архитектуры с использованием композиции вместо наследования, embedding для переиспользования поведения и паттернов удовлетворения интерфейсов.
Выбирает оптимальные структуры данных для Go-приложений: sync.Map для паттернов конкурентного доступа, кольцевые буферы для высокопроизводительных пайплайнов, очереди на каналах для коммуникации горутин. Оптимизирует layout памяти с выравниванием структур и пре-аллокацией слайсов. Проектирует zero-allocation обработку данных с использованием unsafe.Pointer при обоснованной необходимости.
Проектирует memory-оптимизированные архитектуры Go-сервисов: кастомные аллокаторы для горячих путей, zero-allocation обработка JSON/protobuf и memory-mapped file I/O. Тюнит параметры GC (GOGC, GOMEMLIMIT) для latency-sensitive сервисов. Реализует мониторинг memory pressure и graceful degradation. Менторит команду по escape analysis, снижению аллокаций и pprof-driven оптимизации.
Backend Development · 6
Проектирует messaging-системы на Go: реализует transactional outbox через database polling или CDC, проектирует idempotent consumers с deduplication, настраивает message ordering гарантии. Оптимизирует throughput через batch processing и zero-allocation serialization.
Реализует многоуровневое кэширование в Go-сервисах: in-process кэш через groupcache/ristretto, Redis как L2, HTTP-кэширование с ETag. Применяет cache stampede protection через singleflight и мониторит эффективность кэша через pprof и метрики.
Реализует Kafka-продюсеры и консьюмеры на Go с использованием confluent-kafka-go или segmentio/kafka-go. Настраивает consumer groups, управляет оффсетами, обрабатывает ошибки через Dead Letter Queue и обеспечивает exactly-once семантику с идемпотентными обработчиками.
Проектирует решения на основе Go Web Frameworks для production-систем. Оптимизирует производительность и масштабируемость. Выбирает между альтернативными подходами. Менторит команду.
Проектирует высокопроизводительные NATS/JetStream-архитектуры в Go-сервисах. Реализует consumer groups, key-value stores и stream mirroring для устойчивых событийных систем. Менторит команду по паттернам обмена сообщениями.
Интегрирует Redis в Go-сервисы через go-redis/redis: реализует кэширование с TTL, distributed locks через Redlock, pub/sub для инвалидации. Применяет пайплайнинг команд для снижения latency и мониторит hit rate через Prometheus client_golang.
Базы данных · 8
Проектирует оптимальные индексы для Go-сервисов: составные, частичные, GIN/GiST индексы в PostgreSQL, индексы ClickHouse. Анализирует pg_stat_user_indexes для выявления неиспользуемых индексов, настраивает мониторинг index bloat через Prometheus.
Разрабатывает безопасные миграции для production Go-сервисов: zero-downtime ALTER через добавление новых столбцов, backfill-скрипты, миграции с блокировкой через pg_advisory_lock. Настраивает автоматический прогон миграций в CI/CD-пайплайне.
Оптимизирует сложные SQL-запросы в Go-сервисах: CTE, оконные функции, оптимизация JOIN-стратегий. Профилирует время запросов через pgx tracing, настраивает slow query log и анализирует pg_stat_statements для выявления проблемных паттернов.
Проектирует оптимальные схемы данных для Go-микросервисов: стратегии денормализации для read-heavy нагрузок, JSON-столбцы в PostgreSQL, партиционирование. Разрабатывает domain-модели через чистую архитектуру с разделением на entities и value objects.
Проектирует шардирование для Go-микросервисов: разрабатывает sharding middleware с pluggable shard key strategies, реализует online resharding с dual-write pattern, настраивает Vitess интеграцию для Go-приложений. Оптимизирует connection management для 100+ шардов через pgbouncer/ProxySQL.
Интегрирует ClickHouse в Go-сервисы для аналитических задач: batch-вставки через clickhouse-go с буферизацией, материализованные представления, настройка партиционирования по дате. Оптимизирует запросы с учётом MergeTree-движков и колоночного хранения.
Проектирует connection management для Go-микросервисов: настраивает read/write pool separation для replica routing, реализует connection warming при startup, проектирует graceful connection drain при shutdown. Оптимизирует pool для high-concurrency scenarios с учётом goroutine scheduling.
Оптимизирует работу с PostgreSQL в Go: использует pgxpool для управления пулом соединений, применяет COPY протокол для bulk-операций, реализует advisory locks. Анализирует EXPLAIN ANALYZE для оптимизации запросов и настраивает мониторинг через pg_stat_statements.
API и интеграции · 6
Разрабатывает стратегию документирования API для Go-сервисов: автогенерация из protobuf для gRPC, contract-first подход для REST. Внедряет API changelog, примеры интеграции и SDK-документацию, настраивает валидацию соответствия кода спецификации.
Проектирует стратегию версионирования для Go-микросервисов: semantic versioning для API, автоматическое обнаружение breaking changes через protobuf/OpenAPI diff. Реализует graceful migration между версиями с поддержкой canary-развёртываний.
Проектирует высоконагруженные gRPC-сервисы на Go: оптимизирует через connection multiplexing, настраивает load balancing (round-robin, weighted) на клиентской стороне, реализует graceful shutdown с drain-периодом. Интегрирует gRPC с OpenTelemetry для distributed tracing и настраивает TLS/mTLS.
Разрабатывает продвинутые gRPC-сервисы на Go: bidirectional streaming, deadline propagation через context, retry policies через grpc-middleware. Оптимизирует сериализацию protobuf, настраивает connection pooling и load balancing через gRPC name resolver.
Проектирует rate limiting архитектуру для Go-микросервисов: реализует local + global rate limiting через sidecar pattern, настраивает rate limiting в service mesh (Envoy/Istio), проектирует backpressure mechanisms через Go channels. Оптимизирует Redis-based rate limiter для minimal latency overhead.
Разрабатывает масштабируемые REST API на Go: graceful shutdown через context.Context, версионирование через URL/headers, HATEOAS-ссылки. Применяет Clean Architecture с разделением на handlers/services/repositories, настраивает OpenAPI-генерацию через swaggo.
Облако и инфраструктура · 5
Проектирует сетевую архитектуру для Go-микросервисов: service mesh networking, mutual TLS, network policies в Kubernetes. Оптимизирует TCP-параметры для высоконагруженных Go-сервисов, настраивает DNS caching и connection reuse для минимизации latency.
Проектирует cloud-native Go-архитектуру на AWS: Lambda с custom Go runtime, API Gateway, DynamoDB для serverless-сценариев. Оптимизирует cold start, применяет Infrastructure as Code через CDK/Terraform, настраивает cross-region репликацию и disaster recovery.
Проектирует стратегию контейнеризации Go-сервисов: distroless-образы для security, BuildKit кэширование модулей, сканирование уязвимостей через Trivy. Оптимизирует CI/CD-пайплайн для быстрой сборки с layer caching, настраивает multi-arch builds для ARM/AMD64.
Проектирует Kubernetes-деплоймент для Go-микросервисов: Helm charts с values для разных окружений, Pod Disruption Budgets, resource quotas оптимизированные под Go runtime. Настраивает service mesh (Istio/Linkerd) для traffic management и mutual TLS между Go-сервисами.
Проектирует модульную архитектуру Terraform для Go-микросервисов на Kubernetes. Создаёт переиспользуемые модули для кластеров GKE/EKS, service mesh и стеков наблюдаемости. Реализует Terragrunt для DRY мульти-кластерных конфигураций. Внедряет policy as code (OPA/Kyverno) для compliance инфраструктуры. Автоматизирует детекцию и reconciliation drift.
DevOps и CI/CD · 1
Проектирует продвинутые CI/CD пайплайны для Go-микросервисов: matrix builds, reusable workflows, security scanning с Trivy и gosec. Оптимизирует время сборки через кэширование и параллелизм, настраивает canary-деплой и автоматический rollback.
Тестирование и QA · 3
Проектирует стратегию интеграционного тестирования Go-сервисов: testcontainers-go для всех зависимостей, contract testing через Pact для межсервисного взаимодействия. Реализует test fixtures factory, параллельный запуск с изоляцией через отдельные database schemas.
Внедряет TDD-культуру в Go-разработку: проектирует тестируемую архитектуру с dependency injection, использует interfaces для мокирования через mockgen/mockery. Разрабатывает acceptance-тесты через httptest и testcontainers-go, настраивает coverage-отчёты в CI.
Разрабатывает продвинутые тестовые стратегии на Go: property-based тесты через rapid, fuzz-тестирование через go test -fuzz, benchmark-тесты для критичных путей. Создаёт test helpers и custom matchers для testify, настраивает parallel test execution для ускорения CI.
Безопасность · 3
Проектирует безопасную архитектуру Go-сервисов: secrets management через HashiCorp Vault, mutual TLS для межсервисной коммуникации, audit logging. Внедряет static analysis через gosec с кастомными правилами, проводит threat modeling и security code review.
Проектирует систему аутентификации и авторизации для Go-микросервисов: централизованный auth-сервис, token propagation через context, RBAC/ABAC. Реализует token rotation, revocation через Redis blacklist, настраивает mutual TLS для service-to-service аутентификации.
Проектирует защиту Go-сервисов по OWASP: threat modeling для API, реализация WAF-правил, security headers, CSP. Внедряет dependency scanning через govulncheck, настраивает SAST/DAST в CI-пайплайне, проводит security review кода команды.
AI-ассистированная разработка · 1
Оптимизирует Go-разработку через Copilot: генерация сложных архитектурных компонентов, интеграционных тестов, инфраструктурного кода. Настраивает .github/copilot-instructions.md для проектных конвенций Go, обучает Copilot контексту микросервисной архитектуры.
Архитектура и проектирование · 4
Проектирует декомпозицию Go-систем: определяет границы сервисов через domain analysis, event storming, data ownership. Реализует saga pattern через Kafka для distributed transactions, проектирует shared libraries и Go SDK для общей функциональности.
Разрабатывает архитектуру Go-микросервисов: event-driven через Kafka, CQRS для read/write разделения, saga pattern для distributed transactions. Проектирует API contracts, определяет границы сервисов и стратегии данных, документирует через Architecture Decision Records.
Проектирует CQRS-архитектуру для Go-микросервисов: реализует event-driven проекции через Watermill или custom event bus, настраивает async projection rebuilds с checkpoint tracking, обеспечивает idempotency проекций. Оптимизирует read models для специфических query patterns с materialized views.
Проектирует высоконагруженные Go-сервисы: горизонтальное масштабирование, шардирование данных, асинхронная обработка через Kafka. Оптимизирует Go runtime (GOGC, GOMAXPROCS), применяет zero-allocation паттерны, настраивает load testing через k6/vegeta.
Observability и мониторинг · 4
Проектирует стратегию логирования для Go-сервисов: корреляция логов через trace_id/span_id из OpenTelemetry, dynamic log levels, audit logging. Оптимизирует производительность логирования через zero-allocation zerolog, настраивает log aggregation в Loki/ELK.
Проектирует observability-стратегию на OpenTelemetry для Go-сервисов: custom instrumentation, tail-based sampling, trace-based testing. Разрабатывает middleware для автоматической корреляции traces/logs/metrics, оптимизирует overhead tracing для production.
Проектирует систему мониторинга для Go-микросервисов: стандартные метрики через middleware, cardinality management, federation Prometheus. Разрабатывает SLO-based alerting, custom Prometheus exporters на Go, оптимизирует запросы PromQL для сложных дашбордов.
Определяет и реализует комплексные SLO для портфелей Go-сервисов с мультисигнальным алертингом burn rate. Создаёт SLO-дашборды, коррелирующие метрики задержки, частоты ошибок и насыщения через распределённую трассировку. Управляет error budgets, влияя на решения о скорости релизов. Проводит структурированный post-mortem анализ и координирует кросс-сервисное реагирование на инциденты. Проектирует паттерны graceful degradation с circuit breakers и load shedding.
Контроль версий и коллаборация · 2
Выполняет архитектурный code review Go-микросервисов: оценка API-контрактов, паттернов конкурентности, performance-характеристик. Анализирует escape analysis и аллокации через benchmarks, ревьюит миграции БД и Kubernetes-манифесты, менторит через PR-комментарии.
Проектирует Git-стратегию для Go-микросервисов: mono-repo vs multi-repo с Go modules, настройка CODEOWNERS, branch protection rules. Оптимизирует CI для больших Go-репозиториев через sparse checkout и path-based triggers, внедряет conventional commits.
Performance Engineering · 2
Проектирует стратегию CPU-профилирования Go-сервисов: continuous profiling через Parca/Pyroscope, production-safe sampling. Оптимизирует критические пути через escape analysis, inline hints, SIMD-оптимизации. Настраивает автоматические regression benchmarks в CI через benchstat.
Проектирует low-latency Go-сервисы: zero-allocation hot paths, pre-allocated buffers, GOGC/GOMEMLIMIT тюнинг для минимизации GC-пауз. Применяет connection multiplexing, batch processing, prefetching. Настраивает p99 latency мониторинг через Prometheus histograms.
Дополнительные навыки
Команда их не оценивает, но они входят в самооценку и план развития.
Что меняется на Lead
68 навыков получают более высокое ожидание или становятся ключевыми при переходе с Senior на Lead. Сначала самые большие скачки.
- Алгоритмы и сложность: Продвинутый → Эксперт
- Асинхронное программирование: Продвинутый → Эксперт
- Декомпозиция на микросервисы: Продвинутый → Эксперт
- Документирование API: Продвинутый → Эксперт
- Индексирование БД: Продвинутый → Эксперт
- Интеграционное тестирование: Продвинутый → Эксперт
- Качество кода и рефакторинг: Продвинутый → Эксперт
- Миграции БД: Продвинутый → Эксперт
- Многопоточное программирование: Продвинутый → Эксперт
- Оптимизация запросов: Продвинутый → Эксперт
} в открытой матрице компетенций: 71 навыков на 5 уровнях. Матрица бесплатна для специалистов и останется бесплатной.