더북(TheBook)

3.2.1 지우고 다시 써라

말했듯이 처음부터 다시 시작하라. 이미 작업한 모든 것을 버리고 처음부터 다시 작성하라. 이것이 얼마나 새롭고 빠른 방식인지, 여러분은 상상할 수 없을 것이다. 처음부터 다시 작성하는 것은 매우 비효율적이며 두 배의 시간이 걸릴 것이라고 생각할 수도 있지만, 이미 한 번 해봤기 때문에 그렇지 않다. 이미 문제를 해결하는 방법을 알고 있다. 처음부터 다시 시작해서 얻을 수 있는 효과는 그림 3-6과 같다.

▲ 그림 3-6 동일한 결과를 기대하면서 무언가를 반복할 때의 학습 효과

무언가를 두 번째로 할 때 속도가 얼마나 빨라졌는지 과장해서 말하기는 어렵다. 영화에 등장하는 해커들과 달리, 우리는 대부분의 시간을 모니터를 보며 지낸다. 뭘 작성한다기보다 올바른 방법이 무엇일지 생각하고 고민한다. 프로그래밍은 정교한 공예품을 만든다기보다는 복잡한 의사 결정 트리의 미로를 탐색하는 것에 더 가깝다. 처음부터 미로를 다시 시작할 때 우리는 이미 발생할 수 있는 불상사, 익숙한 함정, 이전에 도전해서 알게 된 미로의 특징을 이미 알고 있다.

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