[책] 소프트웨어 장인
회사에 출근한다. 마치 공장의 컨테이너 벨트가 끊임없이 돌아가듯 그런 자연스러운 형태로 나는 아침을 가다듬는다. 이를테면, 가방을 늘 놓던 곳에 놔두고, 플래너를 펼치고, 컵을 씻고, 컴퓨터를 켜고, 퍼포스 업데이트를 받는 동안 커피를 한잔 내리는 등의 일이다. 이 일련의 작업을 마치 목욕재개라도 하는 것처럼 매일 아침 반복하지만, 습관이 되어버린 이유로, 혹은 오늘 아침의 프로세스를 해냈다는 소소한 만족감을 얻기 위해서, 어떨 때는 찬찬히, 어떨 때는 서둘러 그냥 해낼 뿐으로, 이 작업들에 점점 익숙해져서 프로가 되어간다는 느낌은 일절 없다. 인터넷을 떠돌다가 봤던가, 어떤 책에서 봤던가, 누군가는 단지 매일 숨을 쉰다는 이유만으로 숨 쉬기 전문가가 되진 않는다고 했다. 아마 나의 이 아침 프로세스도 마찬가지의 이유인 것이다.
다음으로 넘어간다. 오늘 해야 할 일감을 대충 확인하고, 어제 보던 일을 이어가기로 마음 먹는다. 비주얼 스튜디오, 검은 색 테마 속에 자수처럼 새겨져 있는 주황색, 노란색 형형색색의 코드들을 찬찬히 뜯어 보며, 어제의 기억을 되살려 본다. 아, 맞아. 여기까지 했었지. 그럼 확인해 볼까. 빌드를 돌려본다. 그 와중에 커피를 한 모금 머금어 본다. 이 쯤에서 나는 직감한다. 이 프로세스를 오늘 또 하루종일 반복하게 되리라는 것을. 그리고, 이 반복 작업을 반복 작업으로 여기는 동안에는, 나는 숨 쉬기 전문가가 되지 못하는 것처럼 프로그래밍 전문가가 되지 못하리라는 것을. 일상 속에서도 나는 간간히 이런 불길한 직감에 가슴을 정통으로 얻어 맞곤 하는데, 그 불안감이란 사실 이렇게 꽤나 근거가 있는 불안감이었던 것이다.
책은 제목 그대로, 프로패셔널리즘에 대해 이야기하고 있다. 소프트웨어 장인이라면 무릇 갖추어야 할 자세, 그리고 행해야 할 일들, 자신감, 행동력 등을 강력하게 어필한다. 그래, 프로그래머를 위한 자기계발서인 것이다.
책을 읽던 난 마음이 아팠다. 여기서 말하는 ‘장인이 되지 못한 프로그래머’의 예제들 중 많은 부분이 나를 포함하고 있었기 때문이다. 난 ‘장인이 되지 못한 프로그래머’의 부분 집합 중에서도 꽤 커다란 부분 집합이었다. 새우 튀김으로 비유하자면, 튀김을 벗겨낸 새우 정도는 되지 않을까 싶을 정도의 비중이다.
“코딩이 직업인 사람이 동작하는 코드를 만드는 건 기본이예요.”그는 조용이 말했다. “일을 끝냈다는 말에는 제대로 동작한다는 것이 당연히 포함되어 있죠.”
특히 젊은 개발자들은 그러한 무리한 요구에 굴복하고 일정 안에 해보겠다는 약속을 하고 만다. 상급 관리자에 대항하는 것을 두려워하거나, 아니면 그냥 논쟁자체를 피하려 한다.
일에서 투자 이익을 얻는다는 개념을 이기적이고 프로페셔널하지 않은 이력서 채우기로 오해해서는 안된다. 업무에 대한 기여는 생각하지 않고 개인적인 이유로 이력서에 채워 넣을 기술과 방법론들을 쫓아 다니는 것은 비윤리적이다.
이 일을 벌써 꽤 오래 했다. 그런 만큼 쌓인 과거도 많다. 일을 하다가도 간혹 처음 일을 시작했을 때의 내가 떠오르면 얼굴이 붉어진다. 그 당시엔 무지한 주제에 어떻게 그렇게 자신만만하게 아슬아슬한 코딩을 했던 걸까. 사실 지금도 내가 남긴 흔적들을 보고 있자면 얼굴이 터질 것만 같아서, 마치 땅굴에 얼굴을 처박는 타조처럼, 코드를 훌훌 넘겨버릴 때가 있다. 이 책을 읽어나가고 있자면, 내가 스쳐 지나온 그런 순간 순간들, 면면이 방울 방울 솟아 올라, 내 귓바퀴 근처에서 펑 하고 터진다. 그럴 때마다 나는 깜짝 놀라 책을 덮어버릴 뻔 하고 만다.
어설픈 코드가 가진 약점은, 어설픈 마음가짐에도 똑같이 있었다. 그저 덮어 놓고 모른척 하고 있자면, 그건 시한 폭탄처럼 째깍 째깍 타이머를 돌리기 시작하는 것이다. 가장 깨끗해야 할 순간에 펑! 하고 터져서 잔해를 여기 저기 흩뿌리고 말 것이다. 가장 중요한 순간에 게임은 크래시가 나고, 가장 중요한 선택을 해야 할 순간에 마음은 똑 하고 부러지고 말테지. 그렇게 생각하며 고개를 끄덕인다.
결국 난 최고조로 불안해진 상태로 책을 덮고야 만다. 그리고 한동안 무기력에 패배해서 흰 깃발을 흔들며 엉덩이를 뾰족하게 세운 채로 엎드려 있던 나의 의지를 다시 한 번 일으킨다. 자, 이제 가서, 읽었던 책을 다시금 정리하고 독후감을 써라! 아무튼 지금 할 수 있는 일들부터 다시 일으켜 세워 나갈 수밖에 없는 일이었다.
재미있었다.