증상에 집중하다가 실제 문제를 재정의하고 해결 범위를 좁힌 경험
팀 프로젝트에서 특정 사용자만 로그인이 안 되는 버그를 맡았습니다. 처음엔 '로그인 기능이 왜 안 되지?'라는 질문으로 인증 코드를 계속 뒤졌는데 원인이 안 나왔습니다.
두 시간을 헤매다가 '어떤 사용자에게만 발생하는가'로 질문을 바꿨습니다. 패턴을 보니 이메일에 특수문자가 있는 사용자에게만 나타났습니다. 문제를 '로그인 실패'에서 '특수문자 입력값 처리 누락'으로 재정의하니 원인이 5분 만에 나왔습니다.
URL 인코딩 처리가 빠진 것이었고, 한 줄 수정으로 해결됐습니다. 두 시간 동안 엉뚱한 범위를 본 실패였습니다. 이후로 버그를 잡을 때 어떤 조건에서만 발생하는가를 먼저 좁히는 것이 문제 재정의의 시작이라는 걸 배웠습니다.