행복한 프로그래머를 꿈꾸던 우테코를 마치고 1년이 되어간다.
나는 어떻게 살았는가? 행복했는가?
그렇고, 아니다. 사랑하는 가족들과, 친구들과 보낼 수 있는 시간이 훨씬 많아서 행복했다.
내가 프로그래머로 성장하고 있는지가 불명확해서 행복하지 않았다.
처음엔 컨디션이 좋았다.
충분히 쉰 후 호기롭게 더 깊은 공부, 새 프로젝트를 시작했다.
그런데 너무 바빴고, 채워도 채워도 끝이 없는 결핍에 불안해졌다.
처음엔 내가 하고 싶어서 했지만, 가슴이 두근거렸지만..!
항상 부족했다. 채워도 채워도 부족했다.
내가 직접 전력을 다했는데도 그렇다는 사실을 인정할 수 없었나보다.
이는 곧 조급함으로 이어졌다. 내가 벌인 일에 내가 쫓기기 시작했다.
인간의 가장 큰 적. 조급함.
나는 또 다시 ‘도마뱀 뇌’에 지배당해 무의식적으로 살았다.
나를 돌아볼 시간이란 거의 없었고, 내 일상은 공부하기, 일하기, 시험보기, 술마시기, 잠자기의 반복이었다.
업무와 내가 분리되지 않았고, 매일 쫓겨 살았다.
todomate엔 ‘내’가 아닌 ‘개발자 땡칠’만 가득했다.
그렇게 해놓고 한심하게도 열심히 하고 있다고 생각했다.
그리고 곧 그간 얻은 가치들을 잃어버리기 시작했다.
‘프로그래머로 사는 방법’을 잊어버리기 시작했다.
- 나의 꿈은 무엇인가?
- 나는 왜 프로그래머를 직업으로 택했나?
- 프로그래밍이 즐거운 이유는 무엇인가?
- 테스트 코드를 왜 작성하는가?
현실에 찌들었다. 꿈을 망각했다.
손사이로 빠져나가는 것 같아 더 세게 붙잡으려 했다.
더 조급해졌고 억지로 하곤 했다.
잡았나? 싶으면 떨어지고, 오르내리기를 반복했다.
질질 끌려다녔다.
작년 여름, 우테코 팀프로젝트를 하며 ‘어떻게하면 사람들을 잘 이끌 수 있을까?’를 고민하던 순간이 있었다.
처음 만난 우리 팀은 각자 다른 생각을 가지고 있었을 터이다.
하지만 팀이라면 적어도 방향정도는 합의가 필요했고, 나는 고민이 많아졌다.
내가 옳다고 생각한다고 해서 남에게 내 생각을 강요할 순 없다.
이 때 고민하다가 알게 된 한 문구가 있었다.
“배를 만들고자 한다면, 배를 만드는 방법을 가르치지 말고, 푸른 바다를 꿈꾸게 하라”
‘개인을 행복하게 할 만큼 충분히 좋은 목적’이 중요하며 우선되어야 한다는 것이다.
그러나 나는 푸른 바다를 망각하고 배를 짓는데만 열중했으니, 주객이 전도된 것이었다.
그래도 행복한 프로그래머로 살아보았기 때문에 드문 드문 돌아오는 기억과 가치관이 있었다.
붙잡기 위해 칠판을 하나 사서 현관에 붙이고, 생각나는 것들을 적기 시작했다.
그러다보니 조금씩 돌아오기 시작했다.
‘의무감에 끌려다니지 말자’, ‘첫 술에 배부를 수 없다. 너무 크면 작은 단위로 분리하자’ 주로 이런 것들이었다.
좋지만 충분하지 않다. 다시 내 삶의 주도권을 상실한 채 열심히만 살았던 것 같다.
주제는 ‘프로그래머로 산다는 것’
내가 1년간 어떻게 살았고, 어떤 공부를 했고, 왜 행복해 했는지 다시 느끼게 되었다.
eXtreme Programming. 종종 본 그림이다. 학부 수업에서도 봤다.
이론적이었고, ‘오류는 빨리 잡을수록 비용이 적다. 테스트를 해라’ 외에는 와닿지는 않았다.
그러나 나는 이제 이것을 훌륭한 ‘지속 가능한 개발/업무 방법론’ 중 하나라고 생각한다.
난 일 년 이상 저 파란 원을 의식적으로 연습하며 지냈다. 그래서 이 과정 안에서 프로그래머로서 느끼는 해방감, 행복감을 잘 알고 있다.
테스트 코드에 명확히 정리된 의도, 그 의도대로 동작하는 코드.
언제든지 자동으로 결함 검증이 가능한 테스트, 변경이 두렵지 않은 코드.
진정으로 리팩터링이 가능한 코드는 이런 것이다.
누구나 직접 고민하고 실천하고, 연습하지 않는 이상 체감하기가 어려울 것이다.
누군가는 ‘꿈 깨라, 너무 이상적이다’라고 할지 모르겠다. 심지어 나도 그렇게 생각한다.
어제 강연을 듣고 나오면서 ‘아 좋은데… 리얼 월드에서 이것이 온전히 실현될 수 있을까?’ 고민이 되었다.
그러나 꿈 없이 살 수 있는가? 업무 자체가 삶의 목적이 되어도 되겠는가?
그냥 흘러가는대로 현실에 절여져서 살 것인가?
난 그렇게 살 수 없다. 그냥 죽겠다.
분명 이상은 현실과 일치하기 어렵다.
하지만 바로 그 이상이라도 있어야 그 비슷하게라도 될 것 아니겠는가.
아무튼 이게 내가 마침내 다시 찾은 ‘프로그래머로 살아가는 방법’이었다.
왜 공유를 해야 할까?
또 다른 수확도 있었는데, 바로 ‘공유’에 대한 것이었다.
나는 왜 지식을 공유해야 하는지 사실 잘 체감되지 않았다.
그 과정에서 내가 공부가 되니까? 그것이 인류 발전의 길이니까?
맞지만 좀 더 체감되는 이유가 튀어나왔다.
‘그래야 내가 더 편하게 일할 수 있다.’
아. 아주 정확하다…
내 주변사람들이 똑똑해지면 내 일이 수월해지는 거였다.
다른 효과는 그냥 긍정적인 사이드이펙트였다.
이렇게 해봐야지…