{
  "format": "sf-skill-matrix",
  "version": 1,
  "name": "DevOps Engineer Skill Matrix",
  "description": "Public example of a matrix for engineers responsible for infrastructure, delivery, and platform reliability.",
  "levels": [
    {
      "name": "Junior",
      "description": "Supports existing infrastructure and deployment flows with clear guidance and safe execution."
    },
    {
      "name": "Middle",
      "description": "Owns infrastructure changes independently, improves reliability, and handles operational incidents."
    },
    {
      "name": "Senior",
      "description": "Shapes platform strategy, operational standards, and scalable engineering practices."
    }
  ],
  "groups": [
    {
      "name": "Infrastructure Platform",
      "rows": [
        {
          "name": "Linux and networking",
          "cells": [
            {
              "level": 1,
              "level_name": "Junior",
              "tasks": [
                {
                  "name": "Operate hosts and services safely",
                  "info": "Reads logs, manages processes, and understands common network and OS diagnostics."
                }
              ]
            },
            {
              "level": 2,
              "level_name": "Middle",
              "tasks": [
                {
                  "name": "Troubleshoot runtime incidents independently",
                  "info": "Diagnoses network, resource, and process-level problems with reliable recovery steps."
                }
              ]
            },
            {
              "level": 3,
              "level_name": "Senior",
              "tasks": [
                {
                  "name": "Define infrastructure operating standards",
                  "info": "Guides system hardening, segmentation, and platform-level troubleshooting patterns."
                }
              ]
            }
          ]
        },
        {
          "name": "CI/CD",
          "cells": [
            {
              "level": 1,
              "level_name": "Junior",
              "tasks": [
                {
                  "name": "Maintain existing pipelines",
                  "info": "Understands build steps, artifacts, and routine pipeline failures."
                }
              ]
            },
            {
              "level": 2,
              "level_name": "Middle",
              "tasks": [
                {
                  "name": "Improve release flow reliability",
                  "info": "Adds caching, rollback safety, environment checks, and measurable deployment quality."
                }
              ]
            },
            {
              "level": 3,
              "level_name": "Senior",
              "tasks": [
                {
                  "name": "Design delivery standards across teams",
                  "info": "Balances developer speed, release risk, and compliance requirements."
                }
              ]
            }
          ]
        },
        {
          "name": "Infrastructure as code",
          "cells": [
            {
              "level": 1,
              "level_name": "Junior",
              "tasks": [
                {
                  "name": "Change infrastructure through code",
                  "info": "Uses reviewed IaC changes instead of manual configuration drift."
                }
              ]
            },
            {
              "level": 2,
              "level_name": "Middle",
              "tasks": [
                {
                  "name": "Model reusable infrastructure modules",
                  "info": "Builds predictable templates with variables, outputs, and safe environment separation."
                }
              ]
            },
            {
              "level": 3,
              "level_name": "Senior",
              "tasks": [
                {
                  "name": "Set infrastructure design principles",
                  "info": "Defines state strategy, module ownership, and platform-level evolution rules."
                }
              ]
            }
          ]
        }
      ]
    },
    {
      "name": "Reliability and Security",
      "rows": [
        {
          "name": "Containers and orchestration",
          "cells": [
            {
              "level": 1,
              "level_name": "Junior",
              "tasks": [
                {
                  "name": "Build and run containerized workloads",
                  "info": "Understands images, runtime configuration, and basic orchestration objects."
                }
              ]
            },
            {
              "level": 2,
              "level_name": "Middle",
              "tasks": [
                {
                  "name": "Operate services under load",
                  "info": "Tunes rollout strategy, resource limits, scheduling, and service recovery."
                }
              ]
            },
            {
              "level": 3,
              "level_name": "Senior",
              "tasks": [
                {
                  "name": "Drive platform orchestration standards",
                  "info": "Shapes workload isolation, multi-environment patterns, and cluster governance."
                }
              ]
            }
          ]
        },
        {
          "name": "Observability",
          "cells": [
            {
              "level": 1,
              "level_name": "Junior",
              "tasks": [
                {
                  "name": "Support logs, metrics, and alerts",
                  "info": "Adds instrumentation and follows runbooks for routine operational events."
                }
              ]
            },
            {
              "level": 2,
              "level_name": "Middle",
              "tasks": [
                {
                  "name": "Diagnose incidents via telemetry",
                  "info": "Uses dashboards, traces, and event timelines to isolate root causes."
                }
              ]
            },
            {
              "level": 3,
              "level_name": "Senior",
              "tasks": [
                {
                  "name": "Set service health indicators",
                  "info": "Defines SLI/SLO conventions and improves signal quality of alerting."
                }
              ]
            }
          ]
        },
        {
          "name": "Security operations",
          "cells": [
            {
              "level": 1,
              "level_name": "Junior",
              "tasks": [
                {
                  "name": "Follow secure infrastructure baselines",
                  "info": "Applies secrets handling, access control, and patching procedures consistently."
                }
              ]
            },
            {
              "level": 2,
              "level_name": "Middle",
              "tasks": [
                {
                  "name": "Reduce operational security risk",
                  "info": "Reviews exposed surfaces, rotates secrets, and improves access segmentation."
                }
              ]
            },
            {
              "level": 3,
              "level_name": "Senior",
              "tasks": [
                {
                  "name": "Embed security in platform workflows",
                  "info": "Makes secure defaults part of delivery, infrastructure, and incident response."
                }
              ]
            }
          ]
        }
      ]
    }
  ]
}
