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

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

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

Junior

0-2 года

Текущий

Ответственность: Разработка HTTP-хендлеров и middleware. Написание unit-тестов. Работа с SQL через database/sql или GORM. Исправление багов. Изучение идиом Go (goroutines, channels).

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

Apache Kafka Нужно
ClickHouse Нужно
Connection Pooling Нужно
Go Web Frameworks Нужно
gRPC и Protocol Buffers Нужно
gRPC и Protocol Buffers Нужно
NATS / NATS JetStream Нужно
PostgreSQL Нужно
Rate Limiting и Throttling Нужно
Redis Нужно
REST API Design Нужно
Алгоритмы и сложность Нужно
Асинхронное программирование Нужно
Документирование API Нужно
Индексирование БД Нужно
Качество кода и рефакторинг Нужно
Миграции БД Нужно
Многопоточное программирование Нужно
Оптимизация запросов Нужно
Основы сетей Нужно
Паттерны Message Brokers Нужно
Паттерны проектирования Нужно
Принципы ООП и SOLID Нужно
Проектирование схем данных Нужно
Стратегии версионирования API Нужно
Стратегии кэширования Нужно
Структуры данных Нужно
Управление памятью Нужно

Middle

2-5 лет

Следующий

Ответственность: Самостоятельная разработка микросервисов. Проектирование gRPC/REST API. Работа с конкурентностью (goroutines, channels, sync). Профилирование и оптимизация. Code review.

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

Apache Kafka Нужно
ClickHouse Нужно
Connection Pooling Нужно
CQRS Нужно
Go Web Frameworks Нужно
gRPC и Protocol Buffers Нужно
gRPC и Protocol Buffers Нужно
NATS / NATS JetStream Нужно
PostgreSQL Нужно
Rate Limiting и Throttling Нужно
Redis Нужно
REST API Design Нужно
SLI / SLO / SLA Нужно
Terraform Нужно
Алгоритмы и сложность Нужно
Асинхронное программирование Нужно
Документирование API Нужно
Индексирование БД Нужно
Качество кода и рефакторинг Нужно
Миграции БД Нужно
Многопоточное программирование Нужно
Оптимизация запросов Нужно
Основы сетей Нужно
Паттерны Message Brokers Нужно
Паттерны проектирования Нужно
Принципы ООП и SOLID Нужно
Проектирование схем данных Нужно
Стратегии версионирования API Нужно
Стратегии кэширования Нужно
Структуры данных Нужно
Управление памятью Нужно
Шардирование БД Нужно
Переход: ~2-3 года
  • Самостоятельно реализовал 3+ проекта
  • Провёл успешные код-ревью
  • Участвовал в разрешении production инцидентов

Senior

5-8 лет

Ответственность: Проектирование архитектуры высоконагруженных сервисов. Глубокая оптимизация (pprof, escape analysis). Разработка shared-библиотек. Выбор между Go и другими языками для задач.

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

Apache Kafka Нужно
AWS Нужно
ClickHouse Нужно
Code Review Нужно
Connection Pooling Нужно
CPU Profiling Нужно
CQRS Нужно
Docker Нужно
Git Advanced Нужно
GitHub Actions / GitLab CI Нужно
GitHub Copilot Нужно
Go Web Frameworks Нужно
gRPC и Protocol Buffers Нужно
gRPC и Protocol Buffers Нужно
Highload архитектура Нужно
JWT / OAuth2 / OIDC Нужно
Kubernetes Core Нужно
Latency Optimization Нужно
NATS / NATS JetStream Нужно
OpenTelemetry Нужно
OWASP и безопасность приложений Нужно
PostgreSQL Нужно
Prometheus и Grafana Нужно
Rate Limiting и Throttling Нужно
Redis Нужно
REST API Design Нужно
SLI / SLO / SLA Нужно
TDD и BDD Нужно
Terraform Нужно
Unit-тестирование Нужно
Алгоритмы и сложность Нужно
Асинхронное программирование Нужно
Декомпозиция на микросервисы Нужно
Документирование API Нужно
Индексирование БД Нужно
Интеграционное тестирование Нужно
Качество кода и рефакторинг Нужно
Миграции БД Нужно
Многопоточное программирование Нужно
Оптимизация запросов Нужно
Основы System Design Нужно
Основы сетей Нужно
Паттерны Message Brokers Нужно
Паттерны проектирования Нужно
Практики безопасного кода Нужно
Принципы ООП и SOLID Нужно
Проектирование схем данных Нужно
Стратегии версионирования API Нужно
Стратегии кэширования Нужно
Структурированное логирование Нужно
Структуры данных Нужно
Управление памятью Нужно
Шардирование БД Нужно
Переход: ~2-3 года
  • Самостоятельно реализовал 3+ проекта
  • Провёл успешные код-ревью
  • Участвовал в разрешении production инцидентов

