Skip to content

Backend Roadmap

Skill/technology roadmap for the Backend track, in the style of roadmap.sh. See reference/mermaid-conventions.md for the diagram conventions used below.

  • 🟦 Essential
  • 🟧 Recommended
  • ⬜ Optional
flowchart TD
    classDef essential fill:#4C6EF5,color:#fff,stroke:#333;
    classDef recommended fill:#F5A623,color:#000,stroke:#333;
    classDef optional fill:#eee,color:#000,stroke:#999,stroke-dasharray: 3 3;

    subgraph Fundamentals
        A[Server-side/platform<br/>dev fundamentals]:::essential --> B[Content modeling]:::essential
        B --> C[REST/GraphQL<br/>API design & consumption]:::essential
        C --> D[Backend testing]:::essential
    end
    subgraph "Going Further"
        D --> E[API security<br/>auth, rate limiting]:::recommended
        D --> F[Caching strategies]:::recommended
        D --> G[Message queues /<br/>async processing]:::optional
        D --> H[GraphQL federation]:::optional
    end

    D --> AEMT
    D --> AEMEDS
    D --> OPTLY
    D --> CTFL

    subgraph AEMT["AEM Traditional"]
        I[Java]:::essential
        J[Apache Sling]:::essential
        K[OSGi / Apache Felix]:::essential
        L[JCR / Apache Oak]:::essential
        M[Maven]:::essential
        N[Sling Models]:::essential
    end
    subgraph AEMEDS["AEM EDS"]
        O[Adobe App Builder<br/>Adobe I/O Runtime]:::essential
    end
    subgraph OPTLY["Optimizely Cloud"]
        P[Content Cloud SDKs<br/>C#]:::essential
        Q[Optimizely Graph]:::essential
        R[Web/Feature Experimentation SDKs]:::recommended
        S[Feature Flags]:::recommended
    end
    subgraph CTFL["Contentful"]
        T[Contentful CMA]:::essential
        U[contentful-cli]:::essential
        V[CDA / GraphQL Content API]:::essential
        W[Search integration<br/>Algolia/Elasticsearch]:::recommended
    end

Fundamentals and Specializations are drawn from roles/backend.md’s Must have and By CMS lists. “Going Further” is proposed from general backend industry practice, not from the team’s own stated preferences (roles/backend.md’s Nice to have is still empty) — revise freely.