Files
2nd/10_Wiki/Topics/Other/Burnout.md
T
Antigravity Agent f8b21af4be Wiki cleanup: error-doc removal, dedup merge, link normalization
10_Wiki/Topics 대규모 정리:
- 오류 캡처/미완성 stub 문서 227개 제거
- 교차폴더 중복 43클러스터 병합 (63파일 → redirect)
- 링크명 정규화: 깨진 링크 수정·redirect 직결·개념 매핑 ~2,400건
- 카테고리 MOC 6개 신규 생성
- Graph 섹션 미해결 related-keyword 링크 10,058건 제거

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-20 23:52:15 +09:00

6.0 KiB

id, title, category, status, canonical_id, aliases, duplicate_of, source_trust_level, confidence_score, verification_status, tags, raw_sources, last_reinforced, github_commit, tech_stack
id title category status canonical_id aliases duplicate_of source_trust_level confidence_score verification_status tags raw_sources last_reinforced github_commit tech_stack
wiki-2026-0508-burnout Burnout 10_Wiki/Topics verified self
Occupational Burnout
Job Burnout
Maslach Burnout
none A 0.95 applied
mental-health
occupational-health
engineering-management
productivity
2026-05-10 pending
language framework
n/a WHO ICD-11

Burnout

매 한 줄

"매 chronic workplace stress 의 unsuccessful management 의 result — exhaustion + cynicism + reduced efficacy 의 triad". Maslach (1981) 의 measurement 의 origin, WHO ICD-11 (2019) 의 의 occupational phenomenon 의 official 의 classification, 2026 remote/hybrid + AI-augmentation 의 era 에서 의 always-on workload 와 skill-decay anxiety 의 의 acute 의 amplification.

매 핵심

매 Maslach 3 dimensions

  • Emotional Exhaustion: depleted, drained, "tank empty"
  • Depersonalization / Cynicism: detachment, callousness toward work / colleagues
  • Reduced Personal Accomplishment: efficacy loss, "nothing matters"

매 6 mismatch sources (Maslach & Leiter)

  • Workload: chronic overload
  • Control: autonomy 의 lack
  • Reward: recognition 의 absence
  • Community: relationship breakdown
  • Fairness: unequal treatment
  • Values: misalignment with employer

매 응용

  1. Engineering team early-warning — commit pattern + on-call burden 의 signal.
  2. Recovery protocol — sabbatical, role rotation, scope reduction.
  3. Prevention — sustainable pace, buffer time, retrospective culture.
  4. Post-incident — psychological safety + blameless review.

💻 패턴

Maslach Burnout Inventory (MBI) — quick screen

from dataclasses import dataclass

@dataclass
class MBIScore:
    emotional_exhaustion: int   # 0-54
    depersonalization: int      # 0-30
    personal_accomplishment: int  # 0-48 (reverse)
    
    def risk_level(self) -> str:
        ee_high  = self.emotional_exhaustion >= 27
        dp_high  = self.depersonalization >= 13
        pa_low   = self.personal_accomplishment <= 31
        score = sum([ee_high, dp_high, pa_low])
        return ["Low", "Moderate", "High", "Severe"][score]

Engineering burnout signals (commit telemetry)

import pandas as pd

def burnout_signals(commits: pd.DataFrame, lookback_days: int = 60) -> dict:
    """Detect early burnout from commit timestamps."""
    recent = commits[commits["ts"] > pd.Timestamp.now() - pd.Timedelta(days=lookback_days)]
    return {
        "weekend_pct": (recent["ts"].dt.dayofweek >= 5).mean(),
        "after_hours_pct": ((recent["ts"].dt.hour < 9) | (recent["ts"].dt.hour > 19)).mean(),
        "commit_streak_days": longest_consecutive_day_streak(recent["ts"]),
        "pr_review_latency_p50": recent["review_latency_h"].median(),
    }

# Trigger: weekend > 25% OR streak > 21d OR after-hours > 20%

On-call rotation fairness (page burden)

def on_call_burden(pages: list[dict], engineer: str, window_days: int = 30) -> dict:
    """ICE-style page-volume + sleep-disruption tracking."""
    e_pages = [p for p in pages if p["engineer"] == engineer]
    sleep_disrupted = [p for p in e_pages if 0 <= p["hour"] < 6]
    return {
        "total_pages": len(e_pages),
        "sleep_disrupted_pages": len(sleep_disrupted),
        "comp_time_owed_h": len(sleep_disrupted) * 4,
    }

Recovery protocol (manager template)

@dataclass
class RecoveryPlan:
    duration_weeks: int
    scope_reduction_pct: float  # e.g. 0.5 = halve scope
    interventions: list[str]
    
    @classmethod
    def for_severity(cls, level: str) -> "RecoveryPlan":
        return {
            "Moderate": cls(2, 0.25, ["scope cut", "no on-call"]),
            "High":     cls(4, 0.5,  ["sabbatical week", "no meetings", "therapy"]),
            "Severe":   cls(8, 1.0,  ["medical leave", "psychiatric eval"]),
        }[level]

Sustainable-pace policy (team-level)

# .team/sustainable-pace.yaml
hours:
  expected_weekly: 40
  hard_cap: 50
  
on_call:
  rotation_size_min: 6
  weekend_compensation: comp_day
  paging_threshold: 3_per_shift

vacation:
  minimum_consecutive_days: 5
  manager_approval_required: false
  blackout_periods: []  # no blackouts allowed

friday_deploy: false
weekend_release: false  # except emergency

Post-incident psychological safety

Blameless retrospective questions:
1. What did you observe? (no "you should have")
2. What constraint were you under?
3. What would have helped?
4. What systemic gap surfaced?

매 결정 기준

상황 Approach
Early signal (1 dimension high) Scope reduction + check-in
Moderate (2 dimensions) Recovery plan + therapy referral
Severe (3 dimensions) Medical leave + role evaluation
Team-wide pattern Systemic — review WLB, rotation, scope
Post-major-incident Blameless retro + comp time

기본값: engineering manager 의 default — quarterly MBI screen + commit telemetry + sustainable-pace policy.

🔗 Graph

🤖 LLM 활용

언제: burnout signal detection from telemetry, recovery plan draft, retrospective question generation. 언제 X: clinical diagnosis 의 substitute 의 X — therapy 의 separate.

안티패턴

  • "Resilience training"-only: individual fix 의 systemic problem 의 mask.
  • Pizza & ping-pong: perks 의 root cause (workload, control) 의 not-address.
  • Burnout = weakness: stigma 의 의 의 의 reporting 의 suppress.
  • Manager 의 "just push through": short-term gain 의 long-term attrition.

🧪 검증 / 중복

  • Verified (Maslach & Leiter The Truth About Burnout; WHO ICD-11 QD85).
  • 신뢰도 A.

🕓 Changelog

날짜 변경
2026-05-08 Phase 1
2026-05-10 Manual cleanup — Maslach 3D, MBI, commit telemetry signals, recovery protocol