지식의 저주
지식의 저주(curse of knowledge)란 다른 사람들과 의사소통을 할 때 다른 사람도 내가 갖고 있는 배경 지식을 가지고 있다고 자신도 모르게 추측하여 발생하는 인식적 편견이다(출처: 위키백과). 쉽게 말하면 내가 알고 있는 것을 내 얘기를 듣는 상대방도 알고 있을 것으로 가정하는 것이다.
지식의 저주 예
"GET은 POST에서 못 가져오는 거 알죠?"
내가 전에 팀장한테 들었던 이야기다. 무슨 이야기를 하시는 건가 생각했다. 'HTTP 요청 메소드 중 하나인 GET 메소드는 POST 메소드를 못 가져온다는 말일까? 무슨 말이지'라고 생각하고 있었다. 내가 못 알아듣자, 그것도 모르냐는 눈빛으로 바라보면서 한숨을 쉬었다. 그리고는 풀어서 설명하기 시작했다. 그때서야 이해할 수 있었다. 앞의 GET은 HTTP 요청 메소드 중 하나인 GET 메소드를 뜻하고, 뒤의 POST는 HTTP 요청 메소드 중 하나인 POST 메소드가 아니라 Request Body 요청 본문을 뜻하는 것이었다. 팀장은 HTTP/1.0 시절부터 개발을 했기 때문에 GET과 POST, HEAD 밖에 없던 시절 요청 본문을 POST라고 줄여서 부르는 게 익숙했던 것이다. 그렇게만 말해도 당연히 내가 알아 들어야 한다고 생각했던 것이다. 당시 나는 요청 본문을 POST라고 줄여 부를 수도 있다는 배경 지식은 없었다.
상대방이 갖고 있는 지식은 나와 다르다
상대방은 나와 배경 지식이 다르다. 나와 같은 나이더라도, 같은 시대를 살았더라도, 나와 다른 경험을 하면서 살았을 가능성이 크다. 같은 백엔드 개발자더라도, 백엔드 공부를 시작한 시기가 다를 수도 있고, 내가 쓰고 있는 언어와 다른 언어를 주언어로 공부했을 수도 있다. 내가 쓰는 용어가 표준으로 정의된 용어가 아니라면, 내가 알고 있는 지식이 업계 표준이 아니라면 상대방은 나와 다르게 상황을 이해할 수 있다. 심지어 표준 용어더라도 다르게 이해할 수도 있다.
지식의 저주와 의사소통의 실패
서로가 대화할 때 같은 단어로 말하는데 서로 다른 뜻을 생각한다면? 그 의사소통은 실패할 수밖에 없다. TDD(Test-driven Development 테스트 주도 개발)을 말하면서 A란 사람은 테스트 먼저 작성하는 테스트 주도 개발을 생각하고, B란 사람은 기능 구현 뒤 테스트 코드를 추가하는 것도 TDD라고 생각하는 경우를 생각해보자. 서로가 생각하는 TDD가 다르기 때문에 TDD의 결과물도 다를 수밖에 없다. 결국 지식의 저주는 의사소통 실패로, 의사소통의 실패는 업무의 실패로 이어진다.
지식의 저주와 새로 합류한 팀원
새로 합류한 팀원이 합류하자마자 제 실력을 발휘하기 어려운 이유도 지식의 저주와 관련이 깊다. 기존 기업 내 팀 내 구성원들은 자신이 알고 있는 지식들을 새로 합류한 팀원도 알고 있을 거라고 쉽게 가정한다. 그래서 당연히 자세히 설명해주지 않는다. 평소 말하던대로 말하면서 기존 팀원처럼 바로 알아듣기를 기대한다. 새로 합류한 팀원은 새로운 용어들과 자신에게 익숙한 용어들이 어떻게 다르게 쓰이고 있는지 파악하고 해당 기업에만 적용되는 배경 지식을 쌓는데 꽤 긴 시간이 필요하다.
어떻게 지식의 저주를 줄일 것인가
개인의 노력
확인이다. 내가 알고 있는 지식을 상대방도 나처럼 알고 있는지 서로 확인하고 소통하는 것이다. 앞의 예들처럼 같은 용어도 나와 다르게 이해하고 있을 수도 있다. 그런 확인을 거쳐야 제대로 된 의사소통에 이를 수 있다. 이때 주의할 점은 상대방이 모를 수도 있고, 내가 알고 있는 것이 반드시 진리는 아닐 수 있다는 점을 기억해야 한다는 것이다. 그렇지 않으면 자신도 모르게 상대방을 무시하는 듯한 행동이 나올 수 있기 때문이다. 상대방이 자신을 무시한다고 느끼는 순간 그 의사소통은 실패할 확률이 높아진다. 서로가 갖고 있는 지식의 차이를 줄여간다고 생각하고 확인해야 한다.
기업의 노력
위키 같은 지식관리시스템을 만들고 작성을 장려하는 것이다. 그래서 꼭 필요한 배경지식, 자주 쓰는 용어들, 기업 내에서만 특별하게 정의해서 쓰는 용어들을 정리하고 꾸준히 업데이트한다. 이렇게 하면 새로 합류한 팀원은 위키를 통해서 빠르게 배경 지식을 얻을 수 있게 된다. 기존 팀원들은 평소 말하던대로 말해도 새 팀원이 쉽게 의미를 파악할 수 있어서 의사소통 비용이 줄어든다.