모든 것을 이해하고 넘어갈 필요는 없다
학습 초기에 모든 원리를 완벽히 이해하려는 습관에서 벗어나, 전체 구조와 멘탈 모델을 먼저 만들고 지식의 해상도를 높이는 방법을 이야기합니다.
나는 무언가를 배울 때 이해되지 않는 부분을 그냥 지나치지 못했다. 모르는 개념이 나오면 내가 납득할 수 있는 가장 작은 원리까지 내려가야 마음이 편했다. 데이터베이스를 공부하다가도 ‘왜 데이터를 페이지 단위로 나누었을까?’가 궁금해졌다. 페이지를 이해하려면 디스크와 메모리의 특성을 알아야 했고, 그러다 보면 파일 시스템과 운영체제로 내려갔다. 각각 분명 가치 있는 지식이다. 문제는 백엔드를 배우려고 시작했는데 어느 순간 DBMS의 역사와 저장 장치의 동작 원리를 공부하고 있다는 것이었다.
최근에는 이것이 단순한 학습 성향의 문제가 아니라 비용의 문제라는 생각이 들었다. 사람의 시간은 유한하다. 그렇다면 학습에서도 시간이라는 자원을 기준으로 ROI를 따져야 한다. 한 가지 사실을 완전히 이해하는 데 열 시간을 쓰는 것과 같은 시간 동안 여러 개념의 구조를 파악하고 서로 연결하는 것 중, 지금의 나에게 무엇이 더 큰 성장을 가져오는지 생각해야 한다.
이런 관점에서 보면 학습 초기에 지나치게 구체적인 원리까지 파고드는 일은 의외로 ROI가 낮다. 하나의 점은 선명해지지만 전체 그림은 여전히 보이지 않기 때문이다.
그림을 그리는 것과 비슷하다. 처음부터 눈동자 하나를 정교하게 그리기보다 전체 구도와 비례를 먼저 잡는 편이 낫다. 뼈대가 만들어지면 세부 묘사가 어디에 들어가야 하는지 알 수 있다. 전쟁을 이해할 때도 개별 전투 하나를 완벽하게 분석하기보다 전선과 목표, 병력의 흐름부터 보는 편이 낫다. 전투를 이해하는 일이 중요하지 않다는 뜻은 아니다. 다만 전쟁을 보기도 전에 전투 하나에 갇히지 말자는 이야기다.
그래서 공부할 때 가장 먼저 필요한 것은 정확한 사실의 축적보다 쓸 수 있는 멘탈 모델이라고 생각하게 됐다. 멘탈 모델은 처음부터 완벽할 필요가 없다. 어떤 개념이 무슨 문제를 해결하기 위해 존재하고, 주변 개념과 대략 어떤 관계를 맺는지 설명할 수 있다면 일단 충분하다. 처음에는 흐릿하거나 조금 부정확해도 괜찮다. 중요한 것은 그 모델이 다음 개념을 받아들일 뼈대가 되어주느냐는 것이다.
예를 들어 데이터베이스의 동시성을 공부하면서 SELECT와 UPDATE가 분리되어 있으면 그사이에 다른 요청이 끼어들 수 있다는 그림 하나를 가지고 있다고 하자. 이것만으로 원자성이나 격리 수준을 엄밀하게 설명할 수는 없지만, 재고 차감 문제를 이해하는 데는 이미 상당히 쓸모가 있다.
이후 조건부 UPDATE, affected rows, 낙관적 락, CAS 같은 개념을 만나면 새로운 용어를 따로 외우는 대신 기존 그림에 조각을 붙일 수 있다. 나중에 원자성과 직렬성이 다르다는 사실을 배우더라도 기존 모델을 버릴 필요는 없다. 그저 해상도를 높이면 된다.
이렇게 연결된 지식은 애써 외우지 않아도 잘 잊히지 않는다. 새로운 사실이 독립된 문자열처럼 머릿속에 저장되는 것이 아니라 이미 존재하는 구조의 일부가 되기 때문이다. 일정 수준 이상의 개념을 빠르게 접하고 나면 새로운 지식을 이해하는 비용도 낮아진다. 이미 아는 개념이 다음 개념을 이해하는 재료가 되고, 서로 다른 분야에서도 비슷한 구조가 반복해 보이기 시작한다.
반대로 모든 지점에서 완전한 이해를 요구하면 이 네트워크가 만들어지는 속도가 느려진다. 한 점의 해상도는 아주 높은데 주변은 텅 빈 상태가 된다.
그래서 학습에서 무엇을 얻어야 하는지도 다르게 생각하게 됐다. 정확한 사실을 머릿속에 많이 넣는 것보다 중요한 것은 배움이고, 그보다 더 중요한 것은 그 배움이 나를 어느 방향으로 움직이게 하느냐는 것이다. 어떤 지식을 접한 뒤 문제를 보는 방식이 달라지고, 다음에 무엇을 궁금해해야 하는지 알게 되고, 전에는 만들 수 없었던 질문을 만들 수 있게 됐다면 이미 학습은 일어난 것이다. 정확한 사실은 중요하지만 그 자체가 목적이라기보다 나를 변화시키는 재료에 가깝다.
그런 의미에서 학습의 ROI를 단순히 ‘얼마나 많이 기억했는가’로 계산하기는 어렵다. 이 배움이 내 사고를 얼마나 확장했는지, 다음 학습의 비용을 얼마나 낮췄는지, 이전보다 더 큰 구조를 볼 수 있게 했는지가 더 중요한 지표일 수 있다. 많이 외웠지만 다음 질문을 만들지 못하는 학습보다, 조금 흐릿하더라도 더 넓은 구조를 보고 다음 탐색 방향을 찾게 해주는 학습이 장기적으로 더 큰 가치가 있을 수 있다.
이 생각은 이전에 썼던 ‘경계 없는 기여’에 관한 글과도 닿아 있다. 당시 나는 좋은 기여란 모든 빈틈을 직접 채우는 것이 아니라 다른 사람이 판단하고 기여할 여지를 남기는 일이라고 생각했다. 경계 없이 일한다는 것도 다른 사람의 일을 대신하는 것이 아니라 영역 사이의 빈틈을 잇고 전체가 부드럽게 움직이도록 돕는 일에 가깝다고 정리했다. 요즘은 이 원칙이 학습에도 적용된다는 생각이 든다.
나는 그동안 모르는 것이 생기면 그 빈틈을 즉시 메우려고 했다. 이해되지 않는 원리가 있으면 더 아래로 내려갔고, 그곳에서 또 모르는 것이 나오면 다시 그 아래로 내려갔다. 하지만 모든 빈틈을 지금 당장 채울 필요는 없다. 어떤 지식은 흐릿하게 남아 있어도 전체 구조를 이해하는 데 충분하다. 오히려 그 흐릿함은 나중에 돌아왔을 때 어디를 살펴봐야 하는지 알려주는 단서가 될 수 있다.
모든 정보가 4K 해상도일 필요는 없다. 특정 부분 하나만 아주 선명한 지도보다 저해상도로나마 전체가 그려진 지도가 더 유용할 때가 있다. 흐릿하게 알고 있다는 것은 아무것도 모르는 것과 다르다. 나중에 어디를 확대해야 하는지 알려주는 표식이 이미 남아 있기 때문이다. 저해상도의 지식은 실패한 지식이 아니라 미래의 학습을 위한 인덱스다.
필요해졌을 때 그 부분의 해상도를 높이면 된다. 그때의 나는 처음 그 개념을 만났을 때보다 더 많은 주변 지식과 맥락을 가지고 있을 가능성이 크다. 처음에는 한 시간을 들여도 이해되지 않던 것이 나중에는 몇 분 만에 자연스럽게 연결되기도 한다. 지금 이해하지 못한 것을 남겨두는 일이 반드시 부채인 것은 아니다. 미래의 나에게 더 알맞은 이해의 시점을 맡기는 선택일 수도 있다.
그래서 학습에도 여유를 두기로 했다. 궁금한 원리가 생겨도 반드시 그 자리에서 끝까지 파고들지는 않는다. 지금 내가 가려는 방향과 학습의 벡터를 살피고, 당장 필요한 깊이가 아니라면 일단 접어둔다. 모르는 것을 모두 없애기보다 지금 알아야 할 것을 구분하는 쪽에 가까워졌다.
필요한 순간이 오면 다시 찾게 되리라는 믿음도 필요하다. 그때는 이미 만들어둔 멘탈 모델과 그동안 쌓인 주변 지식 덕분에 훨씬 적은 비용으로 이해할 수 있을 것이다. 예전에는 이해되지 않는 것을 남겨두면 학습의 부채가 쌓이는 것처럼 느꼈다. 이제는 오히려 모든 것을 당장 이해하려는 태도가 더 큰 비용을 만들 수 있다고 생각한다.
먼저 전체를 보고, 연결하고, 움직인다. 필요한 곳의 해상도는 그다음에 높인다. 학습의 목적은 모든 사실을 완벽하게 기억하는 데 있지 않다. 새로운 사실을 더 잘 받아들일 수 있는 방향으로 나를 변화시키는 데 있다. 정확도는 필요해졌을 때 높일 수 있지만, 방향을 잃은 채 세부 사항에 매몰되어 쓴 시간은 돌아오지 않는다.
어쩌면 잘 배운다는 것은 모든 빈틈을 채우는 일이 아니라, 어떤 빈틈은 남겨둔 채 계속 앞으로 나아갈 수 있는 상태를 만드는 일인지도 모르겠다.
READ NEXT
같은 주제의 글 더 보기
일을 잘하면 인정과 보상도 따라올 거라고 생각했습니다. 그런데 실무 능력만으로는 설명되지 않는 순간들이 있습니다. 우리는 무엇을 보고 누군가와 계속 일하고 싶어질까요.
Read Entry
댓글 0
로그인 없이 익명으로 남길 수 있습니다.