1일 1커밋 #129
내가 프로그래머를 하면서 가장 곤란했던 점은, 내가 짰던 코드를 제때 제대로 기억해낼 수 없다는 점이었다. 하루 종일 짜 봤자 고작 몇 줄밖에 안 되는 코드일 뿐인데도 그렇다. 아마 문외한의 누군가에게 코드의 분량을 보여주면 고작 그 정도 양을 기억하지 못한다고? 그렇게 생각할 수도 있을 것이다. 나도 그랬다. 예컨대 대학교 새내기 때. 정확히 그렇게 생각했다. 몇십 줄 정도의 코드밖에 매만져본 경험이 없는 사람으로서 그렇게 생각할 수밖에 없었던 것이다. 경험한 적 없는 세계는 감히 상상할 상상조차 못 하는 것이다. 상상해 보려 한다손 쳐도, 그 작고 귀여운 경험들이 이젠 걸림돌로 돌변한다. 이를테면 그때의 나는 파일 하나에 모든 코드를 때려 넣는 방식으로밖에 코딩을 해본 적이 없어서, 여러 코드 파일들이 서로 얽히고설켜서 하나의 프로젝트를 이룬다는 것을 상상하는 것이 굉장히 버거웠다. 이 파일에 있는 소스를 저 파일에서 어떻게 사용하는 거지? 상상에 상상을 거듭해도 파일 하나에 모든 걸 집어넣던 그 작은 경험이 계속해서 떠올라 방해했고 결국에는 포기했었다. 어쭙잖은 경험은 실제와 그렇게나 큰 차이를 가지면서도 확고하게 상상력에 제약을 가한다. 편견이라는 게 바로 그렇게 생겨나는 것일 테다.
아무튼 문제는 꽤 심각했다. 한 달 정도였으면 말할 가치도 없을 텐데. 겨우 며칠만 지나도 나는 내가 짠 코드의 디테일들을 잊어버리고 말았다. 마치 뿌옇게 김이 서린 안경 너머의 것을 보기 위해 애쓰는 딱 그런 기분이랄까. 내 코드에 대한 궁금증을 가지고 찾아오는 사람들을 앞에 두고 나는 빈번히 진땀을 흘리면서 잠시만 기다려 달라고 말해야 했다. 이맛살을 찌푸리면서 급하게 코드를 타고 타고 타고 타고 들어가다 보면 내 엉덩이에 달린 줄도 치지직 타들어가기 시작하곤 했다. 이놈의 기억력. 선천적으로 장기 기억력에 뭔가 문제가 있는 게 분명했다. 그게 아니라면 어릴 때 기억하는 훈련을 게을리한 문제이거나. 둘 중 하나는 분명할 텐데. 실은 후자의 이유가 훨씬 유력했지만, 전자의 문제인양 투덜거리는 것이 훨씬 쉬운 선택이었다. 나는 꽤 오랫동안 전자, 선천적인 문제인 양 굴었다.
하지만 쉬운 선택은 쉬운 회피가 가능할 뿐, 해결법은 아니었다. 나는 쉬운 회피로 열심히 남들을, 나 자신을 속여가며 꽤 오랫동안 살아왔다. 그러다가 문득, 이렇게 살면 안 되겠다. 얼른 나를 고쳐 나가자! 당연하지만 이런 생각이 들었던 건 아니고. 우연찮게 이런 사실을 깨달았던 것이다. 자신의 코드를 기억하고 쉽게 설명하는 것 또한 프로그래머의 자질이라는 것을 말이다. 나는 오랫동안 길게, 그리고 점진적으로 더 나은 방향으로 발전하는 프로그래머가 되는 것을 꿈꿔왔기 때문에 '기억력'과 '프로그래머의 자질'을 연관시키는 건 꽤나 효과적인 모티베이션이었다. 그제야 나는 무거운 몸을 움직이기 시작했다.
그렇지만 마음을 먹은 걸로는 세상만사가 갑작스럽게 해결될 리가 없었다. 우선 급진적으로 확연히 기억력을 상승시킬 수 있는 방법 같은 건 없었다. 사실 천천히 기억력을 올려나갈 방법조차 막연했다. 기억력이 좋아졌다는 걸 확인할 지표도 없었다. 그 모든 게 막연했다. 마치 출발선과 도착 지점이 없는 마라톤을 하라는 것 같았다. 대체 어떡하라는 건지. 꽤 여러 가지 방면에서 노력해 봤지만, 어릴 적 소풍, 보물 찾기라도 하듯이 여기저기 들쑤시고 다녔을 뿐이었다. 결국 출발선도 찾지 못했고 말이다.
결국 포기해야 하나. 한껏 지쳐서 나가떨어진 나는 그렇게 생각하고 있던 차에 이런 느낌의 글을 읽었다. 어떤 느낌이었냐면, 문제를 해결하기 어려울 땐 문제를 재구성해서 생각하라는 그런 느낌의 글. 복잡한 문제를 간단한 것들로 해체하고 재조합하여 사뭇 간단한 문제로 만드는 그런 느낌의 글이었다. 이를테면 발상의 전환. 그래. 발상의 전환. 생각해보면 나에게 필요한 것은 '기억력'이 아니라 '내 코드를 기억하는 능력'이었다. 정말 기억력이 좋아질 필요는 없는 것이었다.
겨우 출발선에 서서 자세를 가다듬었다. 많은 사람들이 앞서서 달려 나가고 있었다. 이미 점으로, 아니 아예 모습조차 보이지 않는 사람도 많을 테지. 하지만 아무튼 출발선에 섰다. 자. 이제 달리기만 하면 된다. 달리기만 하면 되는데, 어라. 달리는 건 어떻게 하는 거였더라. 나는 기껏 취했던 자세를 풀고 자리에 주저앉아서 스마트폰으로 '달리는 법' 따위를 검색하기 시작했다.