Domain
Backend Development
Skill Profile
Exchanges, queues, routing, dead letter queues, shovel, federation
Roles
6
where this skill appears
Levels
5
structured growth path
Mandatory requirements
25
the other 5 optional
Backend Development
Message Queues & Event Streaming
3/17/2026
Choose your current level and compare expectations. The items below show what to cover to advance to the next level.
The table shows how skill depth grows from Junior to Principal. Click a row to see details.
| Role | Required | Description |
|---|---|---|
| Backend Developer (C#/.NET) | Required | Uses RabbitMQ with MassTransit/EasyNetQ in .NET applications at a basic level. Publishes and consumes simple messages following established patterns. Understands exchange types, queues, and basic routing concepts. |
| Backend Developer (Elixir) | Required | Uses RabbitMQ at a basic level. Performs simple tasks using established templates. Understands basic concepts and follows team practices. |
| Backend Developer (Java/Kotlin) | Required | Works with RabbitMQ via Spring AMQP: sends messages to exchange, listens to queues via @RabbitListener. Understands exchange types (direct, topic, fanout). Handles errors through retry and DLQ. |
| Backend Developer (Node.js) | Required | Uses RabbitMQ with amqplib/amqp-connection-manager in Node.js at a basic level. Publishes and consumes simple messages following team templates. Understands basic AMQP concepts: exchanges, queues, and bindings. |
| Backend Developer (PHP) | Required | Sends and receives messages via queues. Understands exchange, queue, routing key concepts. Configures simple direct-exchange routes. Processes messages with ack/nack. |
| Backend Developer (Python) | Understands the fundamentals of RabbitMQ. Applies basic practices in daily work. Follows recommendations from the team and documentation. |
| Role | Required | Description |
|---|---|---|
| Backend Developer (C#/.NET) | Required | Independently implements RabbitMQ messaging with MassTransit in .NET: sagas, consumers, retry policies. Configures dead-letter exchanges and priority queues. Writes integration tests with TestHarness for message-driven workflows. |
| Backend Developer (Elixir) | Required | Independently implements RabbitMQ messaging in Elixir with Broadway/AMQP library. Leverages OTP supervision trees for consumer fault tolerance. Configures prefetch counts and acknowledgment strategies for reliable processing. |
| Backend Developer (Java/Kotlin) | Required | Designs RabbitMQ topology for Java services: exchange-queue bindings, routing keys, priority queues. Configures publisher confirms and consumer acknowledgment. Implements retry with exponential backoff. Monitors via Management Plugin. |
| Backend Developer (Node.js) | Required | Independently implements RabbitMQ messaging patterns in Node.js: topic exchanges, RPC, work queues with prefetch. Configures connection recovery, channel pooling, and dead-letter handling. Writes tests for async message processing flows. |
| Backend Developer (PHP) | Required | Designs exchange topology: fanout for broadcast, topic for routing, headers for complex rules. Configures dead letter queues and retry mechanisms. Ensures idempotent message processing. |
| Backend Developer (Python) | Configures routing via topic exchanges. Implements dead letter queues for error handling. Uses prefetch for load control. Configures TTL and message priority. Monitors queues via Management UI. |
| Role | Required | Description |
|---|---|---|
| Backend Developer (C#/.NET) | Required | Designs RabbitMQ-based messaging architecture for .NET microservices with MassTransit. Implements saga orchestration, outbox pattern for reliable messaging, and federation for multi-datacenter setups. Optimizes throughput with batch publishing and consumer scaling. |
| Backend Developer (Elixir) | Required | Designs RabbitMQ messaging architecture for Elixir/OTP systems. Implements custom Broadway producers with backpressure, shovel/federation for cluster bridging. Optimizes consumer concurrency leveraging BEAM scheduler capabilities. |
| Backend Developer (Java/Kotlin) | Required | Designs reliable messaging architecture: federation for geo-distributed systems, shovel for cross-cluster replication, quorum queues for consistency. Optimizes throughput and ensures message ordering. |
| Backend Developer (Node.js) | Required | Designs RabbitMQ messaging architecture for Node.js microservices. Implements reliable delivery with publisher confirms, consumer acknowledgments, and outbox patterns. Optimizes throughput with channel pooling and consumer prefetch tuning. |
| Backend Developer (PHP) | Required | Designs fault-tolerant messaging architecture: clustering, quorum queues, federation. Implements saga pattern through queues. Optimizes throughput and latency. Monitors lag and backpressure. |
| Backend Developer (Python) | Designs messaging architecture with RabbitMQ. Configures clustering and federation. Implements RPC via reply-to queues. Optimizes performance. Chooses between RabbitMQ and Kafka for the task. |
| Role | Required | Description |
|---|---|---|
| Backend Developer (C#/.NET) | Required | Defines RabbitMQ architectural standards for .NET platform. Establishes messaging conventions, topology management practices, and monitoring dashboards. Conducts design reviews for event-driven architecture with MassTransit patterns. |
| Backend Developer (Elixir) | Required | Defines architectural decisions for RabbitMQ at product level. Establishes standards. Conducts design reviews and defines technical roadmap. |
| Backend Developer (Java/Kotlin) | Required | Defines product messaging strategy: choosing between RabbitMQ and Kafka, message format standards, routing conventions. Implements monitoring and alerting for queues. |
| Backend Developer (Node.js) | Required | Defines RabbitMQ architectural standards for Node.js platform. Establishes messaging patterns, error handling conventions, and operational runbooks. Conducts design reviews for async communication patterns and queue topology decisions. |
| Backend Developer (PHP) | Required | Defines inter-service communication strategy: sync vs async, RPC vs events. Standardizes message format and contracts. Implements monitoring and alerting for queues. |
| Backend Developer (Python) | Designs messaging strategy for the platform. Determines when to use RabbitMQ vs Kafka. Optimizes infrastructure. Implements standards. |
| Role | Required | Description |
|---|---|---|
| Backend Developer (C#/.NET) | Required | Defines enterprise messaging strategy evaluating RabbitMQ vs alternatives (Azure Service Bus, Kafka). Shapes company-wide event-driven architecture standards and reference implementations. Establishes messaging governance and migration roadmaps. |
| Backend Developer (Elixir) | Required | Defines RabbitMQ strategy at company level. Evaluates new technologies and approaches. Establishes enterprise standards and reference architectures. |
| Backend Developer (Java/Kotlin) | Required | Designs organizational messaging platform: multi-protocol broker, integration patterns, event-driven communication standards across domains. Defines SLA for message delivery. |
| Backend Developer (Node.js) | Required | Defines enterprise messaging strategy evaluating RabbitMQ vs alternatives (SQS, Kafka, NATS). Shapes organization-wide async communication standards and reference architectures. Establishes messaging platform governance and technology evolution roadmap. |
| Backend Developer (PHP) | Required | Designs event-driven architecture at platform level. Chooses between message brokers for different use cases. Defines delivery guarantees and messaging layer scaling strategy. |
| Backend Developer (Python) | Defines company messaging strategy. Designs multi-protocol messaging. Evaluates managed vs self-hosted. Establishes standards. |