요즘 자정 넘어 퇴근하는 일이 많아지고 있다. 담당한 프로젝트가 곧 출시를 앞두고 있는 것과 무관하지는 않을 것이다.


왜 자정 넘어 퇴근을 하는가? 정규 업무 시간이 끝나고 나면 또 무슨 일을 하길래 나는 회사에 이렇게 오래토록 있는가? 야근 없이는 이 프로젝트가 성공할 수는 없는가? 오늘은 이 주제에 대해 약간 다뤄볼까 한다. 하지만 아래에 나올 이야기는 하나의 주제를 가지고 이야기를 풀어 쓴 것이 아니라, 내 생각의 흐름에 맞춰 순서대로 기록되었기 때문에 일관적인 내용을 가지지는 않는다는 것을 알아두었으면 좋겠다.




나는 사람이 하루에 쓸 수 있는 집중의 시간은 정해져 있다고 생각한다. 마라톤 선수라고 해도 하루에 마라톤을 두 번 이상 할 수는 없는 법이다. 난 사실 마라톤을 어떻게 교육하는지는 모르겠지만, 아마도 마라토너 코치가 선수에게 하루에 100km 를 달리라고 한다면 - 참고로 마라톤은 약 42km 달린다 - 코치의 자질을 의심하고도 남을 것이다. 몸의 피로는 너무나도 자명하기 때문에 쉽게 이해할 수 있다. 정신 - 즉 '뇌' - 의 피로는 쉽게 '정신력'이라는 말로 간과당하고는 한다. 정신력은 상황에 따라 거의 무제한에 가까운 능력을 발휘할 수 있다고 믿는 사람들이 있지만 그 또한 뇌 세포의 활동, 즉 신체 활동의 연장에 불과하다. 따라서 적절한 휴식이 따라오지 않으면 정신력은 휴식 없는 마라톤 선수의 근육 상태와 같이 며칠 지나지 않아 더 이상 적절한 생각과 노동을 할 수 없게 될 것이다.


나는 프로그래머인 관계로 마라톤과는 일 하는 방식이 다르지만, 이렇게 일정 시간 동안 집중하여 생산할 수 있는 능력을 나는 '코딩력'이라고 표현한다. 하루에 내가 코딩할 수 있는 노동의 총 량을 의미하는 것이다. 오래달리기 선수라고 한다면 하루에 달릴 수 있는 총 거리와 비슷한 느낌일 것이다. 그리고 '코딩력'을 전부 소진하고 나서도 만약 일을 더 해야 한다면, '생명력'을 사용한다고 표현한다. 생명력을 소진하는 것은 말하자면 이자율이 비싼 대출과 비슷하다. 내일의 코딩력을 오늘 땡겨 쓴다고 생각할 수도 있고, 아니면 내 체력을 팔아서 코딩력을 산다고 생각할 수도 있다. 그렇지만 어제나 비싼 이자를 지불해야 하기 때문에 단기간의 능력은 향상되나 장기간의 능력은 감소한다.


요즘 더 알려진 용어로는, 이렇게 생명력을 소진하는 행위를 '크런치 모드'(crunch mode 또는 crunch time)라고 한다. 재미있게도, 구글에 crunch mode 를 검색하면 상위권에 다음 링크가 나온다:

https://cs.stanford.edu/people/eroberts/cs181/projects/crunchmode/index.html


<위는 구글 검색 내용을 캡처한 것이다>


일단 두 번째 링크의 주소를 살펴보면, 미국의 명문 대학교인 스탠포드 대학교(stanford.edu)라는 것을 알 수 있다. 그리고 내 경험으로 미루어 보아, 앞의 "cs" 는 보통 Computer Science 를 의미한다. 즉, 스탠포드 대학교 컴퓨터 학과라는 것이다. 이게 어느 정도 레벨인지 모르는 사람을 위해서 설명하자면, 만약 내가 여길 수석으로 졸업할 정도의 실력이라면 아마 10년마다 대출 없이 집을 한 채 살 수 있을 정도의 급여는 받고 살 수 있을 정도라고 말할 수 있겠다. 전 마이크로소프트 CEO, 페이팔 설립자, 구글, 야후, HP, Nvidia, 썬 마크로시스템즈, 스냅챗 창업자가 여기서 나왔으니 대충 어느 정도 수준인지 느낌이 올 것이다.


