brunch

You can make anything
by writing

C.S.Lewis

by 한별 Mar 28. 2024

기술부채를 대하는 나의 태도를 돌아보며

우선 이 글을 쓰게 된 건 다름이 아니라 최근에 내가 기술부채를 대하는 태도에 있어 돌아볼만한 사건이 있어서 이렇게 남겨본다.


얼마 전 프론트팀에서 나를 포함한 세 명이 투입된 프로젝트가 있었다.

QA마지막날이라 무사히 잘 끝나기를 고대하던 도중 프론트부분에서 이슈가 발생하였다.

당연히 퇴근시간이 지난 상태였고 우리 세 명은 원인을 찾기 위해 분주하게 움직였다.

원인은 빠르게 발견되었는데, 문제는 우리가 개발한 부분이 아니고 원래 존재하던 코드에서 예상하지 못한 오류가 발생한 것이라 어디서부터 손을 대야 할지 막막했다는 것이다.


일단 그래도 손을 놓고 있을 수는 없기 때문에 정신 차리고 빠르고 꼼꼼하게 코드 파악부터 하였다.

아무래도 처음부터 이러진 않았을 거 같은데, 서비스의 확장으로 코드가 좀 꼬여버린 것 같다.


그래도 파악은 끝났으니, 딱 떠오르는 해결방안 두 가지 중에 하나를 선택하고 진행하려고 하였다.

선택지는 다음과 같았다.

꼬여버린 부분을 굳이 건드리지 않고 현재 문제를 해결하는 방법 (20분 내로 처리 가능)

꼬여버린 부분을 풀고 영향 가는 모든 페이지를 개선하여 현재 문제를 해결하는 방법 (측정 불가)

이렇게 선택지만 보면 당연히 후자가 좋아 보일 수 있겠지만 전자 역시 현재 우리가 서비스하는 플랫폼에서 대응할 수 있는 모든 케이스를 아우를 수 있는 선택지다.

물론 앞으로 더 확장되면 문제가 생기겠지만 말이다.


나는 두 가지 선택지 중에 첫 번째 선택지를 골랐다.

당장 서비스하는데 문제없고 꼬여있는 건 나중에 풀어도 될 거라고 판단했다.

지금 우리가 해결하기를 기다리는 사람도 많고, 여러 가지 비용 측면에서 굉장히 합리적인 선택이라고 생각했다.


하지만 같이 확인하던 동료는 이런 내 선택에 전혀 동의하지 않았다.

"나중에 하겠다고 보면 결국 나중에라도 처리된 적이 없다. 지금 잡고 가야 한다."라는 게 동료의 입장이었다.

다시 차분히 내가 이런 선택을 한 이유를 설명하며 설득을 해보려 했지만 전혀 타협점이 보이질 않았다.

그래서 내 뜻을 접고 동료의 선택대로 진행을 하였다. 어찌 되었던 작업을 시작은 해야 하니 말이다.


2시간 정도 걸려 처리한 결과 끝내 모든 부분을 풀어내지는 못했다.

그래도 목표인 문제해결에 있어서는 마무리가 되었으니 이렇게 서로 합의하에 종료하기로 하였다.


결론부터 말하자면 이날 작업한 게 배포되지는 못했다.

아이러니하게도 우리뿐만 아니라 서버 쪽에서도 이슈가 발생하여 다음으로 넘겼기 때문이다.

그래서 시간적 여유가 생긴 김에 내가 자처해서 꼬여있는 모든 부분을 풀어버리고 깔끔하게 처리하였다.


내가 다 처리하고 나서 공유를 하였더니 동료가 이런 말을 하였다.

"이게 다 기술부채다. 이런 식으로 기술부채를 만들면 안 된다."라고 말이다.


이러한 일련의 사건으로 인해 나는 좀 혼란스러웠다.

"합리적인 선택이 아니었던 걸까?", "그저 합리적이라는 건 핑계고 편하게 가려고 했던 건 아닐까?" 라면서 꼬리를 물고 나에게 질문하며 돌아보았다.

답을 찾기가 어려워 기술 부채에 대한 아티클이 있지 않을까 싶어 참 많이도 찾아보았다.


그래서 많은 아티클의 결론은 "기술부채가 나쁜 건 아니다."였다.

뭐 물론 나쁜 건 아니라는 말은 다른 말로 좋은 것도 아니라는 점은 잊어서는 안 된다.


내가 겪은 사건에 의해 생겨난 코드 역시 기술부채라 할 수 있지만, 그 외 다양한 이유로 인해 기술부채가 쌓이기 마련이다.

서비스의 확장, 제한된 시간, 변화하는 기술, 부족한 컨벤션, 성장 등 정말 다양한 이유가 있기에 기술부채가 쌓이는 걸 막을 수 없다고 생각된다.


동료는 기술부채가 쌓이는 걸 볼 수 없었기에 최소화하고 싶어 그랬을 거라 그런 입장을 보인 것에 존중한다.

하지만 내 선택도 틀리지는 않았다고 생각한다.

단지 둘의 입장 차이는 어느 저울에 좀 더 많은 추를 담고 있느냐에 따라 달라졌다고 생각한다.


많은 아티클을 참고하여 종합적으로 나온 결과는

기술 부채가 쌓이는 것은 막을 수 없고 단지 최소화하며 작업하는 게 최선이다라는 것이다.


개인적으로는 "현재 서비스와 상황을 잘 고려해 선택하고 기술 부채가 쌓이면 나중에 부채를 갚으면 되지 않을까?"라는 생각을 해본다.


나름 결론을 내리고자 이 글을 작성해 보았는데,

명확하게 기술부채는 어떤 식으로 해야 한다라고 결론을 내리지는 못할 것 같다.


허무하지만 이렇게 여전히 고민하며 이 글을 마친다.

매거진의 이전글 이직 준비는 언제 하는 게 좋을까?
브런치는 최신 브라우저에 최적화 되어있습니다. IE chrome safari