뿌옇게 읽어도 된다
도서관이 난처해한 책
《물고기는 존재하지 않는다》는 도서관 자연·과학란에 꽂혀 있었다. 물고기 이야기니까 그리로 분류됐을 것이다. 그런데 절반쯤 읽고 나니, 이 책이 왜 거기 있는지 모르겠다. 어류 도감이 아니라 무너진 삶을 어떻게 견디느냐는 이야기였으니까.
마침 같이 빌린 《죽음의 수용소에서》와 나란히 두니 더 그랬다. 한 권은 수용소에서, 한 권은 물고기 표본 사이에서 — 결국 같은 걸 묻고 있었다. 정답이 보장되지 않는 삶을, 어떤 태도로 살 것인가.
책을 나누는 십진분류법이 정작 이 책 앞에서 난처해진다는 것. 그게 이 책이 던지는 첫 번째 농담이었다.
뿌옇게 읽혔다
읽는 내내 뿌옇게 읽혔다. 완모식표본. 리놀륨을 밟고 지나가는 발소리. 처음 보는 말들이 계속 나왔다.
건물 안은 싸늘했다. 기후를 통제하고 있기 때문이다. 창도 거의 없다. 항상 배어 있는 에탄올 냄새가 코를 찌른다. 소나무 냄새와 스카치테이프 냄새도 섞여 있다. 또각거리는 소리는 여섯 개의 발에서 났다. 목에 신분증을 걸고 있는 정부 소속 분류학자 두 사람이 나를 에스코트해주었다.
여섯 개의 발소리라니까 세 사람이겠구나. 창이 없으니 기후를 붙드는 설비가 있겠구나. 거기까진 짚었다. 그런데 그 건물이 어떻게 생겼는지는 끝내 떠오르지 않았다. 복도가 얼마나 긴지, 벽은 무슨 색인지. 뿌옇다.
한동안 그게 내가 잘 못 읽어서인 줄 알았다. 그런데 아니었다. 저자가 아직 안 알려줬을 뿐이다.
흐릿한 모형을 고쳐 짓는 일
돌아보니 나는 그 장면에서 아무것도 놓치지 않았다. 여섯 개의 발이면 세 사람. 창이 없으면 온도를 붙드는 곳. 에탄올 냄새에 신분증을 건 분류학자 — 표본을 재는 차갑고 닫힌 방이라는 것. 필요한 관계는 다 잡았다. 비어 있던 건 벽 색과 복도 길이뿐이었고, 그건 저자가 아직 안 준 정보였다. 안 줬으니 비어 있는 게 맞다.
그제야 알았다. 나는 머릿속에 완성된 영화를 틀고 있던 게 아니었다. 문장이 하나 들어올 때마다 흐릿한 모형을 조금씩 고쳐 짓고 있었다. 확실한 건 박아두고, 짐작되는 건 연필로 그려두고, 모르는 건 뿌옇게 비워둔 채로. 뒤에서 정보가 오면 그 칸을 고친다.
선명하지 않다는 건 이해하지 못했다는 뜻이 아니었다. 뿌연 건 실패가 아니라, 아직 안 채워진 칸이었다.
이름이 떠내려가지 않게
책에서 처음 만난 그 낯선 말, 완모식표본. 알고 보니 이건 그 종의 가장 훌륭한 표본이 아니었다. 가장 크지도, 가장 전형적이지도 않아도 된다. 상태가 좀 상해 있어도 된다. 어떤 과학자가 새 물고기에 이름을 붙일 때, 표본 하나를 골라 이렇게 못 박아두는 것이다 — 이 이름이 무엇을 가리키는지 다투게 되면, 이걸 기준으로 삼자.
그러니까 완모식표본은 종의 모범생이 아니라, 이름이 떠내려가지 않게 박아놓은 닻이다.
그 말을 굴려보다 앞의 그 방이 다시 떠올랐다. 내가 낯선 개념을 잡아가던 방식이 딱 이랬으니까. 처음엔 흐릿한 인상 하나. 거기에 이름이 붙고, 사례를 몇 번 만나고, 비슷한 것과 견주고, 경계가 생기면 — 그제야 선명해진다. 완모식표본은 그 흐릿함을 처음 붙잡아 두는 첫 못이었다. 새 개념도, 처음 하는 일도, 늘 이 순서로 온다.
무지개를 보면 색은 분명히 거기 있다. 그런데 어디까지가 빨강이고 어디부터 주황인지, 자연이 선을 그어둔 건 아니다. 그 선은 우리가 그었다. 그렇다고 색 이름이 헛것이냐면, 아니다. 그 이름 덕에 우리는 같은 노을을 두고 이야기할 수 있다. 분류는 흐릿한 세계를 붙잡는 못이고, 그 못은 우리가 박는다.
나는 이걸 매일 한다
여기서 멈칫한 건, 이게 남 이야기가 아니라서다. 나는 개발자다. 같은 걸 여러 관점으로 나누는 일을, 하루에도 몇 번씩 한다.
결제 기능 하나를 두고도 그렇다. 기술로 나누면 프론트·API·DB·결제 모듈. 사용자로 나누면 고르고·결제하고·확인하고·환불. 운영으로 나누면 장애·정산·부정결제. 조직으로 나누면 누가 만들고 누가 책임지나. 어느 게 진짜 결제냐고 물으면 답이 없다. 각각 다른 질문에 답하고 있으니까. 좋은 분류는 참인 분류가 아니라, 지금 풀려는 문제에 맞는 분류다.
그런데 나에게 그렇게 선명한 분류가, 남에게는 자주 안 통한다. 오래 답답했던 일이다. 이유는 이제 알 것 같다. 내 머릿속엔 그 분류의 전제 — 무얼 기준으로, 무슨 문제를 풀려고, 경계에 걸친 건 어디에 넣었는지 — 가 이미 깔려 있는데, 남에겐 결과만 건네지니까. 그래서 함께 쓰는 분류엔 이름보다 그 전제가 먼저 붙어야 한다. 두 사람이 다르게 나눴다면, 누가 맞나 다투기 전에 두 지도를 포개보는 번역표를 그리는 편이 낫다.
완모식표본이 여기서 다시 울린다. 그건 모두를 같은 관점으로 만드는 장치가 아니었다. 의견이 갈려도 이 이름이 가리키는 기준점만은 함께 확인하자는 합의였다. 개발에서 용어 정의와 API 계약과 테스트 케이스가 하던 일이, 곰곰이 보니 바로 그거였다.
기계도 이렇게 배운다
요즘 머신러닝을 들여다보다 소름이 돋았다. 방금 그 이야기가, 기계가 배우는 방식 그대로였으니까.
임베딩은 새 개념을 이미 아는 것들 사이 어디쯤에 놓는 일이다. 의미가 정의로 생기는 게 아니라 자리로 생긴다. 책에서 "비슷한 것과 견주고"라고 쓴 그거다. 한 단어를 수천 개 차원으로 잰다는 건, 수천 개 각도에서 동시에 본다는 뜻이고. 하나를 알려고 여러 각도로 분해하는 그 일.
그 고차원을 눈으로 보려고 2·3차원으로 눌러 볼 때가 제일 묘하다. 무엇을 남기고 무엇을 버릴지 고르는 순간에야 비로소 그림이 나온다. 기준을 바꿔 끼우면 같은 데이터가 딴판으로 뭉친다. 데이터가 지도를 만드는 게 아니라, 기준이 지도를 만든다.
처음엔 임베딩이 랜덤이라 뿌옇다. 사례가 쌓이고 오차가 줄며 무리가 선명해진다. 그거, 삶에도 종종 빌려 쓰던 gradient descent다. 그리고 좀 아찔한 데까지 간다 — 실제 세계를 임베딩이라는 지도로 한 번 접고, 그걸 다시 2차원 지도로 또 접는다. 지도 위의 지도. 끝내 원본 자체는 아무도 안 본다.
지도를 세상으로 착각할 때
다만 이름에는 그늘이 하나 있다. 못을 박는 순간, 내가 그은 경계가 원래부터 세상에 새겨져 있던 선처럼 느껴진다는 것.
조던이 거기서 미끄러졌다. 그는 지진으로 부서진 표본에 밤새 이름표를 다시 꿰맸다 — 혼돈에 질서를 세우려는 집념. 거기까진 사람을 살리는 힘이다. 그런데 그는 그 질서가 자연에, 나아가 사람에게도 고정된 서열로 새겨져 있다고 믿었다. 물고기를 나누던 손이 사람을 우열로 나누기 시작했고, 그 확신은 우생학으로, 강제불임으로 이어졌다. 지도를 세상으로 착각한 대가였다.
그래서 이 책은 분류가 나쁘다고 말하지 않는다. 다르게 묻는다 — 우리가 이해하려고 만든 이름을, 세상 그 자체라고 착각하고 있지는 않은가. 나란히 읽던 프랭클이 반대편을 받쳐준다. 아무리 잔혹한 자리에서도 붙잡을 의미를 찾으라고. 밀러는 다만 그 의미를 절대적 질서로 굳히지는 말라고. 한쪽은 의미를 만드는 힘을, 다른 쪽은 그 의미를 의심할 줄 아는 겸손을 말한다.
그런데 나는, 막 사람을 나누기 시작했다
여기까진 안전한 이야기다. 물고기든 코드 모듈이든, 틀리게 나눠도 아무도 안 다치니까.
그런데 리더가 되고부터 나누는 대상이 바뀌었다. 사람과 책임. 조직 대 조직, 사람 대 사람, 방향과 목표와 결과물의 정의. 거기다 사업·운영·법무처럼 여태 손대본 적 없는 축까지 얹혔다.
개발만 할 땐 축이 하나였다. 잘 짜인 도메인 안에서, 선명하게. 이제 한 사안을 여러 축으로 동시에 봐야 하고, 그 축들이 죄다 처음 보는 것이다. 축이 여럿인 것도 벅찬데, 낯설기까지 하다.
다시 뿌옇다. 이번엔 책이 아니라 내 하루가.
화가 신호였다
그런데 나는 그 뿌연 걸 못 견뎠다. 모르는 걸 모르는 상태로 두질 못하고, 자꾸 나를 몰아붙였다. 모른다는 걸 "아직 안 배운 영역"이 아니라 "부족한 나"라고 번역했으니까. 그 오역이 매번 화로 터졌다. 개발자로 오래 선명했던 사람일수록 그 오역은 더 세게 온다 — 원래 다 알던 자리였으니까.
버릇이 하나 더 있었다. 개발자한텐 세상이 다 못으로 보인다. 망치가 좋으니까. 그런데 사업도 사람도 법무도 못이 아니라 뿌연 방이었다. 두들길 게 아니라 천천히 읽어야 하는.
얼마 전 그게 한꺼번에 터진 일이 있었다. 내 손을 거쳐 시작된 일이 아니었다. 남의 대화에서 생겨난 일을 굴러가게 이으려다 보니, 사람들이 서로 다른 말을 하고 있었다. 나는 그 사이에서 계속 통역했다. 안 맞는 걸 맞추려고. 종이가 아니라 몸으로 그리는 번역표였다.
일을 넘긴 사람을 찾아갔더니 — 자기는 말해뒀으니 그들과 직접 얘기하라 했다. 위임이 아니라 방기였다(그건 넘기는 게 아니라 버리는 것이라고 적어둔 적이 있다). 결국 나는 그들의 말을 듣고 이해해 일을 굴렸다. 그런데 정작 그 사람이 성질을 냈고, 그때 화가 났다.
처음엔 또 안으로 당겼다. 더 얘기했어야 했나. 그런데 그건 애초에 나 혼자 못 맞출 일이었다. 사이에 낀 내가 말로 더 붙인다고 붙을 게 아니라, 일을 넘긴 사람이 맞춰줬어야 할 자리였다. 그러다 알았다. 그 화가 실은 신호였다는 걸. "여기가 내 손을 벗어난 자리다"라는. 모든 걸 내 안으로 당기되 그 경계를 찾는 게 숙제라고 적어둔 적이 있는데 — 어쩌면 화가 그 선을 대신 그어준 거였다.
모른다는 것도, 화가 난다는 것도, 실패가 아니라 신호였다.
유머, 그리고 겹쳐 본 얼굴
그런 순간에 필요한 게 유머라고, 프랭클이 《무엇이 내 인생을 만드는가》에서 말했다. 《죽음의 수용소에서》에서도 그는 유머를 영혼의 무기라고 불렀다. 상황은 못 바꿔도, 그 상황이 나를 통째로 삼키게는 두지 않는 것. 그가 말한 마지막 자유 — 태도를 고를 자유 — 의 가장 가벼운 형태다.
그러니 화에는 세 번째 길이 있었다. 안으로 삼켜 자책하지도, 밖으로 억울해하며 곱씹지도 않고 — 반 뼘 위로 올라서서 그 꼴의 우스움을 보는 것. 남의 어긋남을 메웠더니, 메우게 시킨 사람이 나한테 성질을 냈다. 각도만 틀면 거의 코미디다. 그 각도가 곧 자유고.
반 뼘 올라서니 뜻밖의 게 보였다. 나에게 그 일을 넘긴 상사도, 실은 나와 같은 자리에 서 있었다. 위에서는 진행하라 하고, 유관부서는 상황을 몰라 태클을 걸고 — 다른 지도를 들고 있으니까 — 그 사이에서 못 맞춰 답답했던 거다. 내가 통역자였듯, 그도 한 층 위의 통역자였다. 그 성질도 실은 나와 같은 억울함이었고.
저 사람 얼굴에 내 얼굴이 겹쳤다. 화가 한 바퀴 돌아 공감이 됐다. 그 자리는 그렇게 설계되어 있었을 뿐 누구의 잘못도 아니었다고 적은 적이 있는데, 딱 그 자리에 다시 왔다. 이번엔 위를 올려다보면서.
닫으며
그러고 보면 도서관이 이 책 앞에서 난처해한 건 실수가 아니었다. 이 책 자체가, 분류란 게 세상에 원래부터 있는 게 아니라고 말하고 있었으니까.
완모식표본이 종의 모범생이 아니라 닻이듯, 내가 그리는 분류도 세상의 정답이 아니라 임시로 박은 못이다. 리더로서 그리는 지도도, 문득 치미는 화도, 아직 안 채워진 칸이 많은 초안이다. 뒤에서 정보가 오면 고치면 된다.
분류는 세상 그 자체가 아니라, 어떤 문제를 이해하기 위해 특정 관점에서 그린 임시적인 지도다.
그러니 오늘도 선을 긋되, 그게 내가 그은 선이라는 걸 잊지 않기로 한다. 뿌옇게 시작해도 되고, 화가 나면 그게 어디가 내 경계인지 읽어보기로. 안 되면 반 뼘 올라서서 한 번 웃어보기로. 이 지도도 완성본은 아니다. 내일의 내가 또 고쳐 그릴 것이다.
아직 포스트잇이 없어요. 첫 자리를 남겨보세요.