더북(TheBook)

3.1.6 빚을 지지 마라

프로그래머는 보통 미래의 사건과 비용을 예측하는 데 능숙하지 않다. 마감일을 맞추기 위해 불리한 결정을 내렸던 과거의 순간에 발생한 혼란 때문에 다음 마감일을 맞추기가 더욱 어려워진다. 보통 이것을 기술 부채(technical debt)라고 부른다.

기술 부채는 이미 우리가 의식하고 있는 결정이다. 무의식적인 것은 기술적인 미숙함(technical ineptitude)이라고 부른다. 부채라고 하는 이유는 제때 갚지 않으면 예기치 못한 시점에 그 코드가 여러분을 찾아와서 쇠파이프로 여러분의 다리를 부러트릴 것이기 때문이다.

다양한 이유로 기술 부채가 쌓일 수 있다. 때론 임의의 값을 위해 상수 변수를 만드는 수고를 감당하는 대신 그 값을 그냥 전달하는 것이 더 쉬워 보일 수 있다. “거기에는 문자열이 좋을 것 같다”, “이름을 줄여서 나쁠 것 없다”, “일단 다 복사하고 일부를 바꾸자”, “그냥 정규 표현식을 사용하자.” 이 모든 사소한 잘못된 결정이 여러분과 여러분 팀 성과의 발목을 잡을 것이다. 또한, 시간이 지나면 작업 처리 속도가 현저하게 저하될 것이다. 점점 더 느려지고, 일에 대한 만족감도 줄고, 경영진의 긍정적인 피드백도 줄어들 것이다. 게으름을 잘못 피워서 실패를 자초하는 것이다. 제대로 된 게으름을 피우자. 미래에 올 달콤한 게으름을 위해 일하자.

신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.