Lead / Staff

7-12 лет

Ответственность: Архитектура микросервисной платформы. Стандартизация подходов к разработке на Go. Проектирование gRPC service mesh. Координация с Platform Engineering. Roadmap.

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

Apache Kafka Нужно
AWS Нужно
ClickHouse Нужно
Code Review Нужно
Connection Pooling Нужно
CPU Profiling Нужно
CQRS Нужно
Docker Нужно
Git Advanced Нужно
GitHub Actions / GitLab CI Нужно
GitHub Copilot Нужно
Go Web Frameworks Нужно
gRPC и Protocol Buffers Нужно
gRPC и Protocol Buffers Нужно
Highload архитектура Нужно
JWT / OAuth2 / OIDC Нужно
Kubernetes Core Нужно
Latency Optimization Нужно
NATS / NATS JetStream Нужно
OpenTelemetry Нужно
OWASP и безопасность приложений Нужно
PostgreSQL Нужно
Prometheus и Grafana Нужно
Rate Limiting и Throttling Нужно
Redis Нужно
REST API Design Нужно
TDD и BDD Нужно
Terraform Нужно
Unit-тестирование Нужно
Алгоритмы и сложность Нужно
Асинхронное программирование Нужно
Декомпозиция на микросервисы Нужно
Документирование API Нужно
Индексирование БД Нужно
Интеграционное тестирование Нужно
Качество кода и рефакторинг Нужно
Миграции БД Нужно
Многопоточное программирование Нужно
Оптимизация запросов Нужно
Основы System Design Нужно
Паттерны Message Brokers Нужно
Паттерны проектирования Нужно
Практики безопасного кода Нужно
Принципы ООП и SOLID Нужно
Проектирование схем данных Нужно
Стратегии версионирования API Нужно
Стратегии кэширования Нужно
Структурированное логирование Нужно
Структуры данных Нужно
Управление памятью Нужно
Шардирование БД Нужно
Переход: ~2-3 года
  • Самостоятельно реализовал 3+ проекта
  • Провёл успешные код-ревью
  • Участвовал в разрешении production инцидентов

Principal

10+ лет

Ответственность: Архитектурные решения на уровне компании. Стандарт Go best practices. Контрибуции в open-source Go-экосистему. Масштабирование инженерной организации.

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

Apache Kafka Нужно
AWS Нужно
ClickHouse Нужно
Code Review Нужно
CPU Profiling Нужно
Docker Нужно
Git Advanced Нужно
GitHub Actions / GitLab CI Нужно
GitHub Copilot Нужно
Go Web Frameworks Нужно
gRPC и Protocol Buffers Нужно
Highload архитектура Нужно
JWT / OAuth2 / OIDC Нужно
Kubernetes Core Нужно
Latency Optimization Нужно
NATS / NATS JetStream Нужно
OpenTelemetry Нужно
OWASP и безопасность приложений Нужно
PostgreSQL Нужно
Prometheus и Grafana Нужно
Rate Limiting и Throttling Нужно
Redis Нужно
REST API Design Нужно
TDD и BDD Нужно
Unit-тестирование Нужно
Алгоритмы и сложность Нужно
Асинхронное программирование Нужно
Декомпозиция на микросервисы Нужно
Документирование API Нужно
Индексирование БД Нужно
Интеграционное тестирование Нужно
Качество кода и рефакторинг Нужно
Миграции БД Нужно
Многопоточное программирование Нужно
Оптимизация запросов Нужно
Основы System Design Нужно
Паттерны проектирования Нужно
Практики безопасного кода Нужно
Принципы ООП и SOLID Нужно
Проектирование схем данных Нужно
Стратегии версионирования API Нужно
Стратегии кэширования Нужно
Структурированное логирование Нужно
Структуры данных Нужно
Управление памятью Нужно
Переход: ~2-3 года
  • Самостоятельно реализовал 3+ проекта
  • Провёл успешные код-ревью
  • Участвовал в разрешении production инцидентов

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

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

