Database Reliability Engineer Roadmap
A 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.
Search for this role and you mostly find job listings, not a path into it — the page candidates are looking for barely exists. This roadmap treats the database as a production system with an owner rather than as a dependency someone else maintains: restores that are verified on a schedule, migrations that ship without downtime, and corruption caught by a check rather than by a customer.
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
Database Fundamentals for Operators
Operating a database means understanding what happens below the query: how pages reach disk, why the write-ahead log exists, and what a transaction actually guarantees. Without that model every incident is a mystery. Done when you can trace a single INSERT from client connection through WAL to durable storage, and explain which step is lost if the process is killed at each point.
4-5 weeks7 SkillsStorage Engines and Page LayoutWrite-Ahead LoggingACID and Isolation LevelsMVCC and VacuumIndex InternalsQuery PlanningConnection HandlingShow details, projects and resourcesSkills you'll master
Storage Engines and Page LayoutintermediateWrite-Ahead LoggingadvancedACID and Isolation LevelsadvancedMVCC and VacuumadvancedIndex InternalsadvancedQuery PlanningintermediateConnection HandlingintermediateHands-on projects
- 01Trace one INSERT from connection to durable storage and record what is lost if the process dies at each stage
- 02Reproduce a phantom read and a non-repeatable read on purpose, then fix each by changing only the isolation level
- 03Force a table bloat scenario, observe what vacuum reclaims and what it does not, and record the disk numbers
- 04Take a slow query, read its plan, and make it fast by changing the index rather than the SQL
- 05Exhaust a connection pool deliberately and record what the application error looks like from the user's side
Resources
PostgreSQL Internals — Write-Ahead LoggingPostgreSQL · FreePostgreSQL Transaction IsolationPostgreSQL · FreeUse The Index, Luke — SQL IndexingMarkus Winand · FreeMySQL InnoDB Storage EngineOracle · FreePostgreSQL Routine VacuumingPostgreSQL · FreeDesigning Data-Intensive ApplicationsMartin Kleppmann · PaidReplication and Consistency
Replication is how databases survive hardware failure and also how they silently serve stale data. The distinction between synchronous and asynchronous is not a configuration detail: it decides whether a failover can lose committed transactions. Done when you have measured replication lag under write load and can state exactly how much data your topology loses if the primary dies right now.
4-6 weeks7 SkillsSynchronous vs Asynchronous ReplicationStreaming and Logical ReplicationReplication Lag MeasurementRead Replica RoutingQuorum and ConsensusSplit-brain PreventionCross-region ReplicationShow details, projects and resourcesSkills you'll master
Synchronous vs Asynchronous ReplicationadvancedStreaming and Logical ReplicationadvancedReplication Lag MeasurementadvancedRead Replica RoutingintermediateQuorum and ConsensusadvancedSplit-brain PreventionadvancedCross-region ReplicationadvancedHands-on projects
- 01Build a primary with two replicas, then measure lag under sustained write load rather than at idle
- 02Calculate your topology's real data loss window on primary failure, and verify it by killing the primary mid-write
- 03Route reads to a replica and find a user-visible bug caused by reading your own stale write
- 04Set up logical replication between two different major versions and record which DDL changes it refuses to carry
- 05Induce a network partition between primary and replica and document what each side believes about the other
- 06Compare synchronous replication's latency cost against its durability gain, with numbers from your own hardware
Backup and Restore Verification
A backup that has never been restored is a hypothesis, and the moment you discover it was wrong is the worst possible moment. This phase treats the restore, not the backup, as the deliverable. Done when a restore runs automatically on a schedule, its duration is recorded as a metric, and someone is alerted when a restore fails rather than when a backup does.
3-4 weeks6 SkillsPhysical and Logical BackupsPoint-in-Time RecoveryAutomated Restore TestingBackup Retention DesignRestore Time MeasurementBackup Encryption and AccessShow details, projects and resourcesSkills you'll master
Physical and Logical BackupsintermediatePoint-in-Time RecoveryadvancedAutomated Restore TestingadvancedBackup Retention DesignintermediateRestore Time MeasurementadvancedBackup Encryption and AccessintermediateHands-on projects
- 01Restore a production-sized backup into a clean environment and publish the real restore time next to the promised one
- 02Perform a point-in-time recovery to a timestamp thirty seconds before a deliberate destructive statement
- 03Automate a nightly restore into a throwaway environment, with an alert that fires on restore failure rather than backup failure
- 04Design a retention policy against a real regulatory or business requirement and cost it at your current data growth
- 05Corrupt a backup file on purpose and confirm your verification step detects it before you need the backup
High Availability and Failover
Automatic failover is a promise that the system will make a correct decision during the worst five minutes of the quarter, and untested automation usually makes it worse. Done when you have triggered a failover in anger — killing the primary without warning the tooling — and the cluster converged on a single writer with the data loss you predicted, not more.
4-5 weeks7 SkillsFailover AutomationLeader Election and FencingConnection Pooling and ProxiesHealth Checking DesignSwitchover vs FailoverClient Reconnection BehaviourFailover Testing in ProductionShow details, projects and resourcesSkills you'll master
Failover AutomationadvancedLeader Election and FencingadvancedConnection Pooling and ProxiesadvancedHealth Checking DesignadvancedSwitchover vs FailoverintermediateClient Reconnection BehaviouradvancedFailover Testing in ProductionadvancedHands-on projects
- 01Kill a primary without warning the failover tooling and record the time to a single healthy writer
- 02Configure fencing and prove that the demoted primary cannot accept a write after being isolated
- 03Put a connection pooler in front of a cluster and measure how many client errors a failover produces with and without it
- 04Write a health check that distinguishes a slow database from a dead one, and test it against both conditions
- 05Perform a planned switchover during working hours with zero failed writes, and document the sequence that made it safe
- 06Test what your application does when the database is read-only for ninety seconds
Performance and Query Optimisation
Most database performance work is not tuning the server: it is finding the three queries responsible for most of the load and fixing them. The skill is measurement discipline, because intuition about what is slow is reliably wrong. Done when you have found the top queries by total time rather than by worst case, and made a measured improvement to the one that mattered.
4-5 weeks7 SkillsQuery Plan AnalysisIndex Design and MaintenanceWorkload ProfilingLock Contention DiagnosisConfiguration TuningPartitioning StrategyCache Hit Ratio AnalysisShow details, projects and resourcesSkills you'll master
Query Plan AnalysisadvancedIndex Design and MaintenanceadvancedWorkload ProfilingadvancedLock Contention DiagnosisadvancedConfiguration TuningintermediatePartitioning StrategyadvancedCache Hit Ratio AnalysisintermediateHands-on projects
- 01Rank queries by total accumulated time rather than worst single execution, and fix the one at the top
- 02Find an unused index in a production-like database, prove it is unused, and measure the write throughput gained by dropping it
- 03Reproduce a lock contention incident, identify the blocking chain, and record how you would have found it under pressure
- 04Partition a large table and measure both the query improvement and the new maintenance burden it created
- 05Change one memory-related configuration parameter and prove the effect with before-and-after measurements
- 06Build a query performance dashboard that would let an on-call engineer identify a regression in under two minutes
Schema Migrations Without Downtime
A schema change is a deployment that can lock a table and take the site down, and the naive version of the migration is usually the dangerous one. Expand-and-contract turns one risky change into several safe ones. Done when you have shipped a column rename across a running system with no downtime, using separate deployments to add, backfill, switch and remove.
3-4 weeks6 SkillsExpand and Contract PatternOnline Schema Change ToolsBackfill StrategyLock Analysis for DDLMigration Rollback DesignApplication and Schema Version SkewShow details, projects and resourcesSkills you'll master
Expand and Contract PatternadvancedOnline Schema Change ToolsadvancedBackfill StrategyadvancedLock Analysis for DDLadvancedMigration Rollback DesignadvancedApplication and Schema Version SkewadvancedHands-on projects
- 01Rename a column in a live system using four separate deployments, with the application working correctly after each one
- 02Backfill a hundred million rows in batches without pushing replication lag past your alert threshold
- 03Identify which DDL statements take an exclusive lock on your database version, and test the two you were unsure about
- 04Run an online schema change tool against a large table and measure its overhead against a direct ALTER
- 05Design a migration that can be rolled back after deployment, and state the point at which rollback stops being possible
Capacity and Connection Management
Databases fail on connections and IOPS long before they run out of CPU, and the failure mode is a thundering herd of application retries making it worse. Done when you can state your database's maximum sustainable connection count and write throughput from measurement rather than from the vendor's datasheet, and have an alert that fires before either is reached.
3-4 weeks6 SkillsConnection Pool SizingIOPS and Throughput PlanningGrowth ForecastingLoad Testing DatabasesRetry and Backoff DesignResource Saturation AlertingShow details, projects and resourcesSkills you'll master
Connection Pool SizingadvancedIOPS and Throughput PlanningadvancedGrowth ForecastingintermediateLoad Testing DatabasesadvancedRetry and Backoff DesignadvancedResource Saturation AlertingintermediateHands-on projects
- 01Load test until the database degrades and record which resource saturated first — it is rarely the one you expected
- 02Size a connection pool from measurement, then prove the number by testing above and below it
- 03Forecast storage and IOPS growth twelve months out from real data, and state which assumption breaks the forecast
- 04Reproduce a retry storm and fix it with jittered backoff, measuring recovery time before and after
- 05Write saturation alerts that fire with enough lead time to act, and verify the lead time by triggering one
Data Integrity and Corruption Detection
Corruption is the failure mode that does not page anyone: it spreads into backups while every dashboard stays green, and gets discovered months later by a customer. Done when a checksum or consistency check runs on a schedule against real data, and you have seen it detect a fault you introduced deliberately rather than trusting that it would.
3-4 weeks6 SkillsChecksums and Page VerificationLogical Consistency CheckingConstraint and Foreign Key DesignReplica Divergence DetectionSilent Corruption ResponseAudit TrailsShow details, projects and resourcesSkills you'll master
Checksums and Page VerificationadvancedLogical Consistency CheckingadvancedConstraint and Foreign Key DesignintermediateReplica Divergence DetectionadvancedSilent Corruption ResponseadvancedAudit TrailsintermediateHands-on projects
- 01Enable page checksums, corrupt a page deliberately, and confirm the database detects it rather than serving the bad data
- 02Compare a primary and replica row by row and find the divergence you introduced on purpose
- 03Write a scheduled logical consistency check for an invariant your schema cannot express as a constraint
- 04Trace how a corrupted page would propagate into your backups, and state how far back you would need to go
- 05Add constraints to a table that permits invalid states today, and record how many existing rows violate them
Databases on Kubernetes
Running stateful workloads on an orchestrator designed to reschedule things freely is the hardest operational problem in this roadmap, and the honest answer is sometimes not to. Done when you have run a database on Kubernetes through a node failure and a rolling upgrade without data loss, and can argue in writing when a managed service would have been the better call.
4-5 weeks6 SkillsStatefulSets and Persistent VolumesDatabase OperatorsStorage Classes and IOPS on KubernetesPod Disruption BudgetsBackup in a Kubernetes ContextManaged vs Self-hosted DecisionShow details, projects and resourcesSkills you'll master
StatefulSets and Persistent VolumesadvancedDatabase OperatorsadvancedStorage Classes and IOPS on KubernetesadvancedPod Disruption BudgetsintermediateBackup in a Kubernetes ContextadvancedManaged vs Self-hosted DecisionadvancedHands-on projects
- 01Deploy a replicated database with an operator, then delete the primary pod and record what the operator did and how long it took
- 02Drain a node running a database pod and measure the disruption from the client's point of view
- 03Configure pod disruption budgets that survive a cluster upgrade, and verify by performing one
- 04Benchmark the same database on a persistent volume and on local storage, and record the durability trade-off
- 05Write the decision record for self-hosting versus a managed service, costed in engineering hours per month
Data Reliability at Scale
At scale the job stops being one database and becomes a fleet plus the humans who depend on it: RTO and RPO become contracts other teams design against, and self-service beats being a bottleneck. Done when a team other than yours provisions a compliant database without you in the loop, and an incident is handled using a runbook someone else wrote.
4-5 weeks7 SkillsRTO and RPO as ContractsFleet Management and AutomationSelf-service ProvisioningDatabase SLOsIncident Response for DataRunbook AuthorshipSharding and Horizontal ScaleShow details, projects and resourcesSkills you'll master
RTO and RPO as ContractsadvancedFleet Management and AutomationadvancedSelf-service ProvisioningadvancedDatabase SLOsadvancedIncident Response for DataadvancedRunbook AuthorshipintermediateSharding and Horizontal ScaleadvancedHands-on projects
- 01Publish RTO and RPO per tier and get a dependent team to design against those numbers rather than assume zero
- 02Automate provisioning so another team can create a compliant database without you, then watch them use it unaided
- 03Define database SLOs that reflect what users experience rather than what is easy to measure, and report a month against them
- 04Write a runbook for the most likely data incident and have someone else execute it in a drill while you stay silent
- 05Design a sharding strategy for a table that has outgrown one machine, including how a resharding operation would run
- 06Run a game day on a data-loss scenario and record which step of the response was slowest
Resources
Google SRE Workbook — Implementing SLOsGoogle · FreeGoogle SRE Book — Postmortem CultureGoogle · FreeVitess DocumentationVitess · FreeCitus — Distributed PostgreSQLCitus · FreeDatabase Reliability EngineeringLaine Campbell, Charity Majors · PaidSite Reliability EngineeringBetsy Beyer, Chris Jones, Jennifer Petoff, Niall Richard Murphy · Paid
What the job is actually like
- Day to day
- Quieter than the incident stories suggest, because most of the week goes on preventing the incident. That means reviewing schema migrations before they lock a table in production, watching replication lag drift and working out why, and running the restore that proves the backup is a backup. There is steady query work, usually arriving as a complaint that something is slow. What surprises people is how much of it is conversation: talking a team out of a design that will be unfixable at ten times the row count is worth more than any tuning you do afterwards. When it does go wrong it goes wrong with the data, which does not roll back casually.
- The interview
- Expect a scenario rather than trivia — the primary has failed over, replication is behind, what do you do and in what order. Depth in one engine beats shallowness across five, but you will be asked to reason about a database you have never used, because the concepts are what is being tested. A migration exercise is common: change this schema on a large live table without downtime. Backup and restore comes up in nearly every process, and the expected answer describes a restore you have personally performed and timed. Query rounds ask you to read a plan, not to recite index types.
- How people get in
- Mostly from operations rather than from development. Site reliability and infrastructure engineers arrive with production instinct and have to learn where databases refuse to behave like stateless services — the reliability path shares this roadmap's data phase and diverges after it. Traditional database administrators arrive with deep engine knowledge and have to pick up automation, code review and cloud primitives. Backend engineers who became the person who understood the slow query are the third group and often the strongest, because they know why the schema looks like that. What does not transfer is fixing production by hand.
- After senior
- The specialist fork keeps going deeper and stays well paid, because the supply of people who can be trusted with stateful systems does not grow. A broader fork moves into data platform or infrastructure work, where databases become one component of something larger. Some move into the reliability path proper, trading depth for breadth. There is also a consulting route that is unusually viable here: organisations will pay well for a few weeks of someone who has restored a corrupted cluster before. Titles vary more than in most roles, so read the responsibilities rather than the name on the posting.
- Why people leave
- The first is being the only person who understands the database. It feels like job security and is actually a trap — unpromotable, unable to take a holiday, and the organisation never builds a practice around you. Insist on writing it down. The second is a job that is restores and ticket queues with no authority over design, where you inherit every decision and own every consequence; ask in the interview whether database review happens before a migration ships. The third is technology narrowing: a decade on one engine is worth far less than a decade on the problems, and the problems are portable.
Frequently asked questions
Related certifications
- 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.
- Certified Kubernetes Administrator (CKA)A hands-on, performance-based certification proving you can install, configure, and troubleshoot production Kubernetes clusters from the command line.
- 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.
Related roadmaps
- Site Reliability Engineer RoadmapA path from DevOps fundamentals into the specialized discipline of site reliability engineering, covering SLOs, observability, incident response, data reliability, and capacity planning.
- 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.
- DevOps Engineer RoadmapA structured path from Linux fundamentals through cloud infrastructure, automation, containers, and monitoring to a production-ready DevOps engineering career.