Domain
Architecture & System Design
Skill Profile
Bounded context, strangler fig, service boundaries, API contracts
Roles
11
where this skill appears
Levels
5
structured growth path
Mandatory requirements
26
the other 19 optional
Architecture & System Design
Microservices Patterns
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 (Go) | Understands basic architectural concepts of microservices decomposition. Follows team's architectural decisions. Understands main patterns. | |
| Backend Developer (Node.js) | Understands basic architectural concepts of microservices decomposition. Follows team architectural decisions. Understands main patterns. | |
| Backend Developer (PHP) | Understands differences between monolithic and microservice architecture in PHP development context. Familiar with bounded context and domain-driven design concepts, understands how Laravel modules or Symfony bundles can serve as the basis for future monolith decomposition into separate services. | |
| Technical Product Manager | Required | Understands the microservice architecture concept and decomposition principles. Knows differences between monolith and microservices from the perspective of product capabilities. Participates in discussions on defining service boundaries. |
| Technical Writer | Understands the fundamentals of Microservices Decomposition. Applies basic practices in daily work. Follows recommendations from the team and documentation. |
| Role | Required | Description |
|---|---|---|
| Backend Developer (C#/.NET) | Decomposes .NET monolith into microservices: extracts bounded contexts into separate ASP.NET Core services, implements anti-corruption layer with MediatR. Uses Ocelot or YARP as API gateway for Strangler Fig migration. Manages distributed transactions with MassTransit Saga orchestration. | |
| Backend Developer (Go) | Participates in Go monolith decomposition into microservices: identifies bounded contexts, designs API contracts via protobuf, implements inter-service communication through gRPC. Understands monolith vs microservices trade-offs, applies strangler fig pattern. | |
| Backend Developer (Java/Kotlin) | Decomposes Java monolith into Spring Boot microservices: extracts bounded contexts into separate services, implements anti-corruption layer with Spring Integration. Uses Spring Cloud Gateway for Strangler Fig migration. Manages distributed transactions with Saga pattern via Axon Framework or custom orchestrator. | |
| Backend Developer (Node.js) | Decomposes monolith into Node.js microservices using DDD bounded contexts. Identifies service boundaries through domain event analysis. Implements Strangler Fig pattern with API gateway routing. Manages inter-service communication via REST and async messaging (BullMQ, RabbitMQ). | |
| Backend Developer (PHP) | Participates in PHP monolith decomposition: identifies bounded contexts, designs API contracts between services, implements anti-corruption layer. Uses Laravel packages or Symfony bundles for modularization, configures inter-service communication via REST/gRPC and async communication through queues. | |
| Backend Developer (Python) | Understands the difference between monolith and microservices. Knows about service boundaries. Works in existing microservice architecture. Understands inter-service communication (REST, events). | |
| Engineering Manager | Understands microservices decomposition trade-offs for team planning: evaluates team topology alignment with service boundaries, assesses delivery impact of splitting monolith. Facilitates bounded context discovery workshops with developers. Plans migration roadmap balancing feature delivery with decomposition work. | |
| Technical Lead | Drives microservices decomposition decisions: identifies bounded contexts via domain modeling sessions, defines service contracts and API boundaries. Applies Strangler Fig pattern for incremental migration. Establishes inter-service communication standards (sync vs async) and data ownership rules across services. | |
| Technical Product Manager | Required | Understands microservice decomposition trade-offs for product decisions. Evaluates architecture impact on delivery speed, team independence and operational complexity. Participates in domain modeling sessions with engineers. |
| Technical Writer | Documents microservices architecture: service catalog, dependency maps, communication patterns (sync/async). Creates onboarding guides for new developers. Documents service contracts and integration patterns. |
| Role | Required | Description |
|---|---|---|
| Backend Developer (C#/.NET) | Required | Architects .NET microservices decomposition at scale: designs domain-driven service boundaries with CQRS and event sourcing (EventStoreDB, Marten). Implements service mesh integration (Istio sidecar with Kestrel). Designs database-per-service strategy with eventual consistency patterns. Leads Strangler Fig migrations preserving zero-downtime SLAs. |
| Backend Developer (Go) | Required | Designs Go system decomposition: defines service boundaries through domain analysis, event storming, data ownership. Implements saga pattern via Kafka for distributed transactions, designs shared libraries and Go SDK for common functionality. |
| Backend Developer (Java/Kotlin) | Required | Architects Java microservices decomposition at scale: designs bounded context boundaries with CQRS and event sourcing (Axon, Eventuate). Implements service mesh patterns (Istio with Spring Boot). Designs database-per-service with distributed Saga orchestration. Evaluates decomposition granularity trade-offs: nano-services vs coarse-grained services for throughput and latency requirements. |
| Backend Developer (Node.js) | Required | Designs microservices: domain-driven decomposition, bounded contexts, API contracts (OpenAPI/AsyncAPI). Implements: service discovery, circuit breakers (opossum), distributed tracing. |
| Backend Developer (PHP) | Designs PHP monolith decomposition strategy: defines service boundaries based on business domains, selects patterns (Strangler Fig, Branch by Abstraction), plans data migration. Solves distributed transaction problems via Saga pattern and ensures eventual consistency between PHP services. | |
| Backend Developer (Python) | Required | Architects Python microservices decomposition: designs bounded context boundaries extracting Django/FastAPI services, implements CQRS with separate read/write models. Manages data consistency via Saga pattern with Celery or Temporal workflows. Evaluates service granularity: balances Python runtime overhead against decomposition benefits. Implements contract testing with Pact. |
| Engineering Manager | Required | Strategically manages microservices decomposition across multiple teams: aligns service boundaries with team cognitive load (Team Topologies), drives Conway's Law-aware organizational design. Manages cross-team dependencies during Strangler Fig migrations. Establishes platform team to provide service mesh, observability, and deployment infrastructure for decomposed services. |
| Solutions Architect | Required | Designs enterprise-wide microservices decomposition strategy: applies DDD strategic patterns (context mapping, upstream/downstream relationships) across business domains. Defines service mesh architecture (Istio/Linkerd) with mTLS, traffic management, and circuit breaking. Architects CQRS and event-driven patterns for cross-domain data consistency. Evaluates decomposition ROI against operational complexity. |
| Technical Lead | Required | Leads complex microservices decomposition initiatives: defines bounded context boundaries through Event Storming and domain modeling. Designs Strangler Fig migration with feature-flag-driven traffic shifting. Implements CQRS with event sourcing for high-consistency domains. Establishes service contracts, versioning strategy, and backward compatibility standards. Mentors teams on decomposition anti-patterns (distributed monolith, shared databases). |
| Technical Product Manager | Required | Actively participates in microservice decomposition decisions as TPM. Defines product bounded contexts considering team topology. Evaluates impact on delivery speed, data consistency, and user experience. Drives architecture roadmap. |
| Technical Writer | Designs a microservices landscape documentation system: automated service registry docs, event catalog, cross-service sequence diagrams. Ensures documentation reflects the actual system state through auto-generation. |
| Role | Required | Description |
|---|---|---|
| Backend Developer (C#/.NET) | Required | Defines .NET microservices decomposition standards across the organization: establishes reference architectures with CQRS, event sourcing, and Saga patterns. Drives service mesh adoption (Istio/Linkerd) with .NET-specific tuning. Designs cross-team service contract governance with AsyncAPI and OpenAPI specs. Reviews decomposition proposals for distributed monolith risks. Mentors senior engineers on DDD strategic design and context mapping. |
| Backend Developer (Go) | Required | Leads Go monolith decomposition process: defines migration strategy, prioritizes service extraction, coordinates teams. Establishes inter-service communication standards (gRPC/Kafka), data mesh patterns and ownership model. |
| Backend Developer (Java/Kotlin) | Required | Defines Java microservices decomposition standards across the organization: establishes reference architectures with Axon/Eventuate for CQRS and event sourcing. Drives service mesh governance and platform-level Saga orchestration. Designs cross-team API contract management with AsyncAPI, OpenAPI, and consumer-driven contract testing. Reviews decomposition granularity decisions. Mentors senior engineers on DDD strategic patterns and avoiding distributed monolith traps. |
| Backend Developer (Node.js) | Required | Defines microservices standards: service template (NestJS starter), communication patterns, data ownership. Coordinates cross-team service boundaries. |
| Backend Developer (PHP) | Leads the PHP monolith decomposition program: service extraction roadmap, team coordination, risk management. Defines architectural standards for PHP microservices: service templates, shared libraries, service mesh, testing and deployment strategy for distributed systems. | |
| Backend Developer (Python) | Required | Defines Python microservices decomposition standards: establishes reference architectures balancing Python's runtime characteristics with service granularity. Drives adoption of Temporal/Conductor for Saga orchestration, gRPC for inter-service contracts. Designs platform-level patterns for CQRS with FastAPI and event-driven architectures. Reviews decomposition proposals for performance risks. Mentors teams on bounded context identification and data ownership patterns. |
| Engineering Manager | Required | Defines product architectural strategy with Microservices Decomposition. Shapes architecture guidelines. Conducts architecture reviews. |
| Solutions Architect | Required | Defines product architectural strategy with Microservices Decomposition. Establishes architecture guidelines. Conducts architecture reviews. |
| Technical Lead | Required | Defines the product's architectural strategy with Microservices Decomposition. Establishes architecture guidelines. Conducts architecture reviews. |
| Technical Product Manager | Required | Shapes product-driven decomposition strategy for the division. Defines criteria for service split/merge based on business domains and team ownership. Coordinates architectural migrations with minimal product disruption. |
| Technical Writer | Defines microservices documentation standards for the organization. Every service has a mandatory documentation set. Coordinates documentation of cross-cutting concerns: observability, security, deployment. |
| Role | Required | Description |
|---|---|---|
| Backend Developer (Go) | Required | Defines organizational microservice architecture strategy in Go: service size standards, team topology, platform-as-product approach. Develops governance framework for microservices, defines architecture health metrics and evolution policies. |
| Backend Developer (Node.js) | Required | Designs microservices strategy: decomposition methodology, service mesh, observability platform. Determines when microservices are justified, migration path from monolith. |
| Backend Developer (PHP) | Shapes architectural strategy for PHP ecosystem microservice transformation: organizational readiness assessment, evolutionary architecture, platform engineering. Defines boundaries between PHP and other technologies (Go, Rust for performance-critical services), designs developer experience for microservice platform. | |
| Engineering Manager | Required | Defines organizational architectural strategy. Designs reference architectures. Establishes architecture governance. |
| Solutions Architect | Required | Sets organization-wide microservices decomposition vision and strategy: defines domain-driven architecture principles, context mapping standards, and service boundary governance across all business domains. Evaluates build-vs-buy for service mesh, event streaming platforms, and orchestration engines. Drives architectural fitness functions for decomposition quality. Influences industry practices through conference talks and published decomposition case studies. Resolves cross-domain bounded context conflicts at C-level. |
| Technical Lead | Required | Defines organization-wide microservices decomposition philosophy: establishes DDD strategic design as core architectural discipline, creates bounded context discovery frameworks used across all teams. Designs evolutionary architecture patterns enabling incremental decomposition without big-bang rewrites. Architects platform capabilities (service mesh, event backbone, Saga orchestration) as organizational standards. Drives decomposition maturity model and architectural review process. Mentors leads on balancing decomposition idealism with pragmatic delivery constraints. |
| Technical Product Manager | Required | Defines enterprise microservice architecture strategy with a product lens. Shapes decomposition principles for new domains, defines migration paths for legacy systems. Coordinates cross-organization architecture evolution. |
| Technical Writer | Shapes distributed systems documentation strategy at the company level. Defines how documentation supports platform evolution, service mesh governance, and organizational scaling. |