레거시 코드와 값싼 유대감
레거시 코드는 죄가 없다
개발자들에겐 아주 흔한 습관이 하나 있습니다. 바로 ‘레거시 코드’를 씹고 뜯는 것입니다.
“와, 이 코드 진짜 엉망이네. 도대체 누가 짠 거야?”
이런 불평은 엔지니어들 사이에서 꽤 손쉬운 유대감 형성 방식입니다. 서로 낄낄거리는 순간만큼은 묘한 전우애가 생기기도 하죠. 저도 커리어 초기에는 그랬습니다. 조잡해 보이는 코드를 마주할 때면 “이건 대체 뭐람?” 이라며 습관처럼 혀를 찼습니다.
어느 날, 창업 멤버 중 한 분과의 회의에서 여느 때처럼 레거시 코드를 농담 삼아 비판했습니다. 그때 그분이 장난스럽지만 뼈 있는 한마디를 던졌습니다.
“그런데… 그 코드 덕분에 우리가 널 채용할 수 있었던 거야. 그게 우리를 지금까지 버티게 해 준거고.”
예상치 못한 반응에 처음엔 당황했고, 곧 부끄러워졌습니다. 제가 쌓으려던 그 유대감이 얼마나 저렴한 것인지가 분명하게 보였기 때문입니다. 불평으로 동질감을 느낄 순 있겠지만, 그것은 참 값싼 연대감이었습니다.
우리는 종종 ‘지저분한’ 코드에 너무 쉽게 무례해집니다. 하지만 지금 존재하는 그 코드들이야말로 회사의 수익을 만들고, 제 월급을 지급해 주는 고마운 존재들입니다.
개발자의 역할은 단순히 깨끗한 코드를 짜는 것에 그치지 않습니다. 엉망인 코드라도 비즈니스 우선순위와 개발 속도 사이에서 균형을 잡으며, ‘이 정도면 충분하다’는 판단을 내리는 것. 어렵지만 중요한 책임입니다.
레거시 코드는 제가 억지로 견뎌야 할 불행한 환경이 아닙니다. 그것을 다루고, 개선하고, 비즈니스를 앞으로 나아가게 만드는 것이 바로 제 일입니다.