경험 중심 1인칭 답변
인턴 때 서비스 배포 일정이 외부 라이브러리 호환성 문제로 2주 지연될 위기가 있었습니다. 저는 먼저 문제가 어디서 발생하는지 범위를 좁히는 작업부터 했습니다. 의존성 버전별로 로컬 환경을 구성해 어느 버전 조합에서 오류가 재현되는지 체계적으로 테스트했습니다. 결국 특정 버전의 직렬화 처리 방식이 달라진 게 원인이었고, 해당 모듈만 이전 버전으로 고정하면서 나머지 의존성은 업그레이드하는 방향으로 해결했습니다.
QA 환경에서 이틀 간 검증 후 배포해 일정을 1주 단축했습니다. 기술 문제는 가설을 빠르게 검증하는 구조를 만드는 게 핵심이라는 걸 배웠습니다. 지금도 디버깅 전에 재현 조건부터 정리하는 습관을 유지하고 있습니다. 앞으로도 기술 문제를 다룰 때 재현 조건을 먼저 정리하고 가설을 빠르게 검증하는 방식을 유지하겠습니다. 원인을 추측하기 전에 문제를 재현하는 환경을 만드는 것이 먼저라고 생각합니다.
디버깅의 80%는 범위를 좁히는 작업입니다.