개요
8월 말에 킥오프를 시작하고 9월에 시작했던 하나의 작업이 10월 중순이 되어서야 끝이 났습니다. 무사히 QA도 통과했고, 다음주 배포를 기다리고 있습니다. 처음에는 이렇게 까지 오래걸릴 작업인지 생각못했고, 간단해보이는 작업이었습니다. 하지만 10년동안 수많은 사람들의 손을 거쳐가면서 레거시로 남은 코드들을 고치기는 쉽지 않았습니다. 특히 이번에는 결제쪽 관련 기능을 추가했는데, 잘못하면 회사의 매출에도 피해를 입을 수 있기 때문에 더 민감하게 작업했습니다. 결과물을 보면 별로 어려워 보이지 않아 보이는데 왜이렇게 오래 걸렸을까? 고민을 해보았습니다.
정책 정하기
결제쪽 로직을 건들이는 만큼, 수많은 경우의 수를 판단해야했습니다. 그러다보니 생각하지도 못한 케이스들에 대해서 논의하고 대응해야했기 때문에 머리가 아팠습니다. 마무리 되었다고 생각했을 때는 또 다른 문제들이 튀어나왔고, 개발을 완료해도, 자체적으로 QA를 진행해도 마음이 편하지않았습니다.
개발
레거시 코드들은 신규 기능을 추가하거나 변경을 할 때도 가로 막습니다. 특히 코드 작성은 AI가 해주는 시대에 설계가 중요해지고 있고, 저 또한 코드 설계에 가장 많은 시간을 사용합니다. 사람들마다 설계를 하는 방법은 다양하지만, 저는 읽기 쉬운 코드를 작성하는 것을 가장 중요하게 생각하고 설계합니다. 그러기 위해서는 코드는 쉽게 읽혀야하고, 구조화가 잘 되어 있어야합니다. 그래야 다른 사람이 해당 코드를 만질 때 이해하기 쉬어진다고 생각합니다. 하지만 이번 개발에서는 수많은 개발자들이 기능들을 추가하고, 관리가 되고있지 않던 코드들로 인하여 이 설계가 쉽지 않았습니다. props driling 문제도 심각했었고, 코드를 이해하기도 쉽지 않았습니다. checkbox 하나를 추가하기 위해서 수많은 컴포넌트들의 의존성을 확인해야했고, 많은 시간을 잡아먹었습니다.
회고
결국 이번 작업에서 가장 많은 시간을 잡아먹은건 레거시 코드가 제일 큰 이유였고, 레거시 코드 때문에 또 다른 레거시 코드를 만들 수 밖에 없었습니다. 미래의 또 다른 누군가도 저의 코드를 보면서 욕을하겠죠.(하씨.. 왜 이렇게 짰어..) 레거시 코드는 단순한 기능을 추가할 때도 어렵게 만드는 역할을 한다고 생각합니다. 그래서 저는 리펙토링이라는 것을 중요하게 생각합니다. 많은 코드들이어도 꾸준히 관리가 되어야합니다. 이전에는 리팩토링을 하기 위해서 많은 시간을 써야했지만, 요즘은 AI를 통해서 리팩토링에 드는 시간은 충분히 줄일 수 있다고 생각합니다. 그리고 리팩토링은 눈에 보이지 않은 매출이라고 생각합니다. 리팩토링을 하면서 매출에 중요한 기능을 더 쉽고 빠르게 추가할 수도 있으니까요. 어쩌면 이 회사를 다니면서 가장 힘들게 하는건 레거시 코드들이 아닐까 생각이 들 때도 있습니다.(그래도 사람때문에 힘들지 않은게 다행이라고 생각합니다) 이전에 다른 글에서도 레거시 코드들을 정리하고싶다고 글을 적은적이 있는데, 생각보다 쉽지 않은 싸움일거 같다는 생각이 요즘 듭니다. 이걸 고치기 위해서는 백엔드도, PM도 필요한데.. 저와 동일한 생각과 의욕을 가진 사람이 있을지 모르겠습니다. 그래도 주어진 환경에서 최대한 좋은 결과물을 뽑아내는 것도 실력이라고 생각을 합니다. 이 의욕들이 꺾이질 않길 바라며 이번주 글도 마치겠습니다.
'일상 일기' 카테고리의 다른 글
| 파주 일기 (0) | 2026.10.11 |
|---|---|
| 미리디 수습기간 종료 (1) | 2026.10.02 |
| 배불렀던 연휴 일기 (0) | 2026.09.28 |
| 입사 2달차 (1) | 2026.09.18 |
| 아픈 자동차 수리해주기 (0) | 2026.09.12 |














