본문 바로가기

플밍 is 뭔들/관련글&리뷰

[프로그래머 삶] 개발자는 왜 야근을 해서 소중한 시간을 버리는가?

‘프로그래머 삶’ 홈페이지에 게재된 글을 편집한 뒤 모비인사이드에서 한 번 더 소개합니다.

이미지: shutterstock

2012년에 웹서핑을 하다가 우연히 카페인에 중독된 미국 개발자 ‘러셀 볼’ 블로그에 들어가게 됐습니다. 본인의 경험을 바탕으로 야근에 대한 생각을 적어두었더군요. 4년 전 글이지만, 오늘날 모습에 대입해도 공감되는 내용입니다. 번역을 매우 정확하게 하는 편이 아니라 요약과 의역이 많은데요. 이 점 감안해서 봐주시면 감사하겠습니다

카페인에 중독된 러셀 볼이란 개발자분의 글(개발자 야근에 대해서)
Caffeinated Coder – A Grande, Triple Shot, Non-Fat Core Dump by Russell Ball

저는 일주일 40시간 근무가 당연함에도, 일주일에 60~80 시간이나 일할 수 있는 체력에 약간의 자부심을 가졌었습니다.

어느 날에는 일부러 작업 속도를 늦춰 야근수당을 챙기기도 했었죠. 야근은 개인을 발전시킬 수 있는.. 일종의 자기계발 방법의 하나라고 생각했습니다. 순전히 개인적 만족감으로 야근을 자처했지, 내가 몸담은 미국 기업 중 하나를 위한다는 생각은 아니었습니다. 어쨌든 지금은 그런 생각을 하지 않습니다. 잘못된 생각이었기 때문이죠.

조직에 야근이 늘어난다는 것은 그 IT 조직이 점진적으로 붕괴한다는 하나의 징조입니다. 그런 생각을 하는 데에는 몇 가지 이유가 있습니다.

#다른 기술을 배울 기회의 박탈
(Lost Opportunity Costs in Professional Growth)

제 경력에 도움이 될만한 굵직한 프로젝트들을 수행해 봤는데, 진짜 전문가 또는 뛰어난 사람이 되기 위해선 업무 외적인 경험과 지식도 중요하다는 것을 알게 됐습니다.

어느 날, 제 동료들의 문제 해결 모습을 지켜보다 이런 생각이 들었습니다. 평소에 하던 독서, 글쓰기, 발표, SNS 등 다른 여가/취미 활동 등이 제가 더 발전할 수 있는 요소라고 말이죠. 물론 전문 기술서적을 읽거나, 새로운 프로그래밍 언어를 공부하는 것도 좋은 요소입니다.

#경력이 편중되는 위험성
(Increased Professional Risk from Lack of Diversification)

많은 사람이 여러 분야의 전문가로 불리길 원해 편중된 경력을 쌓진 않을 겁니다. 왜냐면, 편중된 경력은 업계에서 그다지 매력적이지 않거든요.

당신의 이력서에 다양한 내용을 적으려 한다면, 야근할 시간에 다른 것을 시도해야 합니다. (하루 10분이라도) 새로운 기술을 경험하면 경력이 치우치는 위험성을 줄일 수 있음에도 많은 사람이 야근 때문에 발전할 기회를 놓치고 있습니다.

#잃어버리는 열정과 꿈(Decreased Professional Passion)

노련한 개발자로 성장하는 데 필요한 핵심 요소는 열정과 결과에 대한 자부심입니다. 호기심으로 다루는 일들보다는 내 열정이 닿는 일을 할 때, 더 큰 기쁨을 느낄 수 있습니다. 야근은 당신의 많은 감정을 빼앗아 갑니다. (시간적 여유가 없다보니, 열정과 자부심조차도 느낄 겨를이 없다는 의미인 듯)

#떨어지는 생산성(Decreased Professional Passion)

야근은 생산성에 큰 영향을 미칩니다.

