Dominio
Backend Development
Perfil de habilidad
Kafka, RabbitMQ, NATS — queue patterns, routing, dead letter
Roles
9
donde aparece esta habilidad
Niveles
5
ruta de crecimiento estructurada
Requisitos obligatorios
29
los otros 16 opcionales
Backend Development
Message Queues & Event Streaming
17/3/2026
Selecciona tu nivel actual y compara las expectativas.
La tabla muestra cómo crece la profundidad desde Junior hasta Principal.
| Rol | Obligatorio | Descripción |
|---|---|---|
| Backend Developer (C#/.NET) | Understands message broker patterns in .NET: publish-subscribe, request-reply, and competing consumers with MassTransit/NServiceBus. Follows team conventions for producing and consuming messages via RabbitMQ or Azure Service Bus. | |
| Backend Developer (Elixir) | Understands message broker patterns in Elixir/OTP: pub-sub with Broadway, work queues via GenStage. Follows team conventions for consuming messages from RabbitMQ/Kafka using built-in concurrency primitives and supervision trees. | |
| Backend Developer (Go) | Obligatorio | Understands message broker patterns in Go: pub-sub, fan-out, and work queues with channels and goroutines. Follows team conventions for integrating with NATS, Kafka, or RabbitMQ using Go client libraries. |
| Backend Developer (Java/Kotlin) | Understands message broker patterns in Java/Spring: pub-sub with Spring Cloud Stream, JMS templates, and Kafka listeners. Follows team conventions for producing and consuming messages with Spring Boot auto-configuration. | |
| Backend Developer (Node.js) | Understands message broker patterns in Node.js: pub-sub with BullMQ, event-driven messaging with amqplib. Follows team conventions for async message processing using queues and event emitters in Express/Fastify services. | |
| Backend Developer (PHP) | Obligatorio | Understands message broker patterns in PHP: pub-sub with Symfony Messenger, queue workers with Laravel Queues. Follows team conventions for dispatching and consuming messages using Redis, RabbitMQ, or SQS drivers. |
| Backend Developer (Python) | Understands basic message broker concepts: publish/subscribe, point-to-point, message queues. Can send and receive messages via RabbitMQ (pika) or Redis pub/sub. Knows why async communication between services is needed. | |
| Backend Developer (Rust) | Understands message broker patterns in Rust: pub-sub with lapin (AMQP), async consumers with tokio channels. Follows team conventions for type-safe message serialization with serde and reliable delivery patterns. | |
| Backend Developer (Scala) | Understands message broker patterns in Scala: pub-sub with Akka Streams/ZIO Streams, Kafka integration via Alpakka. Follows team conventions for functional message processing with effect systems and backpressure handling. |
| Rol | Obligatorio | Descripción |
|---|---|---|
| Backend Developer (C#/.NET) | Obligatorio | Works with messaging in .NET: configures MassTransit with consumer/saga, uses NServiceBus for enterprise messaging, applies Azure Service Bus with sessions for ordered processing. Implements retry policies via Polly and configures dead letter handling. |
| Backend Developer (Elixir) | Obligatorio | Works with messaging in Elixir: uses Broadway for concurrent message processing from RabbitMQ/Kafka/SQS, configures GenStage for internal event processing pipeline. Applies OTP supervisor patterns for fault-tolerant message processing with automatic restart. |
| Backend Developer (Go) | Obligatorio | Confidently works with message brokers in Go: implements consumer groups in Kafka via segmentio/kafka-go or Sarama, configures NATS JetStream for durable messaging, applies worker pool patterns for parallel processing. Handles poison messages and configures retry with backoff. |
| Backend Developer (Java/Kotlin) | Obligatorio | Works with messaging in Java ecosystem: uses Spring Kafka for Kafka integration, Spring Cloud Stream for broker abstraction, configures consumer groups and partition assignment. Applies @KafkaListener with concurrency for parallel processing and configures error handler with retry. |
| Backend Developer (Node.js) | Obligatorio | Works with message brokers in Node.js: uses KafkaJS for Kafka integration, configures NestJS microservices with RabbitMQ/Kafka transport, implements pub/sub via Redis Streams. Applies consumer groups and configures retry logic with exponential backoff. |
| Backend Developer (PHP) | Obligatorio | Works with messaging in PHP: uses Symfony Messenger with RabbitMQ/Redis transport, configures Laravel Horizon for queue monitoring, applies routing by message type. Handles failed jobs through retry and dead letter queues, configures priority queues. |
| Backend Developer (Python) | Obligatorio | Works with message brokers in Python projects: uses Celery with RabbitMQ/Redis for background tasks, implements pub/sub via confluent-kafka or aiokafka, applies competing consumers and fan-out patterns. Configures dead letter queues for error handling. |
| Backend Developer (Rust) | Obligatorio | Works with message brokers in Rust: implements consumer groups through rdkafka with offset management, uses NATS through async-nats for lightweight messaging, applies tokio channels for internal message passing. Handles backpressure through bounded channels and flow control. |
| Backend Developer (Scala) | Obligatorio | Works with messaging in Scala ecosystem: uses Alpakka Kafka with Akka Streams for reactive processing, configures consumer groups with committable sources, implements at-least-once delivery through offset committing. Applies fs2-kafka for functional stream processing with cats-effect. |
| Rol | Obligatorio | Descripción |
|---|---|---|
| Backend Developer (C#/.NET) | Obligatorio | Designs messaging architecture for .NET microservices: implements outbox pattern via EF Core with Debezium/polling publisher, configures MassTransit courier for routing slip pattern, integrates Kafka via Confluent .NET Client. Designs event-driven architecture with MediatR for internal events. |
| Backend Developer (Elixir) | Obligatorio | Designs messaging architecture for Elixir systems: defines boundaries between BEAM distribution and external brokers, implements event sourcing through Commanded framework, configures Broadway with custom acknowledger for exactly-once semantics. Optimizes concurrent processing through process pooling. |
| Backend Developer (Go) | Obligatorio | Designs messaging systems in Go: implements transactional outbox via database polling or CDC, designs idempotent consumers with deduplication, configures message ordering guarantees. Optimizes throughput through batch processing and zero-allocation serialization. |
| Backend Developer (Java/Kotlin) | Obligatorio | Designs messaging architecture for Java microservices: implements transactional outbox via Spring @Transactional + Debezium, configures exactly-once processing in Kafka with transactional producer, designs schema evolution via Confluent Schema Registry. Optimizes consumer throughput via batch listener. |
| Backend Developer (Node.js) | Obligatorio | Designs messaging architecture for Node.js services: implements transactional outbox with MongoDB change streams or PostgreSQL LISTEN/NOTIFY, configures Kafka with exactly-once semantics via idempotent producer. Designs event schema management and consumer idempotency via deduplication store. |
| Backend Developer (PHP) | Obligatorio | Designs messaging architecture for PHP systems: implements event-driven communication between PHP services via RabbitMQ with exchange routing, integrates PHP with Kafka via php-rdkafka for event streaming. Designs idempotent consumers and transactional outbox for consistency. |
| Backend Developer (Python) | Obligatorio | Designs messaging architecture for Python services: chooses between RabbitMQ, Kafka, Redis Streams for different scenarios, implements transactional outbox for delivery guarantees, configures exactly-once semantics in Kafka. Designs schema registry for message format evolution. |
| Backend Developer (Rust) | Obligatorio | Designs high-performance messaging systems in Rust: implements zero-copy deserialization for maximum throughput, designs custom message routing through tokio task scheduling, configures batch processing with configurable flush intervals. Optimizes memory allocation for sustained high-throughput processing. |
| Backend Developer (Scala) | Obligatorio | Designs messaging architecture for Scala: implements exactly-once processing through Kafka transactions with Alpakka, designs event sourcing with Akka Persistence or EventStoreDB, configures stream processing with Flink/Kafka Streams through Scala API. Optimizes backpressure and parallelism. |
| Rol | Obligatorio | Descripción |
|---|---|---|
| Backend Developer (C#/.NET) | Obligatorio | Standardizes messaging in .NET ecosystem: chooses between MassTransit, NServiceBus and Wolverine, designs event sourcing with EventStoreDB/Marten, implements saga orchestration for distributed transactions. Creates internal NuGet packages for standardizing messaging patterns. |
| Backend Developer (Elixir) | Obligatorio | Standardizes messaging in the Elixir ecosystem: designs architecture with Commanded for CQRS/ES, implements EventStore for durable event log, creates internal libraries for standardizing Broadway pipelines. Defines patterns for distributed saga through process managers. |
| Backend Developer (Go) | Obligatorio | Defines messaging architecture for the Go platform: standardizes internal event bus via Watermill or custom framework, designs event schema management with Protobuf/Avro, implements distributed tracing for message flows. Develops saga orchestration and compensation patterns. |
| Backend Developer (Java/Kotlin) | Obligatorio | Standardizes messaging in the company's Java ecosystem: chooses between Spring Cloud Stream, Axon Framework, Eventuate for event-driven architecture, designs saga orchestration with Temporal or Axon Saga. Implements event store for audit and replay, defines topic governance strategy. |
| Backend Developer (Node.js) | Obligatorio | Standardizes messaging in Node.js ecosystem: creates internal SDK for broker abstraction, designs event catalog with typed events via TypeScript, implements distributed tracing for message flows. Defines saga and choreography patterns for Node.js. |
| Backend Developer (PHP) | Obligatorio | Standardizes messaging in the PHP ecosystem: defines async communication patterns considering PHP process model limitations, implements Ecotone Framework for CQRS/event sourcing, designs PHP monolith integration with event-driven microservices. Trains teams on messaging best practices. |
| Backend Developer (Python) | Obligatorio | Defines messaging strategy for the organization: standardizes patterns (saga, choreography vs orchestration, event sourcing), implements monitoring/alerting for message lag and consumer health. Designs Kafka topic partitioning for optimal parallelization and data locality. |
| Backend Developer (Rust) | Obligatorio | Defines messaging architecture for Rust system: creates internal messaging framework with broker abstraction, designs event sourcing with custom Rust event store, standardizes serialization through Serde with schema evolution. Mentors on idiomatic message processing in async Rust. |
| Backend Developer (Scala) | Obligatorio | Standardizes messaging in Scala ecosystem: chooses between Alpakka, fs2-kafka and ZIO Kafka for different teams, designs event-driven architecture with CQRS through Akka Projection, implements schema registry integration with Avro/Protobuf for type-safe evolution. |
| Rol | Obligatorio | Descripción |
|---|---|---|
| Backend Developer (C#/.NET) | Shapes enterprise messaging strategy for .NET: designs multi-transport architecture (Azure Service Bus + Kafka + RabbitMQ), defines governance for event-driven systems. Influences architectural decisions on event sourcing and CQRS adoption at organizational level. | |
| Backend Developer (Elixir) | Shapes messaging strategy for the Elixir platform: designs hybrid architecture of BEAM clustering + Kafka for cross-language event streaming, defines when to use Phoenix PubSub vs external broker. Influences Elixir messaging ecosystem development (Broadway, Commanded, GenStage). | |
| Backend Developer (Go) | Shapes Go event-driven architecture strategy: designs multi-datacenter messaging with eventual consistency guarantees, defines event versioning and schema migration patterns. Influences streaming platform architecture with Kafka/Pulsar/NATS for processing millions of events per second. | |
| Backend Developer (Java/Kotlin) | Shapes enterprise messaging strategy: designs multi-cluster Kafka platform with cross-datacenter replication, defines event-driven architecture standards at organizational level. Influences choice between Kafka, Pulsar, RabbitMQ for different use cases considering TCO and operational complexity. | |
| Backend Developer (Node.js) | Shapes event-driven strategy for Node.js platform: designs real-time event processing pipeline with Kafka Streams/ksqlDB, defines event sourcing patterns with event store. Influences streaming platform architecture considering Node.js event loop model and backpressure handling. | |
| Backend Developer (PHP) | Shapes messaging strategy for the PHP platform: defines how PHP systems participate in enterprise event-driven architecture, designs async processing approaches considering FPM/Swoole/RoadRunner runtime. Influences architectural decisions for transitioning from synchronous to event-driven in PHP legacy. | |
| Backend Developer (Python) | Shapes platform async communication strategy: designs multi-region messaging with Active-Active Kafka replication, defines governance for schema evolution and topic naming conventions. Influences event-driven platform architecture considering compliance and data retention requirements. | |
| Backend Developer (Rust) | Shapes strategy for Rust in critical messaging components: designs Rust-based message router/proxy for multi-protocol support, defines streaming platform architecture with sub-millisecond latency. Contributes to open-source messaging infrastructure (Fluvio, NATS). | |
| Backend Developer (Scala) | Shapes streaming strategy for Scala platform: designs real-time processing pipeline with Apache Flink/Spark Structured Streaming on Scala, defines architecture decision records for event sourcing vs traditional messaging. Influences development of functional approach to messaging in Scala ecosystem. |