고려 요소(4축) → 팀 소통(RFC·1:1) → 결과(로그인·인시던트 개선) → 학습(사고 가능성 가시화)
백엔드 주니어 1년차 때 사내 인증 모듈을 JWT 자체 구현에서 OIDC 표준(Keycloak)으로 옮기는 결정에 영향을 미친 적이 있습니다. 처음 안건은 '지금 잘 굴러가는데 왜 바꾸냐'였는데, 본인이 발견한 두 가지 사고 가능성을 근거로 결을 돌렸습니다.
고려한 요소는 네 가지였습니다. 첫째, 단기 비용 vs 장기 운영비용. 자체 구현 유지에 들어가는 보안 패치·키 회전 작업이 분기당 3일이라는 점을 시간 단위로 환산했습니다. 둘째, 사고 모드 카탈로그 — JWT 알고리즘 혼동·키 노출·세션 고정 세 가지 사고 시나리오를 표로 만들었습니다. 셋째, 마이그레이션 리스크 — 기존 사용자 토큰 24만 건의 호환 처리. 넷째, 사내 다른 시스템과의 SSO 확장성.
팀 소통 쪽으로는, 결론을 먼저 들이밀지 않고 '사고가 안 났을 뿐 안 났던 게 아니다'라는 문장 한 줄로 시작하는 짧은 RFC 문서를 만들었습니다. 시니어 3분과 1:1 30분씩 사전 의견을 받고, 그 의견을 RFC v2에 반영해 팀 회의에 올렸습니다.
결과는 분기 안에 OIDC 도입이 결정됐고, 3개월 후 평균 로그인 시간 4.2초→1.8초, 인증 관련 인시던트 분기 7건→0건으로 닫혔습니다.
배운 점은 '기술 결정은 옳음의 증명이 아니라 사고 가능성의 가시화'라는 결이었습니다.