다시 본론으로 돌아와서, 크런치 모드의 검색 결과가 의미하는 것은 무엇일까? 세계 최강의 명문대 조차도 야근은 피할 수 없다, 또는 우리야 말로 야근에 대해 가장 권위있게 설명할 수 있는 곳이다 라는 의미가 아닐까 한다. 구글 검색 결과의 상위를 차지하고 있다는 것이야말로 권위를 나타내는 지표일 것이다.


미국의 대학교는 한국과는 달리 들어가는 것은 그렇게 어렵지 않지만 졸업하는 것이 정말로 어려운 것으로 알려져 있다. 비교하자면 한국의 고3 수능 시험을 준비하는 공부의 강도가 미국에서는 대학교 4년 내내 이어지는 것이다. 잘 떠올려보면, 미국의 영화 중 치어리더 나오고 운동남 나오고 파티를 하는 코믹 학원물은 우리 눈에는 마치 대학생들 이야기처럼 느껴지지만, 실제로 영화 내에서는 고등학교 시절 이야기다. 말하자면 우리와는 고3과 대학 생활이 반대라고도 할 수 있겠다. 조금 슬픈 이야기지만, 우리나라에서는 고3 학생들이 시험 공부를 하다가 자살을 하고는 하지만 미국에서는 대학생들이 자살을 한다. 나도 돌이켜 생각하보면 가장 끔찍했던 시절이 바로 고3이었다. 누군가는 젊은 시절로 돌아가고 싶다지만 나는 다시는 그 시절로 돌아가지 않으리라.


그렇다. 야근이야말로, 지구상에서 가장 위대한 IT 업계의 업적인 구글 창업자 또한 피할 수 없는 일이었을 것이리라.

나 또한 회사에서 이루었던 가장 큰 업적들은 야근 속에서 만들어진 것이 많다고 생각한다.


그렇다면 야근은 결국 프로그래머에게 필요불가결한 존재인 것인가? 그렇지는 않다고 생각한다.


위에서 이야기했던 '업적'을 이루었던 야근의 형태는 어느 정도의 패턴을 가지고 있다. 그 중 가장 중요한 것은 "강한 동기"이다. 뭔가를 이루고자 하는 마음이 일정의 마감과 겹쳐 시너지를 낸 것이다. 만약 내가 내 일에 대해서 책임감과 관심, 그리고 사적인 흥미를 느끼지 않았다면 그런 업적은 이루지 못했을 것이다. 반대로 말하면, 사적인 동기가 없는 야근은 아무런 의미가 없다. 내가 아닌 다른 사람이 아무리 급해봤자 내가 그것에 대해 공감하고 동의하지 않으면 아무 소용이 없는 것이다. 대중교통을 이용할 때 내 뒷 사람이 나를 아무리 밀어봤자 내가 여기서 내릴 역이 아니면 나는 꿈쩍하고 싶은 마음이 들지 않는 것이다.


그래서, 요즈음의 야근은 과연 나에게 사적인 동기가 있었고 자발적인 것이었는가? 나는 분명 책임감을 느끼고는 있지만 그게 사적인 동기로까지 이어지려면 그 보상 또한 나에게 연결되어 있을 것이라는 믿음을 가지고 있기 때문일 것이다. 그러니까 생명력을 불태우면서까지 납기일을 맞추는 행위가, 내년 내 급여와 인센티브에 직접적인 영향을 줄 것이라는 강한 믿음을 가지고 있기 때문이다. 그리고 또한 내가 담당한 업무가 제대로 돌아가는 것을 보고 싶은 것 또한 있다. 만약 이러한 업무와 보상과의 연결고리가 부정된다면 나는 야근을 할 필요가 없다. 야근을 하면 내 개인 시간이 없어지고, 안하면 평가는 나빠질 수도 있지만 솔직히 회사에서 잘려도 내가 갈 곳은 많으니까. 굳이 시간을 돈으로 바꾸는 업무에서 내 시급을 일부러 희석시킬 필요가 뭐 있겠는가? - 참고로 우리 회사는 포괄임금제라서 야근을 해도 돈을 더 주지 않는다.



