내가 프로그래밍을 잘하지 못한다고 생각하는 큰 이유 중 하나는 같은 시간을 들였을 때 잘하는 사람보다 아웃풋이 적다고 느끼기 때문이다. 그럼에도 프로그래밍이 매력적인 이유는 아웃풋이 나온다는 것이다. 시간이 오래 걸리더라도.
비단 프로그래밍뿐 아니라 여러 가지 일에서 스스로 게으르다고 여기는 이유의 포인트도 비슷하다.
할 일을 빨리 끝내고 휴식을 즐기는 사람, 할 일 그 자체를 즐겨 하루 종일 몰두 하는 사람도 있겠지만 나는 자주 미루고 미루는 타입이다. 더 이상 미루다간 할 시간이 없을 것 같을 때가 되어서야 시작한다.
여기서 중요한 점은 그래도 시작하는 것이라고 생각한다.
미루다 보니 늦은 밤이라 이만 자야겠다고 하는 사람도 분명히 있을 것이다. 딱 그 차이다. 나보다 훨씬 부지런하고 열심히 사는 사람들이 많지만 나보다 조금 더 게으른 사람도 있다. 나는 그저 후자보다 아주 조금 더 부지런했을 뿐이다.
종일 불안해하며 논 시간까지 어떤 결과를 내기 위한 과정이었다. 그렇게 생각하면 정말 많은 공수가 들어간 것이다. 노력한 시간 자체가 그만큼은 아니지만 피로도는 크다. 그러니 효율이 낮다고 볼 수 있다. (가장 경계하는 것은 그 모든 시간을 내가 노력한 시간으로 간주하여 대단히 열심히 산 것으로 착각하는 것이다.)
누군가가 나를 24시간 지켜보고 있었다면 참 게으르구나 싶은 생각을 할 것이다. 근데 그런 사람이 딱 1명 있다. 바로 나 자신이다. 그래서 나는 나를 게으르다고 평가한다.
이런 상황을 모르는 사람이라면 어떤 결과물만 보고 나를 부지런한 사람이라고 착각할 수도 있다. 그 결과물이 퀄리티에 관계없이 1시간 만에 뚝딱 만들어진 것인지 10시간이 걸린 것인지는 안중에 없을 것이다.
만약 뛰어난 사람이 1시간에 만들어 낼 수 있는 것과 같은 퀄리티의 결과물을 10시간 만에 해냈다면 그것은 부지런한 것인가 아닌가?
바보 같긴 하지만 오히려 10시간의 인내를 거쳤으니 높이 평가되어야 할까? 그런 과정을 거치다 보면 언젠가는 1시간 만에 끝낼 수 있는 사람이 되지 않을까? 그러면 1시간 만에 끝낸 사람은 이미 그런 인고의 시간을 겪었을 텐데 아무래도 그 사람이 더 부지런한 사람이 아닐까?
생각의 생각이 꼬리를 문다.
근데 그게 뭐가 중요한가. 역시 결과물을 냈다는 것이 중요하다고 생각한다.
남들은 1시간 만에 하는데 난 10시간 걸리네? 재능도 없고 비효율적이라서 그만둘래. 이게 맞나?
난 남들보다 느리고 잘하지 못해. 그걸 진짜 스스로 인지하고 인정한다면 더욱 열심히 해야 하는 것이 맞다.
물론 나도 아직 더 열심히 하는 경지엔 이르지 못한 것 같다. 다만 뭔가 하고는 있었다. 그게 대단한 일은 아니다. 그저 최소한으로 해야 할 것들을 겨우겨우 쫓아가고 있는 정도다. 발버둥 치고 있었다는 말이 어울릴지도 모르겠다.
원래 열심히 사는 타입도 아니고 대단히 노력하는 사람도 아니라고 자평해 왔는데, 자기 자신에 대한 평가를 남을 평가하듯이 해보라는 이야기를 떠올려 보면 조금 달라지는 것 같기도 하다.
나도 누군가에게 정말 대단하다고 말하면 정작 당사자는 별것 아니라며 손사래 치는 경우가 허다하다. 그 사람의 심정이 나의 심정일 것이다. 그러나 타인인 내가 그 사람을 볼 땐 정말 멋진 것도 사실이다.
그런고로 나를 칭찬해 보자.
나는 비록 효율은 좋지 않았지만... 아니 이런 말도 빼자.
42.195km를 2시간대에 주파하진 못하겠지만... 아니 이것도 똑같은 말이잖아!
42.195km? 4시간이든 8시간이든 난 반드시 완주할 사람이다. 대단해!
(이 자는 풀코스를 뛰어본 적이 없다.)
그것이 해야만 하는 일이든 하고 싶은 일이든. 빠르진 않지만.
그것이 그나마 내가 이렇게 살 수 있게 지탱해 준 유일한 무기다.
다시 프로그래밍 이야기로 돌아와서, 잘하는 프로그래머가 아닌 내가 프로그래밍으로 밥을 먹고살 수 있었던 이유도 똑같다고 생각한다. 개발을 하다가 종종 어떤 문제가 풀리지 않으면 다른 것은 쳐다도 보기 싫을 때가 있다. 식음을 전폐할 때도 있다. 엉덩이가 가볍고 집중력을 도둑맞은 내가 말이다.
어찌 보면 잦은 콘텍스트 스위칭을 좋아하지 않는 내 성향에 참 잘 맞는 일이었던 것 같기도 하다. 나는 마트를 갈 때도 사야 될 물건이 있다면 그 물건을 확보하는 것이 최우선 목표라고 생각한다. 그 후에 구경하는 것이 낫다. 아직 해결되지 않은 문제(=사야 될 물건 확보)를 안은 채 이 물건 저 물건 보고 있거나 목표를 향해 가다가 중간에 멈춰서 다른 걸 하고 있으면 초조하다.
사실 프로그래머라면 아마 누구나 한 번쯤 이런 경험이 있을 것이다. 정신 차리고 보니 시간이 훌쩍 흘러가 해가 지거나 혹은 해가 뜨거나. 가끔은 단 한 줄로 해결될 문제를 찾지 못해 시간을 날려서 바보 같다고 느끼는 날이나 '나 좀 천재인 듯?'이라는 생각이 드는 날을 맞이한 순간 말이다.