토끼굴로 들어가기
제대로 모험을 해보고 싶은 사람에게는 한 가지 질문이 더 남아 있다. 애초에 개발자는 왜 이렇게 버그가 많은 코드를 만든 걸까? 버그는 왜 생기는가? 개발자 교육의 문제일까? 개발자가 일하는 방식의 문제일까? 코딩할 때 반드시 테스트를 작성해야 하는 걸까? 시스템에 수정을 어렵게 하는 설계상의 문제가 존재했나? 프로그래밍 언어가 너무 복잡했나? 사용한 라이브러리가 그리 잘 만들어진 게 아니었던 걸까? OS가 제대로 작동하지 않은 걸까? 문서가 명확하지 않았던 걸까?
일단 이 질문에 대한 답을 얻으면 그 문제의 근본 원인이 무엇인지, 만족할 만한 수준의 답을 얻을 때까지 계속해서 질문을 이어갈 수 있다. 이는 토끼굴로 자처해서 들어가는 행위나 다름없지만, 그 과정에서 소프트웨어 개발을 바라보는 시각이 완전히 바뀔 수도 있다. 사실 이론적으로는 이 모험이 끝없이 이어져 소프트웨어 업계 전반에 스며 있는 근본 문제를 해결하는 지점까지 가는 것도 가능하다. 얼마나 멀리 갈지는 전적으로 본인의 선택이다.