Apache Kafka

Самостоятельно реализует задачи с Apache Kafka в gin/echo/fiber. Понимает внутреннее устройство и оптимизирует производительность. Пишет тесты с помощью go test.

ClickHouse

Самостоятельно проектирует схемы и оптимизирует запросы с ClickHouse. Понимает индексирование и планы выполнения запросов. Использует sqlx/GORM эффективно.

Connection Pooling

Оптимизирует connection pooling в Go: рассчитывает оптимальные pool параметры на основе workload, настраивает pgxpool для PostgreSQL с подготовленными выражениями, реализует connection health checking. Мониторит pool stats через sql.DBStats и custom metrics.

CQRS

Реализует CQRS в Go-проектах: создает отдельные пакеты для commands и queries, использует interface-based dispatch для command/query bus, проектирует read-optimized структуры (denormalized views) отдельно от write models. Применяет Go channels для internal event propagation между моделями.

Go Web Frameworks

Самостоятельно реализует задачи с Go Web Frameworks в gin/echo/fiber. Понимает внутреннее устройство и оптимизирует производительность. Пишет тесты с помощью go test.

gRPC и Protocol Buffers

Проектирует gRPC-сервисы на Go: определяет .proto-контракты с message validation, реализует unary и server-streaming RPC. Настраивает grpc-gateway для REST-прокси, применяет interceptors для логирования, аутентификации и трейсинга через OpenTelemetry.

gRPC и Protocol Buffers

Уверенно разрабатывает gRPC-сервисы на Go: реализует все типы RPC (unary, server/client/bidirectional streaming), настраивает interceptors для трейсинга и метрик, использует metadata для передачи контекста. Применяет grpc-middleware для стандартных cross-cutting concerns.

NATS / NATS JetStream

Самостоятельно реализует задачи с NATS / NATS JetStream в gin/echo/fiber. Понимает внутреннее устройство и оптимизирует производительность. Пишет тесты с помощью go test.

PostgreSQL

Самостоятельно проектирует схемы и оптимизирует запросы с PostgreSQL. Понимает индексирование и планы выполнения запросов. Использует sqlx/GORM эффективно.

Rate Limiting и Throttling

Реализует rate limiting в Go-сервисах: использует go-redis/redis_rate для distributed rate limiting, реализует per-key limiting с custom key extraction (IP, user ID, API key). Применяет GCRA (Generic Cell Rate Algorithm) для smooth traffic shaping и настраивает response headers.

Redis

Самостоятельно реализует задачи с Redis в gin/echo/fiber. Понимает внутреннее устройство и оптимизирует производительность. Пишет тесты с помощью go test.

REST API Design

Проектирует REST API на Go с полной CRUD-функциональностью через Gin/Echo/Chi: валидация входных данных, пагинация, фильтрация, сортировка. Реализует middleware-цепочки для аутентификации, CORS, request ID и structured logging через zerolog/zap.

SLI / SLO / SLA

Определяет SLI для Go-сервисов — p99 задержку из метрик middleware, частоту ошибок из структурированных логов и доступность из health checks. Настраивает мониторинг SLI на базе Prometheus с recording rules. Понимает error budgets и управляет ими для итеративных релизов функций. Участвует в ротации дежурств Go-сервисов.

Terraform

Пишет Terraform конфигурации для облачных ресурсов (VPC, EC2/Compute, RDS, S3). Использует modules для переиспользования. Работает с remote state (S3/GCS backend). Использует workspaces или directories для разных окружений. Импортирует существующие ресурсы.

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

Самостоятельно применяет алгоритмическое мышление в Go: выбирает эффективную сортировку/поиск для обработки данных, понимает последствия планирования горутин, оценивает паттерны конкурентных алгоритмов с каналами. Анализирует сложность пайплайнов обработки данных в Go-сервисах.

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

Самостоятельно применяет асинхронное программирование в Go: горутины с правильным управлением жизненным циклом, паттерны координации на основе каналов, проброс context для отмены. Понимает компромиссы между каналами и примитивами sync, паттерны fan-out/fan-in.

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

