Домен
API и интеграции
Профиль навыка
gRPC framework, protobuf, service definitions, streaming, interceptors
Ролей
9
где встречается этот навык
Грейдов
5
сформированная дорожка роста
Обязательных требований
26
ещё 19 — необязательные
API и интеграции
Протоколы API
17.03.2026
Выберите текущий грейд и сравните ожидания. Карточки ниже покажут, что нужно закрыть для следующего уровня.
Таблица показывает, как меняется глубина владения навыком от Junior до Principal.
| Роль | Обязательность | Описание |
|---|---|---|
| Backend Developer (C#/.NET) | Понимает основы gRPC в .NET: определения proto-файлов, кодогенерация через protobuf-net/Grpc.Tools и базовые unary RPC-вызовы. Следует командным паттернам для реализации gRPC-сервисов и клиентов на ASP.NET Core gRPC. | |
| Backend Developer (Elixir) | Понимает основы gRPC в Elixir: определения proto-файлов, кодогенерация через grpc-elixir и базовые unary-вызовы. Следует командным паттернам для реализации gRPC-сервисов с моделью конкурентности Elixir и OTP supervision. | |
| Backend Developer (Go) | Обязателен | Знает основы gRPC в Go-экосистеме: умеет генерировать код из .proto через protoc-gen-go-grpc, запускать простые unary-вызовы. Понимает структуру сгенерированного кода и принцип работы Protocol Buffers для сериализации. |
| Backend Developer (Java/Kotlin) | Понимает основы gRPC в Java: определения proto-файлов, кодогенерация через protobuf-maven-plugin и базовые unary RPC-вызовы. Следует командным паттернам для реализации gRPC-сервисов со Spring Boot gRPC starter. | |
| Backend Developer (Node.js) | Понимает основы gRPC в Node.js: определения proto-файлов, кодогенерация через @grpc/proto-loader и базовые unary-вызовы. Следует командным паттернам для реализации gRPC-сервисов через grpc-js и NestJS gRPC transport. | |
| Backend Developer (PHP) | Понимает концепцию gRPC и её применимость в PHP: знает ограничения PHP для streaming-сценариев, умеет установить grpc-расширение и вызвать unary RPC. Понимает зачем PHP-проекты используют gRPC для связи с микросервисами на других языках. | |
| Backend Developer (Python) | Понимает основы gRPC в Python: определения proto-файлов, кодогенерация через grpcio-tools и базовые unary-вызовы. Следует командным паттернам для реализации gRPC-сервисов через grpcio и async-поддержку через grpclib. | |
| Backend Developer (Rust) | Понимает основы gRPC в Rust: определения proto-файлов, кодогенерация через tonic-build и базовые unary-вызовы. Следует командным паттернам для реализации gRPC-сервисов с фреймворком tonic и типобезопасной обработкой protobuf-сообщений. | |
| Backend Developer (Scala) | Понимает основы gRPC в Scala: определения proto-файлов, кодогенерация через ScalaPB и базовые unary-вызовы. Следует командным паттернам для реализации gRPC-сервисов через Akka gRPC или ZIO gRPC функциональный стриминг. |
| Роль | Обязательность | Описание |
|---|---|---|
| Backend Developer (C#/.NET) | Обязателен | Разрабатывает gRPC-сервисы на ASP.NET Core: реализует все типы RPC включая bidirectional streaming через IAsyncStreamReader/IAsyncStreamWriter, настраивает Interceptor для logging и auth, интегрирует с DI-контейнером. Использует Grpc.Net.ClientFactory для typed gRPC-клиентов. |
| Backend Developer (Elixir) | Обязателен | Разрабатывает gRPC-сервисы на Elixir: реализует gRPC-серверы через grpc-elixir с поддержкой streaming, интегрирует с OTP supervision trees для отказоустойчивости. Использует GenServer паттерны для stateful gRPC-обработки и настраивает Telemetry для метрик. |
| Backend Developer (Go) | Обязателен | Уверенно разрабатывает gRPC-сервисы на Go: реализует все типы RPC (unary, server/client/bidirectional streaming), настраивает interceptors для трейсинга и метрик, использует metadata для передачи контекста. Применяет grpc-middleware для стандартных cross-cutting concerns. |
| Backend Developer (Java/Kotlin) | Обязателен | Разрабатывает gRPC-сервисы на Java/Kotlin: реализует streaming RPC, настраивает ServerInterceptor для аутентификации и трейсинга, интегрирует с Spring Boot через grpc-spring-boot-starter. Использует async stub с ListenableFuture для неблокирующих вызовов. |
| Backend Developer (Node.js) | Обязателен | Разрабатывает gRPC-сервисы на Node.js: реализует streaming RPC, интегрирует с NestJS через @grpc/grpc-js, настраивает metadata для передачи auth-токенов и trace-контекста. Использует ts-proto или protobuf-ts для типобезопасной генерации TypeScript-кода из .proto. |
| Backend Developer (PHP) | Обязателен | Интегрирует PHP-приложения с gRPC-сервисами: генерирует PHP-клиенты из .proto через protoc, настраивает channel credentials для TLS, обрабатывает ошибки через Status codes. Использует Spiral/RoadRunner для реализации gRPC-серверов на PHP без ограничений FPM. |
| Backend Developer (Python) | Обязателен | Разрабатывает gRPC-сервисы на Python с grpcio/grpcio-tools: проектирует .proto-файлы, реализует server-side и client-side streaming, настраивает interceptors для логирования и аутентификации. Интегрирует gRPC с asyncio для неблокирующей обработки запросов. |
| Backend Developer (Rust) | Обязателен | Разрабатывает gRPC-сервисы на Rust с tonic: реализует streaming RPC с tokio-stream, настраивает Tower middleware для interceptors, использует tonic-health для health checking. Применяет Rust type system для compile-time гарантий корректности gRPC-взаимодействий. |
| Backend Developer (Scala) | Обязателен | Разрабатывает gRPC-сервисы на Scala: использует Akka gRPC или ZIO gRPC для реализации сервисов с streaming, интегрирует с Akka Streams для backpressure-aware обработки. Настраивает ScalaPB transformations для кастомизации сгенерированного кода. |
| Роль | Обязательность | Описание |
|---|---|---|
| Backend Developer (C#/.NET) | Обязателен | Проектирует gRPC-архитектуру для .NET микросервисов: настраивает gRPC-JSON transcoding для REST-совместимости, реализует health checks через Grpc.HealthCheck, оптимизирует через HTTP/2 connection management. Интегрирует с OpenTelemetry.Instrumentation.GrpcNetClient для distributed tracing. |
| Backend Developer (Elixir) | Обязателен | Проектирует gRPC-интеграцию для Elixir-систем: использует BEAM distribution для внутренней коммуникации и gRPC для cross-language взаимодействия, настраивает connection management с учётом BEAM scheduler, реализует deadline propagation через process metadata. Оптимизирует для высокой concurrency. |
| Backend Developer (Go) | Обязателен | Проектирует высоконагруженные gRPC-сервисы на Go: оптимизирует через connection multiplexing, настраивает load balancing (round-robin, weighted) на клиентской стороне, реализует graceful shutdown с drain-периодом. Интегрирует gRPC с OpenTelemetry для distributed tracing и настраивает TLS/mTLS. |
| Backend Developer (Java/Kotlin) | Обязателен | Проектирует gRPC-архитектуру для Java-микросервисов: настраивает deadline propagation через Context, реализует retry-политики с экспоненциальным backoff, интегрирует с Micrometer для метрик и Brave/OpenTelemetry для трейсинга. Оптимизирует Netty-транспорт для высоких нагрузок. |
| Backend Developer (Node.js) | Обязателен | Проектирует gRPC-архитектуру для Node.js сервисов: настраивает gRPC-Web через Envoy proxy для browser-клиентов, реализует middleware-цепочки для observability, оптимизирует event loop для высоконагруженных streaming-сценариев. Интегрирует gRPC с существующими Express/Fastify API через dual-protocol серверы. |
| Backend Developer (PHP) | Обязателен | Проектирует gRPC-интеграцию для PHP-систем: определяет какие сервисы реализовывать как gRPC-серверы (Spiral/RoadRunner) vs gRPC-клиенты, настраивает retry-логику и deadline propagation, интегрирует с OpenTelemetry для сквозного трейсинга. Оптимизирует производительность через persistent connections. |
| Backend Developer (Python) | Обязателен | Проектирует gRPC API для микросервисной архитектуры: определяет стратегию версионирования proto-файлов, настраивает gRPC-gateway для REST-совместимости, реализует health-checking и graceful shutdown. Оптимизирует производительность через connection pooling и keepalive-параметры. |
| Backend Developer (Rust) | Обязателен | Проектирует высокопроизводительные gRPC-сервисы на Rust: оптимизирует через custom allocators и zero-copy десериализацию, настраивает TLS через rustls, реализует connection pooling с Tower balance. Бенчмаркит и профилирует gRPC-сервисы для достижения максимальной пропускной способности. |
| Backend Developer (Scala) | Обязателен | Проектирует gRPC-архитектуру для Scala-микросервисов: интегрирует с Akka Cluster для распределённых gRPC-сервисов, реализует service discovery через Akka Discovery, настраивает gRPC с Kamon/OpenTelemetry для observability. Оптимизирует production конфигурацию gRPC-серверов на Akka HTTP. |
| Роль | Обязательность | Описание |
|---|---|---|
| Backend Developer (C#/.NET) | Обязателен | Стандартизирует gRPC в .NET экосистеме компании: создает NuGet-пакеты с базовыми interceptors и конфигурацией, внедряет source generators для уменьшения boilerplate, проектирует интеграцию gRPC с MassTransit/NServiceBus для гибридной коммуникации. Определяет стратегию тестирования gRPC-сервисов. |
| Backend Developer (Elixir) | Стандартизирует gRPC в Elixir-экосистеме: определяет когда использовать gRPC vs BEAM distribution vs Phoenix Channels, создает внутренние библиотеки-обёртки для упрощения gRPC-разработки. Проектирует паттерны для интеграции gRPC с GenStage/Broadway для data pipeline обработки. | |
| Backend Developer (Go) | Обязателен | Определяет архитектуру gRPC-коммуникации для Go-микросервисов: стандартизирует error-модель через google.rpc.Status, проектирует стратегию backward/forward compatibility для proto-схем, внедряет gRPC reflection для отладки. Разрабатывает внутренние фреймворки поверх gRPC для унификации сервисов. |
| Backend Developer (Java/Kotlin) | Обязателен | Стандартизирует gRPC-разработку в Java-экосистеме компании: создает code-generation плагины для единообразных сервисов, внедряет proto-lint в CI/CD, проектирует паттерны для интеграции gRPC с Kafka и Spring Cloud. Обучает команды best practices проектирования gRPC API. |
| Backend Developer (Node.js) | Обязателен | Стандартизирует gRPC-разработку в Node.js экосистеме: создает шаблоны сервисов с встроенными interceptors, определяет стратегию proto-first разработки с автоматической генерацией TypeScript SDK для клиентов. Проектирует паттерны error handling и retry для Node.js-специфичных ограничений. |
| Backend Developer (PHP) | Руководит внедрением gRPC в PHP-экосистему компании: определяет стратегию постепенной миграции с REST на gRPC для внутренних коммуникаций, стандартизирует генерацию PHP-клиентов в CI/CD, проектирует совместимость с существующим API Gateway. Обучает PHP-разработчиков работе с protobuf и gRPC. | |
| Backend Developer (Python) | Обязателен | Определяет стандарты gRPC-коммуникации в организации: выбирает стратегию управления proto-контрактами (Buf, proto-lint), внедряет service mesh интеграцию с Envoy/Istio для gRPC-трафика, проектирует паттерны retry/deadline propagation. Обучает команды правильному проектированию gRPC API. |
| Backend Developer (Rust) | Обязателен | Определяет архитектуру gRPC для Rust-экосистемы: создает procedural macros для упрощения реализации gRPC-сервисов, проектирует интеграцию с async runtime (tokio/async-std), стандартизирует error handling через thiserror и custom Status codes. Менторит команду по идиоматичному Rust для gRPC. |
| Backend Developer (Scala) | Обязателен | Стандартизирует gRPC-разработку в Scala-экосистеме: выбирает между Akka gRPC, ZIO gRPC и fs2-grpc для разных команд, создает sbt-плагины для стандартизации proto-генерации, проектирует паттерны для функционального error handling в gRPC. Определяет стратегию тестирования с akka-grpc-testkit. |
| Роль | Обязательность | Описание |
|---|---|---|
| Backend Developer (C#/.NET) | Формирует стратегию коммуникации для .NET-платформы: определяет архитектуру dual-protocol (gRPC + REST) серверов, проектирует интеграцию с Azure/AWS service mesh для gRPC, разрабатывает подход к code-first vs proto-first для разных сценариев. Влияет на развитие .NET gRPC в open-source сообществе. | |
| Backend Developer (Elixir) | Формирует коммуникационную стратегию для Elixir-платформы: определяет архитектуру polyglot-взаимодействия через gRPC между Elixir и сервисами на Go/Rust/Python, проектирует паттерны для миграции legacy REST API на gRPC. Контрибьютит в развитие grpc-elixir и protobuf-elixir. | |
| Backend Developer (Go) | Формирует стратегию gRPC на уровне всей инфраструктуры: проектирует интеграцию gRPC с service mesh (Istio, Linkerd), определяет паттерны для cross-language коммуникации, разрабатывает стратегию миграции с монолита на gRPC-микросервисы. Участвует в open-source развитии gRPC-экосистемы Go. | |
| Backend Developer (Java/Kotlin) | Определяет стратегию gRPC-коммуникации на уровне Enterprise: проектирует интеграцию с API Gateway (Kong, Envoy) для gRPC-transcoding, разрабатывает платформу для управления proto-контрактами с версионированием и dependency tracking. Влияет на выбор транспортных протоколов в контексте гибридной cloud-архитектуры. | |
| Backend Developer (Node.js) | Определяет стратегию коммуникационных протоколов для Node.js платформы: проектирует архитектуру для гибридного REST/gRPC/WebSocket API, разрабатывает внутреннюю платформу для автоматизации жизненного цикла gRPC-сервисов. Влияет на архитектурные решения по масштабированию Node.js gRPC в кластерном режиме. | |
| Backend Developer (PHP) | Формирует стратегию транспортных протоколов для гибридных PHP-систем: определяет границы применимости gRPC vs REST vs GraphQL в контексте PHP-ограничений, проектирует архитектуру для постепенного извлечения сервисов из PHP-монолита с gRPC-коммуникацией. Влияет на развитие PHP gRPC-экосистемы. | |
| Backend Developer (Python) | Формирует стратегию межсервисной коммуникации на уровне платформы: определяет когда использовать gRPC vs REST vs async messaging, проектирует инфраструктуру для proto-registry и автогенерации клиентов на разных языках. Влияет на архитектурные решения по внедрению gRPC в legacy-системы с минимальным disruption. | |
| Backend Developer (Rust) | Формирует стратегию использования Rust для критически важных gRPC-сервисов: определяет когда Rust оправдан vs Go/C++ для gRPC, проектирует FFI-интеграцию для вызова Rust gRPC-сервисов из других языков. Контрибьютит в tonic/prost экосистему и влияет на развитие gRPC в Rust-сообществе. | |
| Backend Developer (Scala) | Формирует стратегию gRPC для функциональных Scala-систем: проектирует архитектуру для polyglot gRPC-коммуникации между Scala и другими JVM/non-JVM языками, определяет подход к schema evolution для долгоживущих протоколов. Участвует в развитии Scala gRPC-экосистемы (ScalaPB, Akka gRPC). |