야놀자 레거시 청산 TF 시절, 팀장급만 공유하던 '지하 70만 개' 발굴 리포트

야놀자 레거시 청산 TF 시절, 팀장급만 공유하던 '지하 70만 개' 발굴 리포트

박준혁·2026년 2월 5일·3

야놀자 레거시 청산 TF 시절의 경험을 통해 암스테르담 지하철 발굴 현장과 레거시 코드의 공통점을 분석하고, 엔지니어로서 레거시를 대하는 올바른 태도를 제안합니다.

솔직히 까놓고 말해봅시다.

여러분이 지금 만지는 코드, 얼마나 깨끗한가요?

명문대 나와서 바로 유니콘 기업 간 주니어들은 "이게 코드냐, 똥이냐" 하면서 욕부터 박겠죠.

근데 저는 그 '똥' 덕분에 밥 벌어먹고 살았습니다.

연봉 1,800만 원 받으면서 php 파일 하나에 3천 라인씩 때려 박던 시절, 제 코드는 그냥 생존을 위한 몸부림이었습니다.

오늘 보여드릴 건, 뜬금없지만 '암스테르담 지하철 공사 현장' 이야기입니다.

이게 무슨 개발 이야기냐고요?

일단 들어보세요. 이거 완전 우리네 레거시 청산 프로젝트랑 판박이거든요.


암스테르담에서 남북을 잇는 지하철 라인을 뚫다가, 땅속에서 유물 70만 점이 쏟아져 나왔습니다.

그걸 다 모아서 정리한 웹사이트가 있는데, 스크롤을 내려보면 기가 막힙니다.

맨 위에는 2005년에 잃어버린 노키아 휴대폰, 신용카드가 나옵니다.

조금 더 내리면 1980년대 동전이 나오고,

미친 듯이 스크롤을 내리면 17세기 도자기 조각, 중세 시대 뼈다귀, 로마 시대 동전까지 튀어나옵니다.

이걸 보는데 뒤통수를 한 대 맞은 것 같더군요.

"이거... 지난주에 내가 까본 레거시 DB 테이블이랑 똑같잖아?"


제가 야놀자 레거시 청산 TF에 들어갔을 때 일입니다.

서버실 구석 어딘가에 박혀 있던 오래된 모놀리식 서버를 뜯어봤습니다.

거기엔 암스테르담 진흙탕처럼 온갖 '개발의 역사'가 묻혀 있었죠.

가장 위층에는 최신 Spring Boot로 짠 API가 예쁘게 돌아갑니다.

근데 그 밑을 파고 들어가면요?

2015년에 퇴사한 김 대리님이 "나중에 수정함"이라고 주석 달아놓은 하드코딩된 변수가 나옵니다.

더 파고 들어가면?

2010년도에 유행했던, 지금은 아무도 안 쓰는 이상한 라이브러리가 좀비처럼 살아있죠.

심지어 맨 밑바닥에는 창업 초기에 급하게 때려 박은 날것의 SQL 쿼리가 화석처럼 박혀 있습니다.


많은 개발자가 이 '지층'을 혐오합니다.

"누가 코드를 이따위로 짰어?" 하면서 싹 밀어버리고 싶어 하죠.

새로 짜는 게 빠르다고요?

천만의 말씀입니다.

암스테르담 시가 저 잡동사니들을 왜 하나하나 닦아서 웹사이트에 올렸을까요?

저게 그냥 쓰레기가 아니기 때문입니다.

저 잡동사니들이 바로 암스테르담 시민들이 어떻게 살았는지를 보여주는 '증거'거든요.

코드도 똑같습니다.

여러분이 '더러운 코드'라고 부르는 그 덩어리들.

사실은 회사가 망할 뻔했을 때 밤새워 막아낸 핫픽스였고,

투자자가 당장 기능 내놓으라고 쪼아댈 때 개발팀장이 영혼을 갈아 넣어 만든 기능입니다.

그 '더러운 코드'들이 돈을 벌어왔고, 그 돈으로 지금 여러분이 맥북 프로 지급받고 슬랙으로 농담 따먹기 할 수 있는 겁니다.


SI 파견 나가서 남의 코드 욕하는 건 쉽습니다. 책임질 필요가 없으니까요.

하지만 진짜 '비즈니스 하는 엔지니어'라면 태도가 달라야 합니다.

레거시를 마주했을 때, 코웃음 치는 대신 '고고학자'의 마음을 가지세요.

1. 함부로 지우지 마세요.

안 쓰는 코드 같죠? 지우는 순간 결제 시스템이 멈춥니다. 그 코드가 왜 거기 박혀있는지, 어떤 맥락(Context)이 있었는지 파악하는 게 먼저입니다.

2. 지층을 이해하세요.

이 코드가 작성된 시점의 기술 스택과 비즈니스 상황을 역추적하세요. "아, 이때 트래픽이 폭주해서 임시로 캐싱을 이렇게 걸었구나"라고 이해해야 리팩토링 방향이 보입니다.

3. 존중하세요.

누군가의 치열했던 밤샘 흔적입니다. 그 사람도 클린 코드 쓰고 싶었을 겁니다. 근데 당장 내일 서비스 런칭 못 하면 월급이 안 나오니까 그렇게 짠 겁니다.


암스테르담 지하철은 저 유물들을 다 발굴하고 기록한 뒤에야 완공되었습니다.

우리도 마찬가지입니다.

화려한 MSA, 쿠버네티스 도입? 좋습니다.

하지만 그 전에 우리 발밑에 묻혀 있는 10년 묵은 코드 조각들을 직시해야 합니다.

그걸 이해하지 못하면, 여러분이 새로 짠 그 '깔끔한 코드'도 3년 뒤엔 똑같은 '쓰레기' 취급을 받게 될 겁니다.

지하철 공사하다 낡은 숟가락 나왔다고 욕하지 마세요.

그 숟가락 덕분에 누군가는 밥을 먹었고, 도시는 성장했습니다.

오늘도 묵묵히 '디지털 노가다' 판에서 삽질하고 있는 여러분.

여러분이 파내고 있는 그 버그 덩어리가, 사실은 이 회사를 지탱해 온 역사입니다.

그러니까 기죽지 말고, 오늘도 한 삽 깊게 떠봅시다.

형이 오늘 술 한 잔 살게요.

박준혁
박준혁그로스 엔지니어링 리드

지방대 철학과, 국비지원 출신. 첫 연봉 1,800만 원에서 시작해 유니콘 기업 리드가 되기까지. 코딩 재능은 없지만 생존 본능은 있습니다.

박준혁님의 다른 글

댓글 0

첫 번째 댓글을 남겨보세요!