Поддерживает полную OpenAPI-документацию для Go-сервисов через swaggo: описание моделей, примеры запросов/ответов, аутентификация. Настраивает автоматическую генерацию документации в CI и публикацию через Swagger UI или Redoc.

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

Самостоятельно проектирует схемы и оптимизирует запросы с Индексирование БД. Понимает индексирование и планы выполнения запросов. Использует sqlx/GORM эффективно.

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

Самостоятельно применяет практики качества кода в Go-разработке. Пишет идиоматичный Go-код с правильной обработкой ошибок, использованием context и управлением горутинами. Понимает компромиссы между простотой дизайна интерфейсов и гибкостью. Ревьюит код на race conditions, утечки ресурсов и ясность структуры пакетов.

Миграции БД

Самостоятельно проектирует схемы и оптимизирует запросы с Миграции БД. Понимает индексирование и планы выполнения запросов. Использует sqlx/GORM эффективно.

Многопоточное программирование

Самостоятельно применяет многопоточность в Go: горутины с правильным управлением жизненным циклом, каналы для безопасной межгорутинной коммуникации, sync.WaitGroup и context для координации, select для мультиплексирования операций каналов. Обосновывает компромиссы паттернов конкурентности Go на code review.

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

Самостоятельно проектирует схемы и оптимизирует запросы с Оптимизация запросов. Понимает индексирование и планы выполнения запросов. Использует sqlx/GORM эффективно.

Основы сетей

Применяет сетевые знания в Go-сервисах: настройка http.Transport с connection pooling и TLS, gRPC через HTTP/2, DNS-based service discovery. Отлаживает сетевые проблемы через tcpdump/wireshark, настраивает keep-alive и timeout-политики для Go HTTP-клиентов.

Паттерны Message Brokers

Уверенно работает с message broker'ами на Go: реализует consumer groups в Kafka через segmentio/kafka-go или Sarama, настраивает NATS JetStream для durable messaging, применяет паттерны worker pool для параллельной обработки. Обрабатывает poison messages и настраивает retry с backoff.

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

Самостоятельно применяет паттерны проектирования для Go: стратегия и адаптер на основе интерфейсов, функциональные опции для конфигурации, паттерн middleware для обработки HTTP, observer/pub-sub на основе каналов. Обосновывает Go-идиоматичные альтернативы паттернов на code review.

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

Самостоятельно применяет принципы SOLID в Go: контракты сервисов на основе интерфейсов, композиция вместо наследования через встраивание структур, единственная ответственность в слоях handler/service/repository. Понимает Go-специфичные компромиссы — неявные интерфейсы, принцип «принимай интерфейсы, возвращай структуры», дизайн маленьких интерфейсов.

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

Самостоятельно проектирует схемы и оптимизирует запросы с Проектирование схем данных. Понимает индексирование и планы выполнения запросов. Использует sqlx/GORM эффективно.

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

Реализует версионирование API в Go-сервисах: параллельная поддержка нескольких версий через router groups, стратегия deprecation с Sunset-заголовками. Разрабатывает адаптеры между версиями и тесты backward compatibility через go test.

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

Самостоятельно реализует задачи с Стратегии кэширования в gin/echo/fiber. Понимает внутреннее устройство и оптимизирует производительность. Пишет тесты с помощью go test.

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

Самостоятельно выбирает подходящие структуры данных в Go: слайсы vs массивы для работы с коллекциями, maps с правильными типами ключей, каналы для паттернов коммуникации горутин. Понимает компромиссы между pointer и value receivers для инкапсуляции данных и выделения памяти.

Управление памятью

Понимает модель памяти Go: аллокация stack vs heap, escape analysis и сборщик мусора (concurrent tri-color mark-and-sweep). Профилирует использование памяти через pprof и runtime/metrics. Минимизирует heap-аллокации через семантику значений и sync.Pool. Понимает рост стека горутин и последствия для высоконагруженных сервисов.

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

Работает с шардированными БД в Go: реализует shard-aware repository layer с connection pooling per shard, применяет consistent hashing для распределения данных, обрабатывает cross-shard queries через scatter-gather pattern. Использует context для propagation shard info.