반응형
회사에서 메신저로 친구와 이야기 하다가 친구가 메신저로 웹페이지 링크 하나를 보내줬다.

클릭해보니까, 내용은 어떤 온라인 게임 상에서 남자가 여자인 척 하고 - 일명 넷카마 - 다른 여자와 아주 친해져서 결국 만남을 가지게 되었는데 알고 보니 그 상대도 남자더라는 이야기다. 여기까진 좀 웃기면서도 슬픈 이야기였다.

그런데 다른 링크를 보내줬는데, 아까 글을 썼던 사람이 다시 쓴 글이다. 상대방이 자기보고 사기죄로 고소한다는데 어떻게 해야 하냐고 한다. 참고로 글쓴이는 자신이 이십대 초반이라고 했다.


몇 가지 생각이 떠올랐다. 일단 사기죄는 성립될 수 없다는 생각이었다. 상대방은 '네가 여자인 척 해서 온라인 게임상의 아이템이나 사이버 머니를 받아냈으니 사기다', 또는 '남자인데 여자 행세를 했으니 사기다'라는 주장을 한 것으로 보인다. 

물론 게시물에는 이런 내용이 적혀있지는 않았지만 여케에게 남자가 경제적인 지원을 많이 하는 게 꽤 흔한 것으로 알고 있다. 하지만 이 사람은 악의적으로 속이려고 한 것도 아니고, 여케라는 이유로 남자가 금품을 제공하는 건 남자의 자의에 의한 것으로 볼 수 있으므로 성립이 안 될 것이다.

둘째로 남자가 여자 행세를 했다는 거 자체가 잘못되었다는건... 뭐 그냥 그럴수도 있지. 롤플레잉 게임인데 여케면 당연히 여자 노릇을 해야 맞지 않겠습니까(?!).


위는 아주 잠시의 순간에 생각한 것이고, 그 다음으로 생각한 것은 그렇게 벌벌 떨지 말고 법전을 보면 되지 않을까 하는 생각이었다. 그런데 이십대 초반의 남자가 이 정도 협박에 떨어서야... 아무튼 대법원 홈페이지에 들어가서 이곳 저것 뒤지기 시작했는데... 아무리 봐도 법전은 어디서 보는지 모르겠다. 뒤지다 보니 판례랑 법령이라는 것을 조회할 수 있는 곳은 찾았는데 법전이랑은 다른지 사기죄같은건 검색이 안된다.

에라이~

그런데 네이버에서 법전을 검색하다보니...

법전 [法典, code]


법전을 편찬하다

compile law books


법전을 제정하다

establish a code

출처: 네이버 사전


오오 이럴수가! 법전이 영어로 '코드'였다. 게다가 컴파일이라는 단어까지 보인다. 그렇다면 우리는 말하자면 국회의원인가? 아니면 법관 정도 되려나.


사실 법전이 실제 소스 코드와 비슷한 점이 많다고 평소에 생각하긴 했다. 그래서 애매한 법 때문에 말도 안되는 판결이 나오는 것을 보면서 버그와 비슷하다고 생각하기도 했고 - 정확히 말하면 요구사항이 애매한 것 때문에 코드가 의도와 다르게 나오는 것과 같다 -, 숙련된 프로그래머가 법을 작성하면 훨씬 더 잘 할수 있을 것 같다는 생각도 해봤었다.

한편으로는 국회의원이라고 해도 4천만 국민의 모든 상황에 맞게 법을 만드는 것도 참 힘들 것 같다는 생각도 들고, 코드가 늘어나니 버그도 생기고 복잡도도 늘어나는 것은 당연하다는 생각도 든다.


이것도 전공 강박증인가?

반응형

'일기' 카테고리의 다른 글

위키 찾다가 스프링노트를 찾았다  (0) 2011.02.15
코딩 슬럼프  (0) 2010.11.02
Test Driven Development, 첫 걸음부터 세미나를 하기까지  (0) 2010.10.10
레거시 코드와 씨름 중  (0) 2010.10.10
프로그래밍 심리학  (0) 2010.09.15

+ Recent posts