레거시 코드가 무서운 개발자에게
by 그릿 | GROWTH_ESSAY | 2026-06-09
#성장 #커리어레거시 코드를 처음 받았을 때의 느낌을 기억합니다. 주석도 없고, 변수 이름은 a, b, c. 파일 하나가 3천 줄. 어디서부터 시작해야 하는지 모르겠어서 그냥 닫아버린 적 있습니다.
200명 넘는 개발자를 멘토링하면서 레거시 코드에 대한 두려움을 이야기하는 사람을 많이 봤습니다. 그런데 들어보면, 두려움의 정체가 조금 이상합니다.
코드가 무서운 게 아닙니다
레거시 코드가 무섭다고 말하는 사람들의 실제 두려움은 이겁니다. "내가 건드렸다가 망가지면 어떡하지?" 코드 자체보다 책임에 대한 두려움입니다.
이 두려움은 자연스럽습니다. 아무도 설명해주지 않은 코드를 혼자 다뤄야 하는 상황. 그 코드가 지금 프로덕션에서 돌아가고 있다는 사실. 두려움의 방향이 틀린 게 아닙니다.
하지만 두려움이 회피로 이어지면 문제가 됩니다. 레거시를 피하는 개발자는 결국 어디서든 레거시를 만납니다. 세상에 레거시 없는 회사는 없습니다.
전체를 이해하려 하지 마세요
레거시 코드를 처음 보면 모든 걸 한 번에 이해하려 합니다. 전체 구조부터 파악해야 한다는 강박이 생깁니다. 그러다 압도되고, 결국 "이건 도저히 모르겠다"로 끝납니다.
레거시 코드를 다루는 건 산 전체를 한눈에 보는 게 아닙니다. 지금 내가 수정해야 하는 부분을 찾는 겁니다.
필요한 기능이 어디서 시작하는지 추적하세요. 그 흐름 하나만 따라가 보세요. 전체를 이해하지 않아도 됩니다. 수정해야 할 부분의 전후 맥락만 파악하면 됩니다.
두려움이 줄어드는 순간
레거시 코드를 가장 잘 다루게 된 개발자들의 공통점을 발견했습니다. 그들은 처음에 두려워하지 않은 게 아니었습니다. 두려워하면서도 건드렸습니다.
처음엔 아주 작은 곳부터. 주석 하나를 추가하거나, 변수 이름을 조금 더 명확하게 바꾸는 것부터 시작했습니다. 그러면서 코드가 손에 익기 시작했습니다.
레거시 코드는 이해의 대상이기 전에 익숙해짐의 대상입니다. 자주 보면 두려움이 줄어듭니다.
레거시를 남긴 사람도 당신과 같았습니다
지금 보기에 이해하기 어려운 코드도, 그것을 작성한 사람은 그 당시의 맥락에서 최선을 다했습니다. 시간이 없었거나, 당시엔 지금만큼 알지 못했거나, 팀 규칙이 달랐거나.
레거시 코드는 과거 개발자의 실패가 아닙니다. 그 코드가 지금까지 돌아갔다는 것 자체가 어떤 의미에서는 성공입니다.
무서운 건 당연합니다. 하지만 그 무서움은 건드리기 시작하면 줄어듭니다. 건드리기 전에는 절대 줄어들지 않습니다.