Skip to content

๐Ÿค High-Stakes Incident & Post-Mortem Handling

For a Programmer, an incident is a high-pressure โ€œstress testโ€ of both the system and the teamโ€™s culture. True leadership during a crisis isnโ€™t just about technical heroics; itโ€™s about clear communication, surgical mitigation, and a relentless focus on โ€œBlamelessโ€ root cause analysis.


When the pagers go off, a seniorโ€™s role is to provide a โ€œCalm Centerโ€.

  • Role Clarification: Establish an Incident Commander (IC) to handle communication and a Technical Lead to drive the investigation.
  • Prioritize Mitigation over Root Cause: The goal is to restore service, not to find the bug. If you can roll back, roll back.
  • Communication Cadence: Provide regular updates to stakeholders (e.g., every 15โ€“30 minutes) even if there is โ€œno new newsโ€.
  • Isolate the Blast Radius: Identify which users are affected and disable specific features (via feature flags) rather than letting the entire system fail.

Once the โ€œfireโ€ is out, the real work of a senior begins.

  • Focus on Systems, Not People: Assume everyone acted with the best intentions and the best information they had at the time.
  • The Goal: We donโ€™t want to find โ€œwho messed upโ€; we want to find why the system allowed them to mess up.

Donโ€™t stop at the surface level.

  • Observation: The database crashed.
  • Why? It ran out of disk space.
  • Why? Log rotation failed.
  • Why? A new service was added without updating the log config.
  • Why? Our โ€œservice creationโ€ checklist doesnโ€™t include log rotation setup.

Quantify the pain using SRE metrics:

  • MTTD (Mean Time to Detect): How long before we knew?.
  • MTTR (Mean Time to Resolve): How long until service was back?.
  • User Impact: How many requests failed or how much revenue was lost?.

A post-mortem without action items is just a story.

  • Categorize Action Items:
    • P0: Critical fixes to prevent an immediate repeat.
    • P1: Improvements to detection (monitoring/alerting).
    • P2: Long-term architectural changes to reduce complexity.
  • Avoid โ€œPaperworkโ€ Fixes: Donโ€™t just add a new manual step to a wiki; automate the check into the CI/CD pipeline.

  • Socialize the Learning: Share the post-mortem with the entire engineering department.
  • Celebrate the โ€œNear Missesโ€: Encourage reporting incidents that almost happened so you can fix the system before it actually breaks.
  • Update the On-Call Runbooks: Ensure the next person who faces this problem has a clear guide to follow.

  • Observability: Did our alerts fire correctly, or did a user tell us it was broken first?.
  • Data Integrity: Did the incident cause data corruption? If so, is there a verified plan to restore it?.
  • Psychological Safety: Did everyone feel safe admitting their mistakes during the review?.
  • Prioritization: Have the P0 action items been scheduled in the very next sprint?.

โ€œYou canโ€™t have a zero-incident system, but you can have a system that learns from every failure. The Senior Engineerโ€™s job is to ensure the organization never pays for the same mistake twice.โ€