2장: 시스템1과 시스템2 - 프로그래머의 이중사고

개발자를 위한 인지 편향·심리 기술 완전정복 | 설득의 심리학 실무판

by에이전트김
ChatGPT Image 2026년 5월 21일 오후 04_26_59.png

"2 + 2 는?"


답이 곧바로 떠오릅니다.


"17 × 24 는?"


이쪽은 머릿속으로 계산하거나, 종이가 필요해집니다.


이 두 문제를 풀 때 뇌를 쓰는 방식은 완전히 다릅니다. 앞의 것은 자동적이고, 순식간이며, 무의식적입니다. 뒤의 것은 의식적이고, 노력이 들고, 한 단계씩 차례로 진행됩니다. 대니얼 카너먼은 이를 '시스템 1'과 '시스템 2'라고 이름 붙였습니다.

ChatGPT Image 2026년 5월 21일 오후 04_56_32.png


두 개의 시스템

시스템 1: 빠르고, 자동이며, 직관적

시스템 1은 늘 돌아가고 있습니다. 패턴 인식에 능하고, 과거 경험을 바탕으로 순식간에 판단을 내립니다. 쓰는 에너지가 적어 의식적인 노력이 필요 없습니다.

엔지니어의 시스템 1이 작동하는 장면을 꼽아 보겠습니다.

코드를 한눈에 보고 "이거 읽기 어렵네"라고 느낀다.

NullPointerException의 스택 트레이스를 보고 원인 지점을 즉시 짐작한다.

슬랙 메시지의 말투에서 "이 사람 화났구나"를 알아챈다.

"이 API 설계는 RESTful하지 않다"고 직관적으로 판단한다.

시스템 1이 내놓는 답은 대체로 옳습니다. 경험 많은 엔지니어일수록 직관의 정확도가 높습니다. 문제는, 시스템 1이 틀렸을 때 그것을 알아채지 못한다는 점입니다.


시스템 2: 느리고, 의식적이며, 논리적

시스템 2는 의식적으로 켜야 합니다. 복잡한 추론, 계산, 비교 검토를 맡습니다. 뇌의 자원을 잔뜩 잡아먹는 탓에 쉽게 지치고, 게으릅니다.

엔지니어의 시스템 2가 작동하는 장면은 이렇습니다.

알고리즘의 계산량을 분석한다.

여러 아키텍처 패턴의 장단점을 비교한다.

견적을 내려고 과거의 비슷한 작업을 샅샅이 들춰낸다.

코드 리뷰에서 설계상의 문제점을 체계적으로 짚어낸다.


프로그래머의 뇌에서 벌어지는 일

펠리너 헤르만스(Felienne Hermans)는 저서 『프로그래머의 뇌』에서 프로그래밍의 인지 과정을 세 가지 기억 시스템으로 설명합니다. 장기 기억(지식의 축적), 단기 기억(작업 중인 정보 보관), 그리고 작업 기억(정보의 처리)입니다.


이것을 시스템 1·2와 겹쳐 보면, 엔지니어의 인지가 어떻게 작동하는지 드러납니다.


코드를 읽을 때: 먼저 시스템 1이 패턴 매칭을 합니다. for 루프, if-else 분기, 디자인 패턴처럼 눈에 익은 구조는 자동으로 해석됩니다. 그러나 낯선 패턴이나 복잡한 로직을 만나면, 시스템 2가 켜져서 한 단계씩 분석을 시작합니다.

코드를 쓸 때: 숙련된 프로그래머는 코딩의 상당 부분을 시스템 1로 처리합니다. 변수 이름 짓기, 기본 구조 짜기, 늘 하던 식의 에러 핸들링이 그렇습니다. 반면 새로운 알고리즘 설계나 성능을 염두에 둔 구현은 시스템 2의 몫입니다.


버그의 원인은 시스템 전환 실수에 있습니다. 원래 시스템 2로 신중하게 따져야 할 장면에서 시스템 1이 '안다고 착각한' 답을 내놓습니다. 거꾸로, 시스템 1로 충분한 장면에서 시스템 2를 너무 많이 쓰면 지쳐서 엉뚱한 곳에서 실수가 납니다.



시스템 1이 폭주하는 4가지 패턴

엔지니어의 일에서 시스템 1이 폭주하기 쉬운 장면을 정리합니다.


