GN⁺: 새벽 2시 정신 붕괴의 해부학
(zarar.dev)2AM 정신적 붕괴의 해부
-
새벽 2시의 깨달음
- 새벽 2시에 극심한 스트레스를 느끼며 정신적 붕괴 직전의 상태였음
- 이유는 jumpcomedy.com의 HTTP POST 호출이 모두 실패했기 때문임
- 최근 변경 사항을 배포했지만, 이 문제를 일으킬 만한 것은 없었음
- 로컬에서는 정상 작동하지만, 문제의 원인을 찾을 수 없었음
-
고립된 상태
- 25년 경력 동안 처음으로 도움을 받을 수 없는 상황에 처했음
- 고객 불만이 쌓이고 있었고, 이를 해결할 수 있는 지원이 전혀 없었음
- 자신을 믿고 의지하는 사람들에게 실망을 안겨주는 상황이었음
-
자기 비난과 절망
- 사업을 접을지, 고객들에게 사과 이메일을 보낼지 고민했음
- 문제의 원인을 찾지 못해 자책하고 있었음
-
에미넴의 등장
- 에미넴의 가사로 마음을 진정시키려 했지만 효과가 없었음
- 여러 가지 시도를 해봤지만 문제의 원인을 찾지 못했음
-
아내의 위로
- 아내가 차를 건네며 위로했지만, 문제 해결에는 도움이 되지 않았음
- 고객들의 이메일이 계속 쌓여가고 있었음
-
희망과 절망의 반복
- Chrome 업데이트가 원인일 수 있다는 희망을 가졌지만, 다른 브라우저에서도 동일한 문제가 발생했음
- 여러 가지 시도를 해봤지만 문제는 여전히 해결되지 않았음
-
PostHog의 문제
- PostHog의 API 키를 추가하자 로컬에서도 문제가 재현됨
- PostHog를 제거하자 문제가 해결됨
- PostHog에 대한 분노와 후회가 있었지만, 결국 문제를 해결한 것에 만족했음
GN⁺의 정리
- 이 글은 개발자가 겪는 극심한 스트레스와 고립감을 잘 보여줌
- 문제 해결 과정에서의 절망과 희망의 반복이 생생하게 묘사됨
- PostHog와 같은 도구가 문제를 일으킬 수 있다는 점을 상기시켜줌
- 비슷한 기능을 가진 도구로는 Mixpanel이나 Amplitude를 추천함
Hacker News 의견
-
SRE로 일하면서 문제를 해결하는 방법을 배운 경험 공유
- 문제를 해결하기 전에 5-10분 동안 생각하는 것이 중요함
- 공포가 합리적인 사고를 방해함
- 매우 차가운 물로 얼굴과 손을 씻는 것이 도움이 됨
- 몇 번의 경험 후 자신감이 생김
-
정신적 붕괴와 불안 발작의 차이 설명
- 불안 발작은 통제할 수 없는 상황임
- Xanax가 도움이 됨
- 불안 발작이 일어나면 일을 할 수 없음을 이해해야 함
-
PostHog의 코드 한 줄이 문제를 일으킴
- "If you ship it, you own it" 원칙 강조
- 중요한 경로에 비핵심 요소를 포함시키지 말아야 함
-
버그가 monkey-patched
window.fetch
에서 발생함- 글로벌 함수를 패치하는 라이브러리는 철저히 테스트해야 함
-
iOS/MacOS 앱에서 발생한 문제 공유
- 350,000개 이상의 설치를 망가뜨린 릴리스
- App Store의 리뷰 프로세스가 문제 해결을 지연시킴
-
변수 이름의 중요성 강조
-
url
대신urlOrRequestInfo
같은 더 정확한 이름 사용 권장
-
-
기술적 문제 해결 과정에서 인간적인 관점도 중요함
- 작은 개발자나 기업가가 공유할 수 있는 이야기
-
문제 해결 방법의 차이점 설명
- SRE/DevOps 엔지니어는 시스템 차이점에 집중함
- 코드와 로그를 먼저 확인하는 프로그래머와의 차이점
-
모든 것을 되돌릴 수 있는지 확인하는 것이 중요함
- 의존성까지 포함하여 되돌릴 수 있어야 함
-
압박감이 문제 해결 속도를 높이지 않음
- 침착함을 유지하는 것이 중요함
- 대부분의 사람들이 비슷한 상황을 경험했을 것임