더북(TheBook)

지적인 작업이 100% 의도적인 생각의 산물이라고 생각하겠지만, 사실은 무의식적인 활동도 많이 포함됩니다. 심리학자이자 노벨상 수상자인 대니얼 카너먼(Daniel Kahneman)은 다음과 같이 시스템 1과 시스템 2, 두 가지 시스템으로 구성된 사고 모델을 제안했습니다.

“시스템 1은 노력이 거의 또는 전혀 필요하지 않으며, 제어할 필요 없이 저절로 빠르게 동작합니다.

시스템 2는 복잡한 계산처럼 정신적인 노력을 통해 의도적으로 주의를 기울여야 합니다. 시스템 2의 동작은 보통 주체성, 선택, 집중 등 주관적인 경험과 관련이 있습니다.”[51]

프로그래밍은 전적으로 시스템 2의 영역에 속한다고 생각하기 쉽지만, 반드시 그런 것은 아닙니다. 보고 있는 코드를 이해하기 위해 시스템 1이 항상 백그라운드에서 실행되고 있는 것과 같습니다. 문제는 시스템 1이 빠르긴 하지만 별로 정확하지는 않다는 점입니다. 앞에서 야구 방망이와 공 문제에서 가장 먼저 ‘10’을 떠올렸던 것처럼, 종종 잘못된 추론을 합니다.

소스 코드가 우리 두뇌에서 잘 이해되도록 구성하려면, 시스템 1에서도 잘 동작할 수 있도록 만들어야 합니다. 카너먼의 이야기를 들어봅시다.

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