3. 전문가는 패턴을 본다
인지과학에서 말하는 전문가란, 문제 상황에서 관련된 패턴을 즉시 인식하고, 의미 있게 조직화된 지식 구조를 통해 자동적으로 적절한 해결책을 떠올릴 수 있는 사람입니다.
단순히 많이 아는 것이 아니라, 지식을 보는 방식 자체가 다른 것이죠.
체스 마스터의 비밀
체스 마스터의 뇌를 연구한 체이스와 사이먼의 실험은 놀라운 사실을 밝혀냈습니다. 체스 마스터에게 실제 경기 중의 체스판을 5초간 보여주고 기억하게 했더니, 20개 이상의 말 위치를 정확히 기억했습니다. 초보자는 고작 4~5개만 기억했죠. "역시 천재는 다르구나"라고 생각하실 수도 있습니다.
그런데 반전이 있습니다. 체스 말을 무작위로 배치한 체스판을 보여줬더니, 체스 마스터도 초보자와 똑같이 4~5개만 기억했습니다. 이게 무슨 의미일까요?
체스 마스터는 기억력이 뛰어난 것이 아니라, 체스판을 보는 방식이 다른 것입니다.
청킹: 패턴으로 묶어서 보기
초보자가 개별 말들을 하나하나 기억하려 할 때, 체스 마스터는 전체 판을 몇 개의 의미 있는 '패턴'으로 봅니다. 마치 우리가 'ㄱ, ㅏ, ㅁ, ㅅ, ㅏ, ㅎ, ㅏ, ㅂ, ㄴ, ㅣ, ㄷ, ㅏ'를 개별 자음과 모음으로 보지 않고 '감사합니다'라는 하나의 의미 덩어리로 인식하는 것처럼요. 심리학자들은 이를 '청킹(Chunking)'이라고 부릅니다.
이 과정을 『제대로 연습하는 법』의 저자 아투로 E. 허낸대즈는 이렇게 표현합니다.
"우리 뇌는 감각 체계와 운동 체계를 통해 세상과 관계를 맺기 시작한다. 처음에는 매우 기본적인 수준에 머물다가, 마치 표면에 있는 것을 가져다가 중심으로 끌고 들어가는 구처럼 계속 말려 들어간다."
언어 학습이 바로 이런 과정을 통해 일어납니다. 이를 '인폴딩(infolding)'이라고 부릅니다.
처음에는 'ㄱ', 'ㅏ' 같은 개별 소리를 익히고, 이것들이 조합되어 '가'가 되고, '가'들이 모여 '감사합니다'가 되고, 문장이 되고, 단락이 되고, 책이 됩니다. 숙련된 독자에게는 글자들이 단어 속으로 사라지고, 단어들은 문장 속으로 사라집니다.
이는 개발자에게도 똑같이 적용됩니다. 주니어 개발자는 코드를 볼 때 if문, for문, 함수 선언 하나하나를 개별적으로 파악합니다. 시니어 개발자는 "아, 이건 API 응답을 안전하게 처리하는 패턴이네", "여기는 상태 관리 로직이 들어가야 할 곳이군" 하고 큰 그림을 먼저 파악합니다.
5만 개 패턴의 힘
연구에 따르면 체스 마스터는 5만 개 이상의 체스 패턴을 장기기억에 저장하고 있다고 합니다. 이 패턴들이 그들의 '심적 표상(Mental Representation)'을 구성합니다. 심적 표상이란 전문가의 머릿속에만 존재하는 강력한 정신적 이미지입니다.
흥미로운 것은 우리가 '창의적'이라고 부르는 순간들도 사실은 이런 패턴의 조합에서 나온다는 점입니다. 심리학자 스웰러는 "창의성은 진공 상태에서 나오지 않는다"고 말했습니다. 연구에 따르면, 어떤 분야에서든 창의적인 성과를 내려면 최소 1만 시간의 의도적 수련을 통해 5만 개 정도의 청크를 축적해야 합니다. 그 천재적으로 보이는 발상도 사실은 이미 머릿속에 저장된 수많은 패턴들의 새로운 조합인 것입니다.
[잠깐!] 앞서 배운 '일반해'가 바로 이 '청크'입니다.
추상화 교과서 3장에서 우리는 Form, Query, Validator 같은 일반해를 배웠습니다. 왜 그걸 '단어장'처럼 외우라고 했을까요?
바로 여러분의 뇌 속에 고품질의 '청크'를 심기 위해서입니다.
•
초보자: useState, useEffect, if문을 하나하나 읽습니다. (낱알)
•
전문가: "아, 이건 [Query + List] 패턴이네"라고 인식합니다. (청크)
여러분이 일반해를 많이 알수록, 체스 마스터가 체스판을 보듯 코드를 덩어리로 보게 됩니다. 이 책은 여러분에게 '전문가의 청크'를 설치하는 가이드입니다.
그렇다면 패턴을 보면 뭐가 좋을까요? 왜 시니어는 주니어보다 더 적은 노력으로 더 나은 결과를 낼까요?
4. 패턴이 효율을 만든다
자동화의 힘
운전을 배울 때를 떠올려보세요. 초보 때는 기어 변속, 핸들 조작, 페달 밟기에 온 신경을 쏟느라 라디오 소리도 못 듣습니다. 하지만 숙련되면? 음악을 들으며 친구와 대화하면서도 안전하게 운전할 수 있죠. 이것이 바로 청킹과 자동화의 힘입니다.
약한 방법 vs 강한 방법
인지과학자들은 문제 해결 전략을 '약한 방법(Weak Method)'과 '강한 방법(Strong Method)'으로 구분합니다.
약한 방법은 경험과 시행착오에 의존해 문제를 탐색하는 접근이고, 강한 방법은 지식과 구조화된 전략을 활용해 효율적으로 목표에 도달한다.
약한 방법은 어떤 상황에서든 사용할 수 있는 범용적인 방법입니다. 시행착오, 무작위 탐색, "일단 해보고 안 되면 다른 걸 시도하자" 같은 접근이죠. 지식이 없어도 쓸 수 있지만, 효율이 떨어지고 문제 해결 성공 가능성도 낮습니다.
반면 강한 방법은 특정 상황에 특화된 전문적인 해결법입니다. 예를 들면, "React에서 리렌더링이 너무 많이 일어날 때는 먼저 useMemo와 useCallback을 확인하고, 그래도 안 되면 컴포넌트 구조를 다시 설계한다" 같은 구체적인 전략이죠. 적용 범위는 좁지만, 해당 상황에서는 매우 효과적입니다.
코드로 예를 들어볼까요?
•
약한 방법 (Weak Method):
버그가 발생했을 때 console.log를 여기저기 10개씩 찍어보며 "제발 어디 하나 걸려라"하고 기도하는 것. (탐색 비용이 높음)
•
강한 방법 (Strong Method):
"이 에러 메시지는 비동기 시점 문제네. 그럼 useEffect 의존성 배열이나 Race Condition을 먼저 체크해야지"라고 패턴에 맞는 솔루션을 바로 꺼내는 것. (탐색 비용이 낮음)
전문가가 빠른 이유는 손이 빨라서가 아니라, '강한 방법'의 라이브러리가 머릿속에 많기 때문입니다.
인지부하의 차이
초보자는 주로 약한 방법에 의존합니다. 문제는 약한 방법이 엄청난 인지부하를 일으킨다는 것입니다. 우리의 작업기억(단기기억)은 한 번에 5개 안팎의 정보만 처리할 수 있는데, 약한 방법을 쓰면 이 제한된 자원을 모두 기본적인 처리에 써버립니다. 그래서 더 높은 수준의 사고, 예를 들어 "이 설계가 6개월 후에도 유지보수하기 좋을까?" 같은 질문을 할 여유가 없죠.
전문가가 되는 과정은 약한 방법에 의존하던 문제 해결을 다룰 수 있는 강한 방법의 수와 숙련도를 높이는 방법이라고도 할 수 있습니다. 그리고 이를 의식적 처리에서 자동화된 처리로 옮겨가는 과정이기도 합니다. 이렇게 확보된 인지적 여유를 창의적 사고, 전략적 판단, 혁신적 해결책 도출에 사용할 수 있게 됩니다.
패턴을 보면 청크가 커지고, 청크가 커지면 작업기억 부하가 줄고, 부하가 줄면 전략적 사고를 할 여유가 생깁니다. 그렇다면 이런 패턴은 어떻게 쌓을 수 있을까요? 5만 개의 패턴은 어떻게 장기기억에 저장되는 걸까요?


