
1. 배경 (Background): 100세 노인의 자각과 개발자의 착각
솔직히 말해봅시다. 우리는 어제 짠 코드의 로직도 오늘 아침이면 가물가물합니다. 그런데 1년 전, 3년 전 레거시(Legacy)를 머릿속으로만 기억하려 드는 건 오만이 아니라 직무 유기입니다.
최근 뉴요커(The New Yorker)의 칼빈 톰킨스(Calvin Tomkins)라는 작가의 글을 읽었습니다. 1925년생, 올해로 100세가 되는 양반입니다. 그는 자신을 '피블맨(Feebleman, 나약한 인간)'이라 부릅니다. 안경을 쓰고 있으면서도 온 집안을 뒤지며 안경을 찾는 자신의 모습이 우스꽝스럽지만 처절하다고 고백하더군요.
저에게도 그 '피블맨'의 순간이 있었습니다. 몇 년 전, 제가 PM으로 있던 프로젝트에서 장애가 터졌을 때입니다. 분명 제가 기획하고 검수까지 마친 로직인데, 왜 에러가 났는지 도저히 기억이 나지 않았습니다. 코드를 짠 개발자는 퇴사했고, 남은 건 주석 하나 없는 스파게티 코드뿐이었습니다. 그때 뼈저리게 느꼈습니다. "인간의 기억은 RAM이 아니라 휘발성 캐시(Cache)에 불과하다."
톰킨스는 "기억이 구멍 나고 시력이 나빠져서" 100세 기념 일기를 쓰기 시작했다고 합니다. 우리도 인정해야 합니다. 우리의 기억력은 믿을 게 못 됩니다.
2. 현황 및 문제점 (Problem): '기록 부재'가 초래하는 비용
많은 주니어들이 착각하는 것이 있습니다. "코드가 곧 문서다(Code is documentation)"라는 말을 맹신하는 겁니다. 하지만 비즈니스 로직의 '맥락(Context)'은 코드에 드러나지 않습니다.
[표 1. 기억 의존 개발 vs 기록 기반 개발의 리스크 비교]
| 구분 | 기억 의존 (Memory-driven) | 기록 기반 (Doc-driven) | | :--- | :--- | :--- | | 장애 대응 | "어? 이거 왜 이래?" (원인 파악 불가) | "로그 확인하니 3번 모듈 타임아웃임." (즉시 식별) | | 인수인계 | 구전 동화 수준 (말로 때움) | 위키/티켓 링크 전달 (데이터 기반) | | 리스크 | 버스 팩터(Bus Factor) 1 (담당자 부재 시 서비스 마비) | 시스템적 대응 가능 | | 결과 | 기술 부채 폭증, 야근 확정 | 안정적 운영, 칼퇴 가능 |
기사에서 톰킨스는 어릴 적 키우던 개 '로키(Loki)' 이야기를 합니다. 로키는 에너지가 넘쳐서 매번 집을 나갔지만, 목걸이에 전화번호가 적혀 있어 아버지가 찾아올 수 있었습니다. 반면, 우리 시스템은 어떤가요? 목걸이(로그, 주석, 문서) 없는 개가 집을 나가면 영영 못 찾습니다. 서버가 죽었는데 원인을 못 찾아서 롤백(Rollback)만 반복하다 밤새우는 꼴, 더 이상 보고 싶지 않습니다.
3. 해결방안 (Solution): 100년 가는 시스템을 위한 액션 아이템
톰킨스가 100세가 되어서야 일기를 쓰기 시작한 건 늦었지만, 우리는 아직 늦지 않았습니다. 거창한 문서화를 하라는 게 아닙니다. '생존'을 위한 최소한의 흔적을 남기라는 겁니다.
- 'Why'를 기록하십시오:
git commit메시지에 'fix bug'라고만 적지 마십시오. "트래픽 급증 시 DB 커넥션 풀 고갈 문제 해결을 위해 HikariCP 설정 변경"처럼 구체적인 이유를 적어야 합니다. 톰킨스가 트럼프 행정부의 혼란을 기록하듯, 우리도 이 코드가 왜 탄생했는지, 그 '지저분한 현실'을 적어야 합니다. - AI를 비서로 활용하십시오: 문서 쓰는 게 귀찮은 것, 이해합니다. 저도 그렇습니다. Cursor나 Copilot 같은 도구를 쓰세요. "이 함수가 하는 일을 요약해서 주석으로 달아줘"라고 시키십시오. 100세 노인이 요가로 몸을 지탱하듯, 우리는 AI 도구로 우리의 부족한 기억력을 보완해야 합니다.
- 포스트모템(Post-mortem)의 생활화: 실패를 부끄러워하지 마십시오. 기사의 저자는 자신이 이름을 잊고, 안경을 찾는 실수를 적나라하게 드러냅니다. 우리도 배포 실수, 장애 상황을 숨기지 말고 문서로 남겨야 합니다. 그게 후배들이 같은 삽질을 하지 않게 막는 유일한 길입니다.
4. 기대효과 (Expected Effect)
이 '기록하는 습관'이 정착되면 다음과 같은 변화가 일어납니다.
- 온보딩 비용 50% 절감: 신규 입사자가 들어와도 사수 뒤꽁무니만 쫓아다닐 필요가 없습니다.
- 심리적 안정감(Psychological Safety): 내가 없어도 서비스가 돌아간다는 확신이 생깁니다. 휴가 가서 슬랙(Slack) 알림에 떨지 않아도 됩니다.
- 전문성 증명: "감"으로 일하는 게 아니라 "데이터"와 "히스토리"로 일하는 시니어로 인정받습니다.
결론
톰킨스는 기사 말미에 개를 다시 키울까 고민합니다. 100세의 나이에도 새로운 책임과 관계를 맺으려는 그 태도가 저는 존경스럽더군요. 하지만 그는 동시에 자신의 한계(피블맨)를 명확히 인지하고 있습니다.
개발자인 우리도 마찬가지입니다. 새로운 기술 스택, 화려한 아키텍처 다 좋습니다. 하지만 기본인 '기록'이 없다면, 우리는 그저 나이만 먹은 '피블맨' 개발자가 될 뿐입니다. 10년 뒤, 20년 뒤에도 현역에서 뛰고 싶다면, 오늘 당장 커밋 메시지 한 줄부터 제대로 쓰십시오. 당신의 기억력 말고, 당신의 기록을 믿으십시오. 그게 이 바닥에서 100세(Centenarian)까지 살아남는 유일한 비결입니다.


