최근에 운이 좋게 다른 회사 대표님과 얘기를 나눠볼 기회가 있었는데,
그 시간 중 레거시에 대한 주제로 얘기를 나눌 기회가 있었고 그 대화를 한 문장으로 정리하면 지금 제목이 될 것 같다.
그래서 한 번 나도 생각을 정리할 겸 글을 써보려고 한다.
솔직히 개발자 중에 레거시를 좋아하는 사람들은 없을 것이다.
레거시를 수정하는 건 재미없기도 하고, 자신의 개발에 항상 발목을 잡기 때문이다.
나 또한 레거시를 같은 이유로 싫어했었다.
그렇다고 나는 여태 레거시를 하나도 만들지 않았나?
그것도 아니다 분명 복잡하고 깔끔하지 않은 코드들이 있고,
상황을 모르는 개발자가 보면 그저 레거시라고 생각할만한 코드들이 있다.
하지만, 내가 일부러 그렇게 짠 적은 없었다.
중요한 출시 일정을 맞춰야 한다거나 설계 단계에서 전혀 예상치 못한 기획이 들어오는 등 다 그때의 사정이 있었다.
이때 만들어진 코드들은 단순하게 엔지니어의 입장에서 보면 비판을 할 수 있는 코드이지만,
회사의 입장에서는 필요한 코드들이었다.
그래서인 지 그때 대표님과 대화를 한 이후 레거시를 보는 관점이 조금 달라졌다.
대화 이전에는 그냥 보기 싫은 코드들이었지만,
조금 생각을 해보면 지금의 내가 월급을 받을 수 있게 만들어줬던 코드라는 생각이 든다.
얘기를 덧붙여서 완벽한 코드를 만든다는 생각을 좀 버려야겠다는 생각도 함께 드는 것 같다.
돌이켜보면 기획이나 의도를 완벽하게 이해하고 지속가능한 코드라고 생각하며 만들어낸 코드들도 예외 상황들이 발생하면 전체적으로 수정해야 하는 상황이 발생했었다.
그래서 요즘은 기능 하나에 큰 시간을 투자하기보다는 차라리 그 시간에 테스트 코드를 작성하거나 문서를 작성하는 데에 시간을 더 투자하려고 노력한다.
'개인 > 생각' 카테고리의 다른 글
조언을 들을 결심 (0) | 2024.12.04 |
---|---|
무신사의 PC 화면 포기의 의미 (1) | 2024.06.07 |
프론트엔드 출신의 CTO는 왜 없을까 (2) | 2024.03.14 |
운이 좋은 사람 (0) | 2023.02.14 |