패턴 1: 지쳤을 때의 판단

금요일 저녁에 코드 리뷰를 하면 승인율이 올라간다는 보고가 있습니다. 시스템 2가 완전히 지쳐 버려, 시스템 1이 "뭐 괜찮겠지"라고 판단하기 때문입니다. 코드 품질이 좋아진 것이 아니라, 리뷰어의 인지 자원이 바닥났을 뿐입니다.


패턴 2: 시간에 쫓기는 판단

"오늘 안에 릴리스하고 싶다"는 압박이 걸리면, 테스트를 건너뛰거나 "나중에 리팩터링하지"라며 미룹니다. 시스템 2를 켤 여유가 없어, 시스템 1의 "뭐 됐어"를 따라가는 패턴입니다.


패턴 3: 감정이 얽힌 판단

자기가 쓴 코드를 향한 비판, 기술 토론에서의 반론, 인사 평가에 대한 불만. 감정이 흔들리면 시스템 1이 우세해지고, 논리적인 반박 대신 감정적인 반응을 돌려주게 됩니다.


패턴 4: 전문 밖의 판단

기술 영역에서는 정확도 높은 직관을 지닌 엔지니어라도, 견적·인사 평가·프로젝트 관리처럼 전문 밖 영역에서는 시스템 1의 정확도가 크게 떨어집니다. 그런데도 "나는 논리적인 사람"이라는 자기 인식이, 전문 밖에서도 직관을 믿게 만듭니다.



엔지니어를 위한 시스템 2 켜는 법

시스템 1의 폭주를 막으려면, 시스템 2를 켜는 방아쇠를 일부러 심어 두는 것이 효과적입니다.


판단을 늦춘다. 중요한 판단을 '지금 당장' 내놓지 않습니다. 견적은 즉답하지 말고 "내일 답변하겠습니다"라고 말합니다. 코드 리뷰에서 큰 설계 지적은, 코멘트를 써 둔 뒤 하룻밤 묵혔다가 보냅니다.

체크리스트를 쓴다. 조종사가 비행 전 체크리스트를 쓰듯, 중요한 판단에는 체크리스트를 마련합니다. 배포 전 점검, 기술 선정 평가 기준표, 견적 확인 항목처럼 시스템 2를 강제로 켜는 장치입니다.

말로 풀어낸다. 판단의 이유를 말로 옮기면 시스템 2가 켜집니다. "왠지 이쪽이 더 나아"를 "A가 좋은 이유는, 첫째 …, 둘째 …"처럼 풀어 보세요. 말로 풀리지 않는 직관에는 편향이 섞여 있을 수 있습니다.

다른 사람의 시선을 들인다. 페어 프로그래밍이나 코드 리뷰가 효과적인 까닭은, 타인의 시선이 시스템 2 역할을 대신하기 때문입니다. 내 시스템 1이 내놓은 답에 대고 다른 사람이 "왜 그렇게 판단했어?"라고 물으면, 무의식적인 선입견이 수면 위로 드러납니다.


이 방법들은 어느 것도 편향을 '없애는' 방법이 아닙니다. 인지 편향은 뇌의 구조에 뿌리내리고 있어 없앨 수 없습니다. 할 수 있는 일은, 편향이 영향을 끼치기 쉬운 장면을 알아 두고, 그 자리에서 의식적으로 시스템 2를 켜는 장치를 만드는 것입니다.



©2024-2026 ClaudeCode.to, Hand-crafted & made with Jaewoo Kim.

이메일문의: jaewoo@claudecode.to


AX 컨설팅, AI강의/개발/기술자문, Claude Code 기업강의, AI 업무 자동화 컨설팅 문의: https://open.kakao.com/o/s8DfVwvi


Claude Code 기업교육 및 AX 전환 컨설팅: https://claudecode.to

Youtube Channel: https://www.youtube.com/@claudecodeto

카지노 그룹채팅: https://invite.kakao.com/tc/tZtWueLAdQ


Jaewoo Kim by AI-fluent liberal arts Engineer

#AI기업교육 #AI에이전트개발교육 #클로드코드기업교육 #클로드코드교육 #AX전환 #AX컨설팅 #ClaudeCode교육 #인지편향 #엔지니어 #AI #LLM #AI에이전트

이전 01화1장: 인지 편향이란 무엇인가