Site Reliability Engineer Roadmap
A path from DevOps fundamentals into the specialized discipline of site reliability engineering, covering SLOs, observability, incident response, data reliability, and capacity planning.
This path assumes you have run production systems and want the discipline that makes reliability a decision rather than a reflex. If you already carry a pager, phases one and four are where the vocabulary you use daily gets precise.
The whole subject rests on one idea: reliability is a target you choose, not a maximum you chase. An SLO set at what the system currently does guarantees no work is ever safe, because any change looks like a regression. Set it from what users need and you get a budget to spend.
Phase order matters more here than elsewhere. Instrumentation before alerting, because you cannot alert on a signal you do not have; incidents before postmortems, because a postmortem process with no incidents to feed it is a template.
Expect 8–11 months. Phase eight is the wall — stateful systems are where "just redeploy it" stops being an answer.
New to Linux and the command line?
This path assumes fundamentals you may not have yet. Our Foundations Pack is out and free — Linux, the shell and Git, with exercises that mark your work and explain why you got it wrong. We're writing an agents pack next; leave your email if you want to hear when it ships.
One email when the pack launches. No spam, unsubscribe any time.
The path, phase by phase
Define reliability
01–03 of 10 · ~16wReliability Foundations
The vocabulary that makes every later conversation precise. Done when you can write an SLO for a service you did not build, defend the target against "why not higher?", and say what happens when the budget runs out. Targets come from what users need, not from what the system currently does — setting the SLO at current performance guarantees no work is ever safe.
3-4 weeks8 SkillsSLI SelectionSLO DesignError Budgets & Burn RateSLA vs SLO DistinctionAvailability ArithmeticRisk & Tradeoff AnalysisReliability EconomicsStakeholder NegotiationShow details, projects and resourcesSkills you'll master
SLI SelectionadvancedSLO DesignadvancedError Budgets & Burn RateadvancedSLA vs SLO DistinctionintermediateAvailability ArithmeticintermediateRisk & Tradeoff AnalysisintermediateReliability EconomicsintermediateStakeholder NegotiationintermediateHands-on projects
- 01Define SLIs and SLOs for a checkout API, including a written error-budget policy stating exactly what stops when the budget is exhausted and who decides
- 02Take a service you did not build and write its SLO from the outside, then defend the number against both "why not higher?" and "why not lower?"
- 03Calculate the permitted downtime for 99%, 99.9%, 99.95% and 99.99% and write down what each would actually cost to defend
- 04Find a service whose current performance was quietly adopted as its target, and write the argument for what the target should be instead
- 05Write the one-page error-budget policy you would actually take to a product manager, in language that survives contact with someone who does not care about percentiles
- 06Pick a real outage from a public postmortem and work out what it cost in error budget — then say whether the SLO was set correctly
Resources
Google SRE Book (free online)Google · FreeGoogle SRE WorkbookGoogle · FreeService Level Objectives (SRE Book chapter)Google · FreeImplementing SLOs (SRE Workbook chapter)Google · FreeEmbracing Risk (SRE Book chapter)Google · FreeSimplicity (SRE Book chapter)Google · FreeSite Reliability EngineeringBetsy Beyer, Chris Jones, Jennifer Petoff, Niall Richard Murphy · Paid · aff — Affiliate link — we may earn a commission at no extra cost to you. A free alternative is always listed alongside.Some resources are affiliate links, marked AFF. They cost you nothing extra, we may earn a commission, and a free alternative is listed alongside wherever one exists.
Instrumentation & Metrics
An SLO with no instrumentation is a wish. This phase is about producing the signal: what to measure, how to name it, and what it costs to keep. Done when a service you instrumented can answer a question you had not thought of when you instrumented it. Averages hide the users you are failing — if you only learn one thing here, make it percentiles.
4-6 weeks8 SkillsMetrics & InstrumentationPrometheus & PromQLOpenTelemetryHistograms & PercentilesMetric Naming ConventionsCardinality ManagementGrafana & Dashboard DesignThe Four Golden SignalsShow details, projects and resourcesSkills you'll master
Metrics & InstrumentationadvancedPrometheus & PromQLadvancedOpenTelemetryadvancedHistograms & PercentilesadvancedMetric Naming ConventionsintermediateCardinality ManagementadvancedGrafana & Dashboard DesignadvancedThe Four Golden SignalsintermediateHands-on projects
- 01Instrument a service with the four golden signals — latency, traffic, errors, saturation — using OpenTelemetry rather than a vendor SDK
- 02Build a dashboard an on-call engineer can read at 3am without you, then test that claim by handing it to someone else and saying nothing
- 03Replace an average-latency panel with a histogram-backed p50/p95/p99 view and write down which users the average was hiding
- 04Deliberately blow up metric cardinality in a test environment, watch what it costs, and then fix it
- 05Write the metric naming convention for a service and apply it retroactively to everything already emitting
- 06Compute an SLO compliance figure directly from your own metrics, and reconcile it against what your provider's dashboard claims
Resources
Prometheus DocumentationPrometheus · FreePrometheus Metric & Label NamingPrometheus · FreePrometheus Histograms & SummariesPrometheus · FreePrometheus Instrumentation PracticesPrometheus · FreePromQL Querying BasicsPrometheus · FreeOpenTelemetry Metrics ConceptsOpenTelemetry · FreeMonitoring Distributed Systems (SRE Book chapter)Google · FreePromLabs PromQL Cheat SheetPromLabs · FreeGrafana Dashboard Best PracticesGrafana Labs · FreeGrafana FundamentalsGrafana Labs · FreeTracing, Logging & Debugging Production
Metrics tell you something is wrong; traces and logs tell you where and why. Done when you can follow one request across service boundaries in a single trace and answer a question about last week from telemetry alone — no SSH, no log files on disk. Monitoring answers questions you knew to ask; this phase is what lets you ask new ones mid-incident.
4-6 weeks8 SkillsDistributed TracingContext PropagationStructured LoggingLog Aggregation & RetentionSemantic ConventionsSampling StrategiesSystematic TroubleshootingTelemetry Cost ControlShow details, projects and resourcesSkills you'll master
Distributed TracingadvancedContext PropagationadvancedStructured LoggingadvancedLog Aggregation & RetentionintermediateSemantic ConventionsintermediateSampling StrategiesadvancedSystematic TroubleshootingadvancedTelemetry Cost ControlintermediateHands-on projects
- 01Instrument a multi-service application so one request can be followed end to end in a single trace, including across an async queue boundary
- 02Take an incident you have already resolved and re-derive its cause using only traces and logs — then note every step where you wanted to SSH somewhere
- 03Convert a service's plaintext logs to structured events with consistent field names, and delete the fields nobody queried in six months
- 04Implement tail-based sampling and prove you still captured the slow requests you cared about
- 05Cut a telemetry bill in half without losing the ability to debug — write down what you gave up and why it was safe
- 06Correlate a trace, its logs and its metrics for a single failing request, so a responder can move between all three without copying identifiers by hand
Resources
OpenTelemetry DocumentationOpenTelemetry · FreeOpenTelemetry Traces ConceptsOpenTelemetry · FreeOpenTelemetry Semantic ConventionsOpenTelemetry · FreeOpenTelemetry CollectorOpenTelemetry · FreeJaeger DocumentationJaeger · FreeGrafana Loki DocumentationGrafana Labs · FreeEffective Troubleshooting (SRE Book chapter)Google · FreeThe Production Environment at Google (SRE Book chapter)Google · FreeRun it in production
04–06 of 10 · ~14wAlerting on SLOs & On-Call Health
The bridge between telemetry and a human being woken up. Done when every page in your rotation is actionable and you can defend each one, and when you have deleted an alert someone else wrote. An alert that fires without a clear action trains people to ignore alerts — alert fatigue is not a personality flaw, it is a design defect.
3-4 weeks8 SkillsAlert DesignBurn-rate AlertingMulti-window Multi-burn-rateSymptom vs Cause AlertingAlert Fatigue ManagementOn-Call Rotation DesignEscalation PoliciesRunbook AuthoringShow details, projects and resourcesSkills you'll master
Alert DesignadvancedBurn-rate AlertingadvancedMulti-window Multi-burn-rateadvancedSymptom vs Cause AlertingadvancedAlert Fatigue ManagementadvancedOn-Call Rotation DesignintermediateEscalation PoliciesintermediateRunbook AuthoringintermediateHands-on projects
- 01Replace a static threshold alert with a multi-window burn-rate alert and explain what each window is designed to catch
- 02Audit an alerting setup and cut false positives by at least half, proving no real incident would have been missed
- 03Review three months of pages: how many were actionable, and what would you delete?
- 04Write a runbook for one service, then have someone unfamiliar with it follow the runbook during a simulated incident — the gaps they hit are the real output
- 05Write an on-call rotation policy covering escalation, handoff and burnout rules for a four-person team
- 06Convert a cause-based alert ("disk is 80% full") into a symptom-based one ("users are seeing errors") and argue which you would rather be woken by
Automation & Toil Reduction
Toil is manual, repetitive, automatable work that scales with the service. Done when you measured it before automating and can state the hours reclaimed, and your automation has a documented failure mode that does not require you personally to be awake. Automating before measuring builds tooling for problems you assumed rather than problems you have.
4-6 weeks9 SkillsToil MeasurementTerraformKubernetes OperatorsAutomated RemediationRunbook AutomationChaos EngineeringLoad & Stress TestingFailure Mode AnalysisProgressive DeliveryShow details, projects and resourcesSkills you'll master
Toil MeasurementadvancedTerraformadvancedKubernetes OperatorsintermediateAutomated RemediationadvancedRunbook AutomationintermediateChaos EngineeringintermediateLoad & Stress TestingintermediateFailure Mode AnalysisadvancedProgressive DeliveryadvancedHands-on projects
- 01Track where your operational time actually goes for two weeks, then rank the toil by hours before automating anything
- 02Write a self-healing automation for one specific failure mode, with audit logging and a documented way to disable it in a hurry
- 03Run a controlled chaos experiment against staging — terminate a pod under load — and document blast radius and recovery time
- 04Automate the top item from your toil ranking, then measure the hours actually reclaimed and compare against what you predicted
- 05Write the failure mode analysis for your own automation, answering what happens when it misfires at 3am
- 06Build a canary deployment that automatically rolls back on an SLO burn-rate signal rather than on a human noticing
Resources
Terraform DocumentationHashiCorp · FreeEliminating Toil (SRE Book chapter)Google · FreeCanarying Releases (SRE Workbook chapter)Google · FreeRelease Engineering (SRE Book chapter)Google · FreeChaos Engineering PrinciplesChaos Community · FreeKubernetes Operator PatternKubernetes · Freek6 Load Testing DocumentationGrafana Labs · FreeSoftware Engineering in SRE (SRE Book chapter)Google · FreeIncident Response
What you do while the system is broken and people are watching. Done when you have run an incident as commander without touching a terminal — the commander who starts debugging stops coordinating. Roles beat heroics: an incident with a named commander, a scribe and a comms lead resolves faster than one with five engineers all fixing the same thing.
3-4 weeks7 SkillsIncident CommandSeverity ClassificationIncident CommunicationStakeholder UpdatesMitigation Before DiagnosisDebugging Under PressureIncident Roles & HandoffShow details, projects and resourcesSkills you'll master
Incident CommandadvancedSeverity ClassificationintermediateIncident CommunicationadvancedStakeholder UpdatesintermediateMitigation Before DiagnosisadvancedDebugging Under PressureadvancedIncident Roles & HandoffintermediateHands-on projects
- 01Run a tabletop simulation with assigned incident commander and scribe roles, and hold the commander to coordinating rather than debugging
- 02Define severity levels for your service, with a concrete example of each, so classification does not get argued about during an incident
- 03Write the stakeholder update template for a live incident — the one that says what is broken and what to expect next without promising a fix time
- 04Practise mitigating before diagnosing: roll back, drain, or fail over first, and note how much faster users recovered than root cause was found
- 05Run an incident handoff across a shift boundary and document what the incoming commander needed that was not written down
Learn from failure
07 of 10 · ~3wPostmortems & Organisational Learning
Where an outage stops being a loss. Done when you have run a postmortem that produced action items someone actually completed — an unowned action item is a wish with a due date. The document explains what made the failure possible, never who typed the command: a blameful postmortem teaches everyone present to report less next time.
2-3 weeks7 SkillsBlameless PostmortemsRoot Cause & Contributing FactorsAction Item Follow-throughIncident Metrics & TrendsWriting for Non-EngineersPsychological SafetyKnowledge SharingShow details, projects and resourcesSkills you'll master
Blameless PostmortemsadvancedRoot Cause & Contributing FactorsadvancedAction Item Follow-throughadvancedIncident Metrics & TrendsintermediateWriting for Non-EngineersintermediatePsychological SafetyadvancedKnowledge SharingintermediateHands-on projects
- 01Produce a full postmortem within 48 hours of a simulated incident, with owners and dates on every action item
- 02Rewrite a blameful postmortem into a blameless one and note exactly what changed in the findings, not just the tone
- 03Go back to postmortems from six months ago and check which action items were actually completed — the completion rate is the real health metric
- 04Analyse a quarter of incidents for patterns: which contributing factor shows up repeatedly, and what would fix the class rather than the instance?
- 05Write the public-facing version of an incident report for customers, saying what happened without either hiding it or drowning them in internals
- 06Run a postmortem review meeting where the author is not the most senior person in the room, and note what that changed
Hold it at scale
08–10 of 10 · ~17wData & Stateful Systems Reliability
Stateless services are the easy half. Done when you have restored a database from backup into a clean environment and recorded the real recovery time — a backup nobody has restored is a hypothesis, not a backup. Data has a property compute does not: you can lose it permanently, so the failure modes here are the ones that end companies.
4-6 weeks8 SkillsReplication & Consistency ModelsBackup & Restore VerificationRTO & RPO DefinitionZero-downtime MigrationsData Integrity & CorruptionDatabase FailoverConnection Pooling & SaturationStateful Workloads on KubernetesShow details, projects and resourcesSkills you'll master
Replication & Consistency ModelsadvancedBackup & Restore VerificationadvancedRTO & RPO DefinitionadvancedZero-downtime MigrationsadvancedData Integrity & CorruptionadvancedDatabase FailoveradvancedConnection Pooling & SaturationintermediateStateful Workloads on KubernetesintermediateHands-on projects
- 01Restore a production-sized database from backups into a clean environment and record the real recovery time, not the estimated one
- 02Run a schema migration on a live table with no downtime, using expand-and-contract, and document the rollback path at each step
- 03Trigger a database failover under write load and measure exactly how much data and how many seconds were lost
- 04Define RTO and RPO for one stateful service, then test whether your current setup actually meets them — most do not
- 05Detect a deliberately introduced data corruption using checksums or reconciliation, and write the runbook for how it would be caught in production
- 06Exhaust a connection pool under load and document what the application did — the failure mode is rarely the one people expect
Resources
Managing Critical State (SRE Book chapter)Google · FreeData Integrity (SRE Book chapter)Google · FreePostgreSQL High Availability & ReplicationPostgreSQL · FreeJepsen Distributed Systems AnalysesJepsen · FreePatterns of Distributed SystemsMartin Fowler · FreeGoogle Cloud DR Planning GuideGoogle Cloud · FreeCloud SQL Backups — Types, Retention & RestoreGoogle Cloud · FreeDesigning Data-Intensive ApplicationsMartin Kleppmann · Paid · aff — Affiliate link — we may earn a commission at no extra cost to you. A free alternative is always listed alongside.Some resources are affiliate links, marked AFF. They cost you nothing extra, we may earn a commission, and a free alternative is listed alongside wherever one exists.
Capacity Planning & Cost Efficiency
Reliability you cannot afford is not reliability. Done when you have forecast demand, sized infrastructure from that forecast rather than from habit, and cut spend without moving your SLO. Overprovisioning hides design problems and bills you monthly for the privilege — the goal is headroom you chose deliberately, not headroom you inherited.
3-4 weeks8 SkillsCapacity PlanningDemand ForecastingLoad SheddingAutoscaling DesignResource Limits & RequestsCost Attribution & FinOpsPerformance Bottleneck AnalysisQueueing & BackpressureShow details, projects and resourcesSkills you'll master
Capacity PlanningadvancedDemand ForecastingadvancedLoad SheddingadvancedAutoscaling DesignadvancedResource Limits & RequestsintermediateCost Attribution & FinOpsintermediatePerformance Bottleneck AnalysisadvancedQueueing & BackpressureadvancedHands-on projects
- 01Run a capacity exercise forecasting infrastructure for 3x traffic growth over six months, showing the arithmetic rather than a guess
- 02Load-test a service to the point of failure and record which resource ran out first — it is rarely the one you sized for
- 03Implement load shedding so the service degrades predictably under overload instead of collapsing, and prove it with a load test
- 04Cut infrastructure spend by 20% on one service without changing its SLO, and document what headroom you gave up
- 05Right-size Kubernetes requests and limits from observed usage rather than from the defaults someone copied, and measure the reclaimed capacity
- 06Tune an autoscaler until it responds to a real traffic spike without flapping — then write down the tradeoff you settled on
Resources
Handling Overload (SRE Book chapter)Google · FreeManaging Load (SRE Workbook chapter)Google · FreeNon-Abstract Large System Design (SRE Workbook chapter)Google · FreeAWS Builders' Library: Using Load Shedding to Avoid OverloadAWS · FreeAWS Builders' Library: Avoiding Insurmountable Queue BacklogsAWS · FreeKubernetes Resource ManagementKubernetes · FreeKubernetes Horizontal Pod AutoscalingKubernetes · FreeWhat is FinOps?FinOps Foundation · FreeAWS Well-Architected Cost Optimization PillarAWS · FreeOpenCost DocumentationOpenCost · FreeReliability at Platform Scale
The multiplier. Making one service reliable is engineering; making it easy for fifty teams to run reliable services is what changes an organisation. Done when a team you do not sit with adopted something you built without you walking them through it — adoption you had to chaperone is a demo, not a platform.
5-7 weeks9 SkillsMulti-Region ArchitectureDependency MappingDisaster RecoveryProduction Readiness ReviewsReliability as a Platform ServiceGraceful DegradationCircuit Breakers & BulkheadsTechnical Influence Without AuthorityCascading Failure PreventionShow details, projects and resourcesSkills you'll master
Multi-Region ArchitectureadvancedDependency MappingadvancedDisaster RecoveryadvancedProduction Readiness ReviewsadvancedReliability as a Platform ServiceadvancedGraceful DegradationadvancedCircuit Breakers & BulkheadsadvancedTechnical Influence Without AuthorityintermediateCascading Failure PreventionadvancedHands-on projects
- 01Design a multi-region failover for a stateful service with RTO and RPO targets, then actually test the failover rather than only documenting it
- 02Map dependencies across a five-plus service system, identify the single points of failure, and fix the highest-risk one
- 03Write a production readiness review checklist and run it against a service that is already live — what it fails is the point
- 04Build a reliability capability other teams consume as a service, such as a default dashboard or SLO template they get for free
- 05Implement graceful degradation somewhere, so the system sheds a non-critical feature under load instead of failing whole
- 06Add circuit breakers with timeouts and jittered retries to a service-to-service call, then prove the retry storm you prevented was real
Resources
Addressing Cascading Failures (SRE Book chapter)Google · FreeProduction Readiness Reviews (SRE Book chapter)Google · FreeDatacenter Load Balancing (SRE Book chapter)Google · FreeAWS Disaster Recovery WhitepaperAWS · FreeAWS Fault Isolation BoundariesAWS · FreeAWS Builders' Library: Timeouts, Retries and Backoff with JitterAWS · FreeAWS Builders' Library: Workload Isolation Using Shuffle ShardingAWS · FreeCircuit Breaker PatternMicrosoft · FreeAWS Well-Architected Reliability PillarAWS · Free
What the job is actually like
- Day to day
- Less firefighting than the job's reputation suggests, and more writing. A normal week is reviewing other teams' launch plans against their error budgets, extending automation so a manual runbook step stops needing a human, and arguing about whether a proposed SLO reflects what users notice. On-call is the exception rather than the shape of the role: a healthy rotation is quiet, and a rotation that is not quiet is the problem you are being paid to fix. The uncomfortable part is that most of your influence is exercised over teams you do not manage, through a budget number they agreed to before anything broke.
- The interview
- Three recognisable rounds. A debugging or incident exercise where you are handed a misbehaving system and watched for how you narrow the problem — the reasoning is being scored, not the answer. A systems design round pitched at failure rather than throughput: what happens when this dependency is slow, what does the client do, how do you know before your users tell you. And a behavioural round built almost entirely on real incidents, where the expected answer names what you got wrong and what changed afterwards; a story with no mistake in it reads as a story that was rehearsed. Expect SLO and error-budget vocabulary to be probed for whether you have set one, not whether you can define one.
- How people get in
- Almost nobody starts here — the prerequisites say Linux, cloud and code for a reason. The three common origins are backend engineers who kept getting pulled into production problems and found they preferred them, systems administrators or ops engineers formalising what they already do, and DevOps engineers moving from building pipelines toward owning service behaviour. If you are on the DevOps engineer path, phases one and four here are the specialisation. Coming from the data side, database reliability engineering shares this roadmap's phase eight and diverges after it. What transfers from any of them is production instinct; what does not is the assumption that reliability is a maximum rather than a target.
- After senior
- The ladder forks rather than continuing straight. Staff and principal SREs stay technical and widen their blast radius, owning reliability standards across an organisation instead of services — which is phase ten as a full-time job. The second fork is platform or infrastructure engineering, where the product becomes the thing other engineers build on. The third is management of an SRE org, which trades the debugging for headcount and on-call sustainability. Salary data on this page stops at senior because that is where public estimates stop being reliable, not because the ladder does.
- Why people leave
- Two, and both are structural rather than technical. The first is joining an organisation that wanted a rebranded operations team: if nobody will let you spend an error budget, or every incident review ends with a name rather than a change, the title is the only part of the job you actually got. Ask in the interview who last blocked a launch and what happened. The second is on-call that never gets better, which is the same failure seen from underneath — pages that are not actionable, a rotation too thin to absorb one bad week, and no time budgeted to fix any of it. Burnout here is not a resilience problem, it is an unspent budget.
Frequently asked questions
Related certifications
- Certified Kubernetes Administrator (CKA)A hands-on, performance-based certification proving you can install, configure, and troubleshoot production Kubernetes clusters from the command line.
- Prometheus Certified Associate (PCA)A multiple-choice, associate-level certification covering observability concepts, Prometheus architecture, PromQL, instrumentation and exporters, and alerting with Alertmanager.
- OpenTelemetry Certified Associate (OTCA)A vendor-neutral, associate-level certification covering the OpenTelemetry API and SDK, the Collector, context propagation, and debugging telemetry pipelines — with nearly half the marks on the SDK.
- AWS Certified Solutions Architect – Associate (SAA-C03)The most widely held cloud architecture certification, testing whether you can design secure, resilient, high-performing and cost-optimised solutions on AWS against the Well-Architected Framework.
- Linux Foundation Certified System Administrator (LFCS)A performance-based Linux administration certification taken entirely from the command line, covering deployment, networking, storage, essential commands and user management on a live system.
- Certified Cloud Native Platform Engineer (CNPE)The first performance-based platform engineering certification — two hours in a live cluster building GitOps pipelines, platform APIs and self-service provisioning, with half the marks on those two domains alone.
- NVIDIA-Certified Associate: AI Infrastructure and Operations (NCA-AIIO)The cheapest credential in AI infrastructure at $125 — 40% of it on the datacentre itself, from GPU scaling and power and cooling to networking and DPUs, and only 22% on running the thing once it exists.
Related roadmaps
- DevOps Engineer RoadmapA structured path from Linux fundamentals through cloud infrastructure, automation, containers, and monitoring to a production-ready DevOps engineering career.
- Database Reliability Engineer RoadmapA path into database reliability engineering — replication and consistency, restores you have actually verified, zero-downtime schema migrations, corruption detection, databases on Kubernetes, and RTO and RPO as a contract.
- Observability Engineer RoadmapA path into observability as a craft of its own — wide events, signal correlation, telemetry cost, collector pipelines, high-cardinality analysis, continuous profiling, and running observability as a platform other teams consume.
- Cloud Architect RoadmapA path into cloud architecture as the job it actually is — trade-off analysis, migration of systems you did not write, disaster recovery you have rehearsed, decision records, and influence without formal authority.
- Platform Engineer RoadmapThe path DevOps engineers move into — building an internal developer platform as a product, covering Kubernetes as substrate, IaC at scale, GitOps, golden paths, portals, policy, multi-tenancy and adoption.
- FinOps Engineer RoadmapA career path into cloud financial engineering, covering billing data, cost allocation, unit economics, rate and usage optimisation, forecasting, Kubernetes cost, and policy automation.