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


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




나는 사람이 하루에 쓸 수 있는 집중의 시간은 정해져 있다고 생각한다. 마라톤 선수라고 해도 하루에 마라톤을 두 번 이상 할 수는 없는 법이다. 난 사실 마라톤을 어떻게 교육하는지는 모르겠지만, 아마도 마라토너 코치가 선수에게 하루에 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 업계의 업적인 구글 창업자 또한 피할 수 없는 일이었을 것이리라.

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


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


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


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



반응형

어제 일기에서 내가 팀을 이동했다고 이야기했다. 


나는 게임 회사를 다니고 있으며, 이동 전 프로젝트는 내가 회사를 이 회사에 입사하면서 들어갔고 약 4년 동안 있었다. 이동 후 현 프로젝트에서 일한지는 이제 2년이 다 되어간다.



팀 이동을 하고 나니 보이는 것들


나는 구직을 할 때 그 회사가 어떤 회사인지가 중요한 것이 아니라, 내가 들어갈 팀이 어떤 팀인지가 훨씬 중요하다고 생각한다. 예를 들어, 이직을 한다면 회사를 보고 고르는 것이 아니라, 어떤 게임을 만들게 될 것인지, 그리고 같이 일하게 될 사람들은 어떤 사람들인지를 훨씬 중요하게 본다는 것이다. 그런 면에서, 팀 이동은 이직과 다를 바 없다고 생각한다. 비록 같은 건물, 같은 유관부서, 같은 편의시설, 같은 전산 시스템 등을 공유하지만 말이다.


그리고 실제로 프로젝트 이동을 하고 나니, 비록 같은 회사지만 팀 마다 다르다고 느끼게 된 것들이 몇 가지 있다. 


다른 사람들이 나를 대하는 태도


먼저 이전 팀에 입사할 때 나는 SI 회사와 안티 바이러스 회사 경력은 있었지만 게임 업계는 처음이었을 때였고 나이 또한 아주 어려서 팀에서 거의 막내급이었다. 그래서 그런지 많은 사람들에게 사회 초년생으로 인식되었던 것 같다. 직급은 입사할 때부터 아래에서 두번째 - 대리 정도 - 였지만 말이다. 덕분에 어느 정도 실수를 해도 이해해주고 귀여움받을 수 있는 장점도 있었지만, 의견을 냈을 때 진지하게 받아지는 일 또한 많지 않았다는 느낌이었다. 또 코드를 작성하는 방식에 대해 간섭을 많이 받았는데 이것이 상당한 스트레스였다. 거기서 설득을 하려면 어떤 권위가 필요했지만 나이는 남들이 보기엔 너무 어렸고 내가 가진 경력은 대부분의 사람에게 인식되지 못했다. 한 가지 예를 들자면, 코드에 클래스, 변수, 함수 이름을 지을 때 헝가리안 표기법을 사용했었는데, 나는 일찌감찌 이 방식을 SI 회사 다닐 때 쓰다가 단점을 깨닫고 버렸던 방식이다 - 이 내용에 대해선 별도로 포스팅을 하겠다.


현재 팀에서는 어떤 이유에선지는 몰라도 시니어 프로그래머 취급을 받는 느낌이다. 직장 상사만 해도 가끔 나를 부를 때가 있는데 심장이 쿵쾅거리면서 혹시 뭔가 실수한 것은 아닌가, 호통을 듣는 것이 아닌가 하고 긴장했었는데 대부분 어떤 구현을 하고 싶은데 어떤식으로 구현하는게 좋을 것인가에 대해 의견을 물어보는 것이어서 어리둥절한 적이 많다. 또 다른 팀원들도 프로젝트에서 잘 모르는 부분이 있으면 나에게 질문을 하는데 사실 나도 이 프로젝트에 온지 얼마 안되서 모르는 것이 많아 당황할 때가 많았다. 그래도 잘 모르겠다고 대답을 하기 보다는 내 힘이 닿는 한까지 최대한 답을 찾아서 알려주었다.


업무 분위기


이전 팀은 상당히 시끌벅적한 느낌이었다. 좋게 말하면 즐겁고 게임 회사같은 분위기였고 나쁘게 말하면 업무 집중도가 높지 않은 분위기였다.  나는 프로그래밍을 할 때는 조용하고 혼자 있는 느낌에서 좋은 퍼포먼스가 나왔기 때문에 중요하거나 빠른 시일 내에 처리해야 하는 일이 있으면 새벽 시간에 코딩하는 것을 선호했다. 그러다가 업무 시간에도 그런 집중도를 내보기 위해 노이즈 캔슬링 헤드폰을 구매했으며 어느 정도 효과는 보았지만 만족할만한 수준은 아니었다.