1. 야근 때문에 과도한 스트레스가 생김
2. 업무 처리 속도가 느려짐
3. 낮은 품질의 코드 생겨남
4. 버그가 많아짐
5. 버그 찾는 속도도 느려짐

이에 따라, 과도한 스트레스는 결국 과도한 피로감을 불러옵니다. 악순환의 반복이죠.

이미지: shutterstock

#형편없는 코드(Poor Code Quality)

밥 먹듯 야근을 하는 조직에선 이런 문제점이 생깁니다.

1. 회사는 사람을 놓치게 됨
2. 근속 연수도 낮아짐
3. 회사에선 유지보수 시간이 늘어나 비용 지출도 함께 증가

그리고 인력 재편이 잦아지면 코드가 질적으로 낮아질 가능성이 있어 이 경우 고객사에 신뢰감을 떨어뜨립니다. 장기적으론 시장에서 신뢰성을 잃기에 전반적인 회사 경영에도 문제가 생길 수 있습니다.

#상대적으로 낮아지는 급여(Lost Personal Revenue)

우선, 이 포스트(Balancing A Workaholic Schedule [클릭])에 나온 내용을 언급합니다. 요약한 내용은 아래와 같습니다.

나는 하루에 5~6시간의 잠을 자며, 가족, 투잡, 운동, 취미생활, TV 시청 시간도 갖는다. 물론, 내 직장과 내 업무를 사랑하지 않는 건 아니다. 생활 밸런스를 맞춰야 하기에 회사에서 보내는 시간만큼의 내 시간을 갖는 것이다.

당신이 야근 때문에 주 80시간 일한다면, 블로그 운영, 프로그래밍 아르바이트, 파트 타임 업무 등 별도 수익을 위한 시간을 갖지 못한다.

개인의 성공은 회사에서 일한 시간과 비례하지 않는다. 성공하고 싶다면 업무 외 시간에 일하지 말고, 나와 내 가족에게 투자해야 한다. (개인의 발전과 심적 안정을 먼저 챙기는 게 중요하다는 의미인 듯)

나의 소득을 극대화할 방법을 생각해 본 적 있으신가요? 어쨌든, 야근은 당신의 수익을 올려주는 데 큰 도움이 되지 않습니다.

#지극히 개인적 이유(The Usual Personal Reasons)

가족과 함께 보내는 시간, 친구들과 노는 것, 나의 건강 챙기기, 취미 활동하기 등은 야근 때문에 할 수 없거나 하기 힘든 것들입니다. 붕괴하는 조직의 구성원들이 하지 못하는 것들이기도 하죠. (개인적 이유 때문에 직장 내 스트레스를 받는다는 것엔 이견이 많습니다)

하나 확실한 건, (무언가를) 못한다는 것 때문에 발생하는 직장 내 스트레스는 분명히 존재합니다. (야근, 퇴근 후 대기, 자다 말고 고객사 들어가기 등의 이유)

그리고, 만성적인 야근에 시달린다면 아래 두 가지 사항을 생각해 보세요.

– 일정을 수정하세요. 유연하고 여유있는 일정으로요 (Time Should be fixed, but Features Should Always Be in Flux)

고객들에게 말하기 힘든 것 중 하나가 문제 해결을 위한 추가 비용 이야기입니다. 수정 사항은 반복해서 계속 도출될 수밖에 없는데, 일정에 여유를 둔다면 고객과의 커뮤니케이션을 조금 더 부드럽게 진행할 수 있을 겁니다. (정말 돈이 필요한지, 내 잘못인지 네 잘못인지 고심할 시간을 벌라는 의미로 받아 들여짐)

– 프로젝트에 포함된 많은 기능이 실제로는 불필요합니다 (A Large Number of Proposed Project Features are Unnecessary and even Harmful to the Project)

