01 THINK어떻게 생각하는가

책의 사례가 대부분 나였다

찰리 멍거가 추천해서 이제야 읽었다. 원칙을 하나씩 확인하다가, 내가 사례를 읽는 쪽이 아니라 사례 안에 들어가 있는 쪽이라는 걸 알았다.

이 저장소에 이런 문장이 이미 올라가 있다.

레지스트리 최신이 TypeScript 7.0.2였다. 네이티브 포트, 훨씬 빠른 타입체크. 당연히 넣었다.

'당연히'에 근거가 없다. 같은 글에서 재 보니 빌드의 타입체크는 872ms였다. 병목이 아니었다. 빨라서 올린 게 아니라 최신이라서 올렸고, 린트 파이프라인 전체가 죽었다.

그때는 성급했다고만 적었다. 그 반응에 이름이 있는 줄은 몰랐다.

이제야 읽었다

『설득의 심리학』을 읽었다. 찰리 멍거의 『가난한 찰리의 연감』에 추천 도서로 올라와 있어서 집어 들었다.

행동심리학 실험을 근거로, 사람이 언제 판단을 건너뛰는지를 정리한 책이다. 읽는 내내 신기했는데, 신기한 쪽은 실험이 아니라 내가 그 실험의 표본이라는 사실이었다.

원칙 여섯 개

원칙언제 작동하는가
상호성받으면 갚아야 한다고 느낀다
일관성한 번 말한 것과 어긋나지 않으려 한다
사회적 증거다들 그렇게 하면 그게 맞는 것으로 본다
호감좋아하는 사람의 말은 덜 검사한다
권위전문가 표시가 붙으면 판단을 건너뛴다
희소성줄어드는 것은 더 가치 있어 보인다

읽으면서 계속 걸린 건 원칙이 아니라 사례였다. 사례를 읽는 쪽에 있다고 생각했는데, 사례 안에 있었다. 대부분이 그랬다.

위의 TypeScript 건은 권위다. 판단한 게 아니라 '최신'이라는 표시에 반응했다. 그리고 그건 내가 이미 글로 적어서 공개까지 해 둔 건이다. 적어 두지 않은 것들이 얼마나 되는지는 셀 방법이 없다.

안다고 꺼지지 않는다

책에서 제일 불편했던 대목은 여기다. 원칙을 알아도 반응은 그대로 일어난다. 읽고 나서 달라지는 것은 나중에 이름을 붙일 수 있게 되는 것뿐이다.

그런데 이 저장소는 같은 결론을 다른 영역에서 이미 내려 두고 있었다.

실패하지 않는 검증은 검증이 아니다에는 가드를 만들 때마다 일부러 깨뜨려 본다고 적혀 있다. 게이트가 통과시킨 버그들에는 이렇게 적혀 있다 — 게이트가 없으면 손으로 확인하는데, 있으면 확인했다고 믿는다.

둘의 전제가 같다. 그 순간의 내 판단을 믿지 않는다. 그래서 기계를 세워 뒀다.

코드에 대한 판단검사기 여섯사람이 끼는 판단없음같은 사람이 내리는 판단인데 한쪽에만 장치가 있다.그리고 장치가 없는 쪽이 되돌리기 더 어렵다.

색 대비는 검사기가 잰다. 캐스케이드 순서도, 콘텐츠 규칙도, 라우트별 전송량도 잰다. 여섯 개가 서 있고, 어긋나면 빌드가 깨진다.

사람이 끼어드는 판단에는 하나도 없다.

규칙 하나의 적용 범위를 넓혔다

새 규칙을 만들지 않았다. 이미 있는 규칙 하나를 넓혔다.

목록을 자르고 판단해서 잘못된 원격에 push 했다에서 정한 것 — 되돌리기 어려운 대상은 목록 전체를 보고 확정한다. headgrep도 붙이지 않는다.

그 규칙을 git 원격에만 걸어 뒀다. 되돌리기 어려운 결정 전부로 넓힌다. '지금 정해야 한다'는 느낌이 붙어 있으면 그게 희소성이고, 그때가 목록을 전부 봐야 할 때다.

이걸로 충분한지는 모른다. 가드를 만들면 일부러 깨뜨려 봐야 하는데, 사람에 대한 가드는 어떻게 깨뜨려 보는지 아직 방법을 못 찾았다. 그 전까지 이 글은 가드가 아니라 메모다.


원칙의 이름과 정의는 책에서 가져왔다. 실험 자체를 다시 확인하지는 않았다. 위에서 대응시킨 사례는 전부 이 저장소에 이미 올라와 있는 글이고, 새로 지어낸 것은 없다. 판본에 따라 원칙 수가 다르다고 알고 있는데 확인하지 못해 여섯 개로 적는다.

readingpsychologydecision-makingbias

기록

2026.09.03에 처음 커밋됐고, 이후 손대지 않았습니다.

  • 83ef676Feat: 쉬운 말 판을 라우트로 세운다 — 구현과 20편을 함께

전체 빌드 기록 →