현재 팀은 비교적 조용한 분위기이다. 테스트를 위해 단체로 게임을 할 때가 있는데 이 때는 시끌벅적해지긴 하지만 눈치를 주거나 하지는 않는다. 처음에는 상대적으로 너무 조용한 분위기 때문에 말 소리도 크게 못냈지만 현재는 익숙해져서 별 이상한 느낌은 받지 않는다. 노이즈 캔슬링 헤드폰은 큰맘 먹고 더 좋은 것으로 구매했는데 역시 소음이 적을 수록 집중도가 높아지는 것을 느낀다.


업무 규칙


당연히 다른 팀인 만큼 규칙 또한 다르다. 예를 들면, 이전 팀에서는 늦은 시간까지 야근을 하는 경우에는 다음 날 늦게 출근을 할 수 있다는 것이 공식적으로 인정되었다. 


여기서는 딱히 그런 규칙은 없지만 반대로 늦게 온다고 해서 특별히 문제를 제기하지도 않는다. 전일 늦게까지 작업하다가 피곤하면 늦게 올 수 있고 그 대신 업무 시간에 집중해서 빨리 끝내는 느낌. 개인적으론 전 팀의 제도가 마음에 들었지만 여기도 크게 스트레스받지는 않는다. 이 때문에 회사에서 공용으로 사용하는 출퇴근 기록 대신 별도의 팀 전용 관리 페이지를 만들어볼까 하고 생각하고 있다.


사람


그렇다. 무엇보다도, 다른 팀에 가면 다른 사람들이 있다. 위에서 말한 태도, 분위기, 규칙이 다른 이유도 당연히 사람이 다르기 때문에 다른 것이다. 거기에는 나를 좋아하는 사람도 있고, 나를 싫어하는 사람도 있고, 나를 신경도 쓰지 않는 사람도 있고, 상황에 따라 나를 좋아하거나 싫어하는 사람도 있다.


팀 인원이 이동 전이나 후나 상당히 많은 관계로 모두의 성격을 다 나열할 수는 없을 것이고, 또한 여기에 적기에는 부적절하다고 생각한다. 하지만 사람이 바뀌면서 내가 회사를 다니면서 어떤 생각을 하게 되는지에 대해 주는 영향 또한 상당히 변했다는 것은 분명한 사실이다.




팀 이동을 생각하는 당신에게


여기서부턴 내 이야기가 아니라 조언.


회사에서 받는 스트레스의 대부분은 업무가 아니라 사람으로부터 나온다. 그래서 좋은 사람들과 일하는 것이 무엇보다 중요하다고 생각한다. 


만약 당신이 팀 이동을 생각한다면 반드시 같이 일할 사람들에 대한 고려를 해야 한다. 가장 좋은 것은 이동할 팀의 사람들에 대한 정보를 듣는 것이겠지만, 그 정보가 객관적이라는 법은 없다는 것 또한 잘 생각해야 한다. 누군가 자기와는 성향이 안 맞다는 이유로 당신에게는 그 사람을 안 좋게 이야기할 수 있지만 실제로 가봤더니 나에게는 친절하게 대할 수 있는 것이다. 반대로 좋다고 이야기했지만 나에게는 매우 안 좋은 경우 또한 있을 수 있다.


당신의 상사가 될 사람이 어떤 사람인지 파악하는 것 또한 중요하다. 만약 면접을 보러 갔다면 그 때 이야기를 나누면서 어느 정도 느낌을 받을 수 있을 것이다. 당신이 원하는 이상적인 팀의 요건에 대해 말해보고 어떻게 반응하는지 살펴보면 좋을 것이다.


혹시라도 팀 이동의 이유가 현재 당신과 일하고 있는 사람이 마음에 들지 않아서라면 특히 주의해야 한다. 그 사람도 나를 마음에 들고 있지 않을 가능성이 매우매우 높으며, 내가 이동할 팀의 상위권자에게 나에 대해 나쁜 이야기를 할 수도 있다. 만약 그런 경우엔 팀 이동 후 본인의 실력을 발휘한다면 금방 오해가 풀릴 것이지만 알아는 둘 것.


반응형

+ Recent posts