안녕하세요. 의견 주셔서 감사합니다.
저는 극단을 들여다보았을 때 비로소 본질을 볼 수 있다고 생각합니다. 그런 측면에서 봤을 때 ‘지식과 경험’을 완벽하게 알고 있었다면 시간 내에 부채가 아닌 코드를 만들어낼 수 있다고 생각했습니다.

시간이 부족하다는 것은 두 가지로 나뉠 수 있습니다. 첫 번째는 말 그대로 구현에 필요한 시간이 부족한 경우입니다. 이 경우는 지식과 경험과 별개로 코드를 작성하는 물리적인 시간이 부족해집니다. 따라서 애초에 목표 달성이 불가능한 조건입니다. 두 번째는 무엇이 좋은지 알아볼 시간이 부족한 경우입니다. 이런 경우는 구현에 대한 방법을 알아보거나 더 나은 좋은 것을 찾는 시간이 부족하기 때문에 지금 알고 있는 지식으로만 코드를 작성하여 일을 끝냅니다. 이렇게 일을 완수하면 ‘어딘가 잘못됐다는 것’은 알지만 정확히 어떻게 고쳐야 하는지는 모릅니다. 만약 정확한 지식이 있었고 그에 대한 경험으로 자신감을 얻었다면 이런 문제가 생기지 않을 겁니다.

위에 작성한 시간 부족은 제 의견을 뒷받침해 준다고 생각합니다. 물론 현실적으론 굉장히 어려운 문제입니다. 저는 그저 이상적인 말을 했을 뿐이죠. 완벽하게 지식과 경험을 갖춘 상태는 드물고 말씀하신 것처럼 조직을 위해 일부러 감내하는 경우도 분명 있습니다. 억울함이 있을 수 있지만 저는 이 문제를 ‘극단적으로 본다면’ 지식과 경험이 부족했기에 생긴 문제라고 생각했습니다.

두 번째로 말씀 주신 내부 요인은 간단합니다. ‘비즈니스는 복잡해서 어떤 상황이 닥쳐올지 예측할 수 없는데 …’ 이 부분은 제가 작성한 글에서 ‘비즈니스의 복잡성’에 대한 이야기입니다. 즉, 외부 요인으로 인한 문제입니다. 외부 요인이기 때문에 개발자가 통제할 수 없고 두려움을 느끼는 것입니다. 이 또한 극단적으로 바라봐 비즈니스의 복잡성이 없다고 가정한다면 개발자가 작성한 코드만이 남을 뿐입니다. 그렇다면 내부적으로 통제할 수 있는 ‘지식과 경험’의 문제만이 남습니다.

물론 제가 작성한 글 또한 저의 의견일 뿐입니다. 충분히 반례가 있을 수 있습니다. 의견 교환은 더 나은 길로 갈 수 있는 기회라고 생각합니다. 앞으로도 많은 의견 부탁드립니다. 감사합니다.

친절하게 답해주셔서 감사합니다.