단조증가로 성장하는 프로그래머

| 2013. 12. 20. 18:07

최근에는 주변에서 일어나는 모든 일들이 고도로 관련되지 않은 요소들의 조합인 것 같아 다소 혼란스러움을 감출 수 없다. 스티브 잡스 ㅡ 그러고 보니 한 2달 전까지만 해도 대한민국의 스티브 잡리스가 되겠다는 포부를 가지고 있었다. 그 포부 또한 최근에 일어난 일련의 일들을 통해 대한민국의 스티브 잡부(雜夫)로 방향을 살짝 선회했다. 그래도 직업조차 없었던 목표에 비해서는 잡스럽게나마 일을 하겠다는 의지를 담고 있으니 이 얼마나 큰 발전이랴. ㅡ 의 저 유명한 스탠포드 졸업 축사에서 나온 "connecting the dots"라는 개념이 떠오르지 않을 수 없는 대목이다. 정말 무엇이 어떻게 되리라는 생각은 전혀 없이, 순전히 나의 개인적인 흥미에서 벌여두었던 아주 작고 사소한 일들이 지금에 와서 이렇게 막연하지만 거대한 구조를 갖춰나가고 있는 것에 가장 큰 기여를 했다는 경험은 아마 그렇게 많은 사람들이 겪을 수 있는 성격의 것은 아니리라. 이 일이 결과론적으로 어떻게 해석될지, 스티브 잡부의 운명은 어떻게 될 것인지는 조만간 결정이 나겠지.

운명은?

그렇게 "점들을 이어나가는" 과정 중에 한 자리에서 들은 이야기다. 십수년의 경력을 가진 개발자 출신의 아저씨, 또는 형님, 또는 선배, 뭐 무엇으로 부르든 그런 사람들과 고기(와 술)를 먹는 자리였다. 사실상 웹 개발 경력이라고는 고작 6개월 남짓된 나는 무슨 말이라도 해야 될 것 같은 기분에 큰 생각을 하지 않고 이런저런 말들을 뱉어냈다. 그 중 하나가 지난 날에 짜둔 코드를 보고 손발이 사라질 것 같은 민망함을 느꼈다는 것이었는데, 그 이야기에 대해 자리에 있던 한 분이 나를 "단조증가로 성장하는 프로그래머"라고 불러주셨다. 단조증가가 무슨 말을 의미하는지 아는 나에겐 역시나 민망하기 짝이 없는 이야기였지만, 오늘까지 대충 지난 날의 가장 비효율적인 코드들의 리터칭(?) 작업이 끝난 마당에 이에 대해 할 이야기가 있어 꺼낸 스끼다시 정도로 생각하고 넘어가면 되겠다.

과거의 코드를 다시 손보게 되는 원인은 여러가지가 있을 것이다. 나 같이 경우, 즉 경력도 없이 실서비스 코딩을 시작한 사람들은 대개 매일매일 옛 코드를 수정해나가지 않으면 안 되는 상황에 처해 있을 가능성이 높다. 다행히도 코딩의 신은 그렇게 가혹하지 않아서 조금씩 꾸준하게 수정하는 코딩 작업은 그렇게 로드가 큰 일이 아니다. 20대 중반 이상 상당수의 남자들이라면 이미 코에이의 영걸전에서부터 각개격파의 중요성을 깨닫지 않았겠는가. 이름도 없는 기병대와 보병대 유닛들이라면 계속해서 몰려온다고 해도 그다지 무서울 것은 없을 것.

하지만 지난 며칠 간의 작업은 아주 오래된 코드를 들어내는 것이 주였다. 로그인과 관련된 소스였으니 아마도 내가 현재의 시스템을 구상하면서 가장 먼저 짜기 시작한 코드 중에 하나일 것이다. 초등학교 때 보통 그런 일이 종종 있지 않은가. 교실 구석 어딘가에서 발견되는 몇 개월 째 썩어들어가고 있는 우유팩이나 걸레 같은 것 , 그리고 그 저주 받은 물체가 뿜어내는 역한 기운들, 그 부정한 기운을 없애기 위해 들어가는 각고의 노력 등. 애송이 시절에 짠 코드란 바로 썩은 우유팩과도 같다. 차라리 교실 건물을 새로 짓는 것이 썩은 우유팩의 흔적을 완전히 지우는 것보다 더 쉬운 일일 수도 있다. 옛 코드를 들어내면서 기존의 시스템과 결부된 부분들을 수정해나가는 작업이 만만한 것이 아니었다. 사실 작업을 일단락 지었다고는 하지만 언제 어디서 버그가 발견될지 모르는 일이다. 개발자에겐 이보다도 더 불안한 일이 없다.

과거의 내가 짠 코드를 읽어보고 그것을 수정하는 것은 마치 과거의 나와 대화를 하는 느낌이다. 당시의 나는 어떤 생각을 가지고 있었는지, 어떤 자료를 참고로 했는지 코드에서부터 그 흔적을 읽고 그나마 경험이 쌓인 현재의 상태에서 어떤 점을 개선하고 어떤 점을 유지할 것인지를 판단하다보면 자연스레 과거의 나에 대해 돌아보는 계기가 된다. 그러나 그 누가 알았겠는가. 과거의 나는 도저히 말이 통하지 않는 초보 중의 초보, 허접 중의 허접, 불통 중의 불통인 프로그래머였음을.

훗날 도킨스 성인으로 불리게 될 리처드 도킨스의 성스러운 행위.

그래도 스스로 위안할 수 있는 부분은 그만큼 나의 성장이 피부에 와 닿을 정도로 느껴진다는 것이다. 앞으로 나아갈 길 역시 그다지 평탄해 보이지는 않지만 어쨌든 나는 스스로의 과거를 부정하게 됨으로써 현재까지의 성장을 증명해냈다. 그 성장의 추세가 단조증가가 될지는 누구도 모르는 일이나 그렇게 되겠다고 굳게 마음을 먹으면 또 안 될 일도 아니지 않겠느냐 하는 생각이다.

나 스스로도 놀랄 만큼 대단한 자신감이다.