제품의 품질에 초점을 맞춰 다시 생각해 보세요. 실제로 저는 이 방법으로 만족도가 높아진 고객을 만나봤습니다. 불필요한 기능은 사용자의 불편과 비용 낭비를 불러올 뿐입니다.

결론적으로, 야근에 대해선 자기 뜻을 분명히 밝혀야 합니다만, 조직장들의 강압으로 이뤄지니 다들 아무 말도 못 하겠죠. 그러나, 한 개인은 업무 이외의 면에서도 성장할 필요가 있어 새로운 도구나 기술을 다뤄봐야 합니다. 정말로 자신의 성장을 원한다면 단기 목표(취업, 프로젝트 완료 등)에 매진하지 말고, 스스로 장기적인 목표를 세우고 경주해 보세요.

—- 번역을 마치고 —-

종종, ‘야근은 산업의 활력소다’, ‘야근은 스포츠다’ 이런 말이 들려오는데 저는 공감이 안 됩니다. 예전 사장님은 무조건 늦게 퇴근하는 직원을 좋게 봐줬는데, 그 직원은 일하는 게 아니라 웹서핑이나 웹툰 시청을 했어요. 실제로는 전기세 낭비하는 것 이상도 이하도 아닙니다. (단순히 본인 자취방에 컴퓨터가 없어서 저녁 먹고, 놀다 늦게 들어가는 것뿐)

반대로, 지금 회사 사장님은 야근하는 직원에 대해 딱 두 가지로 판단하십니다. 능력이 없거나, 일이 정말 많거나. .(전 능력이 부족해 야근합니다.) MFC를 처음 다뤄서 그렇다는 건 핑계고 카페인에 중독된 저분의 말씀처럼 시간을 잘못 썼던 셈이겠죠.

아무튼, 현업에서 일하는 분의 경험담이라 그런지 대부분 문맥에서는 공감이 갑니다. 물론, 전부다 공감하는 건 아니고요. 여기서 하나 더, 간단히 다른 외국 블로거 분의 글을 살펴보면, 야근이 좋다 나쁘다로 판단할 게 아니라는 점을 말하고 있네요. (당연하게도)

요약

– 개발자들은 (누구나) 회사보다는 가족, 친구들과 더 많은 시간을 보내고 싶어 하나, 야근 때문에 코드의 품질을 떨어뜨려 회사에 문제를 만들어 냅니다.

꼭, 야근이 필요하다면 회사와 직원은 “개인의 시간”에 대해서 소중히 생각해야 합니다. 야근 시, 업무 목표는 오늘 해결 가능한 이어야지 내일 밤의 끝에도 안 보일 양이어선 안 됩니다. 야근에 할당된 업무량이 많아야 성공하는 것이 아닙니다. 야근하지 않아도 세계 최고 수준의 제품의 만들어 낼 수 있습니다.

(중략)

사회적으로도 야근은 점차 줄어들고 있지만, 그래도 필수불가결한 요소입니다.

(중략)

프로젝트의 “종료” 시점은 서비스 제공 이후이며, 품질의 평가는 소비자(사용자)가 합니다. 만약 야근을 통해 개발 기간 단축, 품질 상승에 성공했다면, 전부터 준비하던 다른 프로젝트를 더 빨리 시작할 수 있습니다.

야근은 해야 할 시기가 있습니다. 잊으시면 안 됩니다. 야근은 꼭 해야 할 시기가 있습니다.

미국발 기사를 찾아보니 2008년도에 캘리포니아 주정부에선 고의로 야근 수당을 지급하지 않은 업체들을 적발해 제재를 가했더군요. 부러운 기사였습니다. 어쨌든, IT 업계 야근이 잦다는 게 어느 정도 이해는 되지만, 만성 야근으로 성과를 올린다는 부분에 대해선 회의적입니다. 과연 장기적으로 성과를 올리는 것인지 단기 성과에 급급한 것인지 알 수가 없네요.

비단, 야근이란 게 우리나라 IT 업계의 문제는 아니긴 하죠.