문서화 안 된 프로젝트
인수인계 받은 후기
퇴사한 개발자의 흔적만 남은 코드베이스, README 한 줄 없이 시작한 3주.
이직한 회사에서 맡은 첫 프로젝트는, 담당 개발자가 인수인계 없이 갑자기 퇴사한 서비스였다. README는 "# my-project" 한 줄이 전부였고, 커밋 메시지는 대부분 "fix", "update", "asdf" 였다. 리드는 미안한 얼굴로 이렇게 말했다. "일단 코드 보면서 파악해봐야 할 것 같아요." 그렇게 3주간의 고고학 발굴이 시작됐다.

1. 첫날 — 코드베이스를 열었을 때의 막막함
프로젝트 폴더를 열었을 때 가장 먼저 든 생각은 "어디서부터 시작해야 하지"였다. 폴더 구조부터 의도를 알 수 없었다.
utils2 폴더를 보고 처음엔 웃음이 났는데, 실제로 utils 폴더는 어디에도 없었다. 나중에 알고 보니 예전에 utils를 완전히 리팩토링하다가 중간에 멈추고, 새로 만든 utils2만 실제로 쓰이고 있었다. 죽은 코드와 살아있는 코드가 뒤섞여 있어서, 어떤 게 진짜 쓰이는지조차 구분이 안 됐다.
2. 탐정처럼 추적한 과정 — Git 로그가 유일한 단서였다
README도, 주석도 없으니 유일하게 믿을 수 있는 건 Git 커밋 히스토리였다. 커밋 메시지는 부실했지만, 날짜와 변경된 파일 목록을 조합하면 어느 정도 맥락이 보였다.
"결제 관련 로직 임시 수정 (급함)"이라는 커밋 메시지 하나가 실마리가 됐다. 그 커밋 전후로 변경된 파일들을 추적하니, 당시 결제 실패 문제를 땜질식으로 막아둔 흔적을 발견할 수 있었다. Git 로그가 사실상 유일한 인수인계 문서였다.
3. 발견한 것들 — 살아있는 시한폭탄들
2주 차에 접어들면서 코드베이스 전체를 훑는 과정에서, 실제로 위험한 코드들을 여러 개 발견했다.
temp_final_real 폴더가 실제로는 프로덕션 빌드에 포함되고 있었음. 삭제했다면 서비스 전체가 멈출 뻔했다.4. 3주 후 — 다음 사람을 위해 남긴 것들
구조를 어느 정도 파악한 뒤, 가장 먼저 한 일은 내가 겪은 막막함을 다음 사람은 겪지 않게 만드는 것이었다. 완벽한 문서를 만들기보다, 실제로 헤맸던 지점 위주로 최소한의 기록을 남겼다.
문서화 없는 코드베이스를 파악하는 건 예상보다 훨씬 오래 걸렸고, 실제로 위험한 코드를 발견할 때마다 등골이 서늘했다. 하지만 이 경험 덕분에 "내가 떠난 뒤 남을 사람"을 항상 염두에 두고 코드를 짜는 습관이 확실히 생겼다.
결론
문서화 없이 인수인계 받은 3주는 고고학 발굴에 가까웠다. Git 로그 하나에 의지해서 코드의 의도를 추적하고, 죽은 코드와 살아있는 코드를 구분해내는 과정은 힘들었지만, 그만큼 코드베이스를 깊이 이해하는 경험이 되기도 했다. 이 경험 이후로는 내가 짜는 코드에도 최소한의 맥락을 남기는 습관을 들이게 됐다. 비슷한 상황에 놓인 개발자가 있다면, 삭제하기 전에는 반드시 실제 사용 여부부터 검증하라는 말을 꼭 전하고 싶다.
여러분도 비슷한 인수인계 경험이 있으신가요?
문서화 안 된 프로젝트를 인수받으며 겪은 경험이나 노하우가 있다면 댓글로 공유해주세요. 비슷한 상황에 놓인 다른 개발자분들께 큰 도움이 될 것 같습니다.
'개발자 > 실무 개발 현장' 카테고리의 다른 글
| 개발자가 디자이너와 일하면서 겪는 현실 (0) | 2026.09.08 |
|---|---|
| 설계 없이 개발 시작했다가 전부 뒤엎은 경험 (0) | 2026.09.06 |
| 프론트엔드 개발자가 백엔드 건드려야 했을 때의 경험 (1) | 2026.09.03 |
| 주니어 개발자가 시니어한테 혼나면서 성장한 이야기 (0) | 2026.08.29 |
| Git 실수로 코드 날린 날 - 복구기 (1) | 2026.08.23 |