왜 개발자는 야근을 하는가?

소프트웨어 개발자와 야근이라는 주제는 끊임없는 담론이다. 최근에 국내 대형 포털 기업의 CSO께서 야근이 사라진 칼퇴근 문화에 대해 사내 강의에서 언급한 것이 기사화 되어서 큰 역풍을 맞기도 했다.

나도 과거 회사에서 개발을 할때 야근을 많이 했고, 대학생 시절에는 인터넷과 웹 프로그래밍에 열중 하다가 삼일 밤낮을 꼬박 책상에 앉아 있을 때도 있었다. 그만큼 SW 개발자의 야근은 그냥 업무의 일환 처럼 당연한 것이 되었다. 

물론 그에 따른 명암도 있다. 어떤 이는 벤처업계에서 신데렐라로 떠 오르기도 했고, 밤에 혼자 만든 게임이 앱스토에서 대박을 치기도 한다. SI업계에서 야근을 하다 폐를 잘라낸 개발자도 있고, 어떤 사람은 이혼을 당하기도 했다고 한다. 우리가 SW 개발자 야근을 문제로만 바라보기도 어렵고 그렇지 않다고 열정이 식었다고 보기도 어렵다.

야근은 필요악인가? 우리가 업무 시간을 늘이지 않고도 이를 해결할 방법은 없나? 한번 생각해 봤다.

우선 SW 개발자의 업(業)의 특징을 이해해야 한다. 사람이 컴퓨터가 알아먹는 방법으로 일의 순서를 만들어 주아야 한다. 이것을 전산적 사고(Comutational Thinking)이라고 하는데 프로그래밍을 하는 동안은 컴퓨터 처럼 생각하는 ‘사고 이입’이 필요하다. 그리고 테스트라는 반복 작업이 많은 엄청난 지식 노동 과정이 있다.

집중할 수 있는 업무 환경

프로그래밍에 몰두했다가 뭔가 외부의 요인(메일, 전화, 메신저, 회의 등등)에 의해 그 흐름이 깨어지면 다시 돌아가기에 더 많은 시간이 필요하다. 과거에 한밤중에 코딩을 많이 했던 것도 일과 시간 중에 너무 많은 프로그래밍의 방해요소가 있었기 때문이었다. 옆에 누가 와서 이야기를 하거나 이쁜 여직원이 지나가도 방해가 된다.

밤에는 조용하고 일을 프로그래밍을 더 효율적으로 해내기 매우 좋은 환경이다. (물론 기획서나 보고서를 쓴다던지 회계 마감, 디자인을하는 다른 직군도 마찬가지겠지만 유독 개발자가 야근이 많은 것은 그 영향이 더 크기 때문이다.)

마이크로소프트 같은 전통 SW기업에는 개발자는 1~2인실의 별도 방을 나눠 준다. 야후나 구글 같은 회사의 경우, 2~3인 정도의 파티션이 매우 높은 자리를 배정한다. 예전에 회사를 옮기고, 자리 배치를 하다 보면 유독 개발자들만 안쪽 구석 자리를 원하는 경우가 많다. 모니터를 막고 헤드셋을 쓰고 일하는 것이 그들이 대인 기피증이 있어서 그런건 아니다.

우리 나라는 유독 뻥뚫린 사무 공간에 100명씩 한꺼번에 배치해 놓고 업무를 시키기를 좋아한다. 회사가 크면 클 수록 그런 유혹에 빠지기 더 쉽다. 이런 공간에서 개발자들이 집중력을 발휘하기는 매우 어렵다. 개발자의 공간 배치는 그 만큼 중요하고 야근이 아니어도 평상 업무 시간에 프로그래밍 업무에 집중할 수 있는 환경을 만들어 주어야 한다.

잉여는 비용이 아니다
또 다른 관점은 바로 개발자와 잉여력이다. IT 기술은 끊임없이 변화해 왔고 “늘 배워야한다”라는 점이 SW 개발이라는 직업의 장점이자 단점이다. 그래서 가끔 주니어 팀장에게 늘 팀에 20% 정도의 버퍼를 두라고 충고한다. 즉, 팀원 중 10명 중 2명은 놀고 있어야 한다는 것이다. 여기서 논다는 것은 주어진 당장의 업무 보다 좀 더 새로운 기술을 테스트 해보고 실험해 보는 일을 하는 것이다.

프로젝트 투입을 해야 하는데 한두명을 놀린다는 것은 매우 비효율적이고 비용으로 보는 경향이 크다. 회사가 좀 크면 더더욱 그렇게 노는 꼴을 못본다. 특히, 어떤 신기술이 나왔는데 여러 팀에서 해 보고 있으면 비효율적이라고 생각하고 콘트롤 타워 부터 만들려고 한다.

개발자에게 업무로서 배우는 시간을 주고 이를 자신의 업무에 적용하는 노력을 비용이라고 부르면 안된다. 그것이 더 높은 생산성으로 나올 가능성이 크기 때문이다. 이것이 야근이 아니어도 생산력도 올리고 자발적으로 좀 더 효율높은 결과물을 만드는 동기가 된다.

가슴 진한 보상이 필요하다
어느 회사 어느 직군이든지 보상은 매우 중요한 동기 유발 요소이다. 어느 대기업 처럼 일은 고되지만 월급과 보너스를 많이 주니 회사를 탈출할 수 없도록 말이다. 아니면, 연말 시상에서 외제차를 준다던가 벤처기업에서 엄청난 스톡을 안길 수도 있을 것이다.

돈으로 하는 보상도 좋지만 SW 개발자에게는 ‘가슴 진한 보상’을 해 보면 어떨까? 자기가 맘대로 원하는 개발 환경을 꾸밀 수 있도록 구매의 권한을 준다던지(예를 들어, 다음의 개발자 마일리지) 외부에서 자신의 기술을 공유하고 발표할 기회를 준다던지 새로운 기술을 도입하는 프로젝트에 발탁하는 기회를 주는 것이다.

구글에는 개발자들의 20% 프로젝트 중 제일 좋은 것을 선발해 백만불을 주는 제도가 있었다고 하고 페이스북은 해커톤을 통해 개발자의 아이디어를 바로 서비스에 접목할 수 있는 기회를 준다고 한다.

때로는 돈보다 명예 보다 이러한 자아 성취를 유도해 주는 보상책이 더 큰 결실을 맺기도 한다. 눈에 보이는 사람과 그 업무 시간을 조절하는 것 배우 쉬운 일이다. 하지만, 그것이 좋은 결과를 못 얻는다.

기업 문화라는 것은 계속 바뀌고 성장하지만 밑바탕에는 바로 업에 대한 성찰과 원칙이 필요하기 때문이다. 예전에 했던 경험만 비추어서 강제하려는 순간 그게 바로 역효과로 나타나는 일이 부지기수다. 소프트웨어 개발자를 다루는 문화도 그렇다. 무턱대고 야근이나 근로를 강요하기 보다는 동기 유발에 의한 자발적 참여를 이끌어 내는 일관성 있는 문화가 더 절실하다.

p.s. 사실 포털 뿐 아니라 SI 업체와 그 프로젝트를 하는 경우, 대부분 쫓기듯한 일정과 과도한 업무량에 의해 야근하는 분들이 있습니다. 이 글은 과연 그렇게 만들어진 생산품이 정말 그 값어치를 하는지 한번 다시 생각해 보아야 한다는 취지의 글입니다. 

더 읽어 볼 글

여러분의 생각

  1. 가슴아픈 현실이네요 ㅠ

  2. nejinn@nate.com 2012 5월 02 2:44 오전

    잘읽고 갑니다~!

  3. 동시에 네가지 일을 시켜 벅차다라는 얘길하면 나는 예전에 사일을 밤을샜어라는 피드백을 주시니 더 이상 할 말이 앖더라구요…문화생활 하고 싶은데 집에도 가고 싶고 개발자는 왜 이렇게 살아야할까요? 그래서 그런지 수명도 짧구요…

  4. 미국 벤처업계(주로 초기기업) 와 한국 벤처업계(초기기업 , 큰 기업 )를 경험해 보며 비교하면 이런 생각도 드네요~,

    우선 힘든 초기 기업과 여유있는 큰 기업 사이를 구분해서 이야기해야 할거 같습니다.

    그 이전에 산업과 무관한, 우리나라의 공통현상도..

    초기 병특시절,(나중에 때려치고 군대를 갔지만) 공기업에서 경험한것이긴 하지만, 야근을 칭찬하는 문화, 보고서에 페이지수가 많으면 일단 점수 받는 문화 등은 일단,시간을 많이 들이는 것에 대한 경쟁을 낳은 점이 있는거 같습니다. 이러한 현상은 효율과 실적 보다는 , 평가하기 어려운 업무결과에 대해, 우선 공들인거,시간많이 들인거가 아무래도 우수하지 않겠느냐는 전제가 있었기도 하겠고, 사람이 뛰어나면 얼마나 뛰어나겠냐 등 평준화 의식도 작용을 했을 겁니다. 그러다 보니, 낮에, 개인적 용무, 뉴스읽기, 사담, 개인적 사유의 전화,메신저 등 어떻게든 시간을 떼우며 일을 하지 않는 것처럼은 안보이게 하는 습관을 만들어 온 점도 있다고 보구요..

    우선, 여유가 적은 초기기업은 살아남는것이 최고의 미덕입니다. 그래서 초기기업을 지탱하는 초기의 소수 정예 요원들은, 주인정신을 가질수 있어야 잘 뭉치고 그만큼 더 잘 살아남을수 있기 때문에, 여기서 야근이나 밤샘, 그로 인한 지침은 두번째 이슈인거 같습니다. 살아남으려면 체력도 필요하고, 조직체력을 지탱하는 수준의 야근과 밤샘만 해야 할 것입니다. 야근을 적게 하고 밤샘 안할수록 좋지만, 더 큰 전제는 살아 남아야 한다이기 때문에, 야근 자체가 문제라 보이진 않습니다, 다만, 이 야근이란게 너무 장기화 되거나, 생활화 된다면 문제가 있다고 보고, 적어도 싸이클 통한 휴식 기는 존재해야 하겠지요. 또 더 중요한건, 이러한 노력이 큰 보상으로 귀결되어야 한다는 점이겠지요.

    미국의 대부분의 스타트업들은 초기에 일부러 파티션 구조의 일터를 택하지 않습니다. 초기에는 이미 정해진 방대한 양을 분담하여 개발하는 것이 아니라, 새로운 아이디어를 서로 이해시키고, 다져가고 하는 수많은 커뮤니케이션이 상대적으로 매우 중요하기 때문에, 가장 효율적인 커뮤니케이션인 다자간 실시간 오프라인 대화를 위한 최적의 책상배치를 택할수 밖에 없기 때문에 파티션은 상상할수 없습니다. 앉아서도 쉴새 없이 대화하며 나아가는 거죠. 회의실도 아주 가끔이나 쓸 정도로 웬만한건 앉은 자리, 일어선 자리에서 끝냅니다. 물론 다 모여 있어서, 실시간 공유는 그냥 됩니다. 귀에 들리게 얘기할건 하면 되니까요. 중요한건 everybody, listen 하면 되니까요.

    야근이 많은 이유 또 하나는,
    개발일정에 대한 정확한 예측을 못하기 때문입니다.
    대충하고 몸으로 떼우는 격입니다. 각 개발자에 대한 역량을 정확히 알기도 힘듭니다. 문서화도 잘 안하는 경향, 남의 코드 읽는 것도 싫어하고, 리뷰 받는 것도 싫어하고, 사수 관계 아니면 감히 코치받는것도 싫어하고, 공유와 아웃소싱에 대한 느낌도 부정적인 편입니다. 지식을 공유하고, 모르는 것을 물어보고, 교만하지 않게 잘 가르쳐 주고 하는 등의 문화가 아무래도 약하죠 (초중고를 그렇게 거쳐왔으니 말이죠) 애자일은 둘째 치고, 시도 때도 없이 윗선?에서의 과감한 끼어들기식 신규 요구사항들은 야근을 더욱 조장하고 지치게 하겠구요..

    이 모든 것이 개발리스크 및 개발관리 혹은 개발방법론 적용을 어렵게 만든다고 봅니다.

  5. 개공감!!
    가장 리얼리티한 답변이군요.
    스타텁은 나름 재미는 있지만 돈이 없고…대기업은 돈 빼면 얻을게 없는 현실

  6. 정말 공감가는 의견이네요. ‘야근’이라는 것이 일반적인 개념이다보니, 회사의 크기, 분위기, 문화 등에 따라서 많이 좌우되고, 항상 옳거나, 그르다고 할수는 없겠네요.

  7. 말씀하신대로 스타트업 특히 커뮤니케이션이 중요한 곳에서는 개방형 업무 공간을 가지고 있는 곳 진짜 많습니다. 이 글은 체계적이고 좀 큰 기업이 된 후 야근 없이도 열정과 생산성도 유지할 수 방법 같은거라고 보시면 될듯… 대기업에서 벤처 정신 없다고 야근 시키는 일은 없기를 바라면서요.

  8. 많은 얘기가 있는데요.
    간단히 말하자면
    1. 자발적 야근
    2. 비자발적 야근
    이 있는데요.
    이 중에서 2번이 문제죠.
    개발공수 산정에 야근을 포함시켜서 잡아버립니다. 아니면 정상적인 공수 산정이었는데 갑에서 단가를 후려치고 그에 따른 모든 피해를 약자인 개발자한테 전가하는 한마디로 밤새서 다하라는…
    1번에 경우는 일반적인 회사원과 같습니다. 자기가 못해서 자발적으로 하는 경우

  9. 동질감을 느끼네요..
    글과같은 직종이 더있죠.
    각종 디자인 하시는 분들과
    각종 설계자들 전기,토목,건축,기계 설계자분들
    야근과 철야가 당연시되는 상황…
    대기업은 어떤지 모르겠지만 그 밑에 협력사들은 야근수당조차 없는곳이 허다한 상황입니다.

  10. 하지 않으면 짤리니깐??? ㅋㅋㅋ

  11. 개발자가 야근하는 주된 이유는 개발할 시간이 많지 않기 때문이다. 우리형도 4년차 프리랜서 웹개발자이지만 야근을 절대 안한다. 들어가는 회사마다 극찬받는것보면 프로그래머로서의 천부적인 소질이 있는 듯하다. 하지만 예전에 같이 일했던 과장놈이 6개월짜리 프로젝트 계약을 실수로 4개월로 받아와서, 그 당시 몇달간 엄청 야근을 많이 했다. 즉, 실력이되고 노하우가 있으면 야근은 안한다. 하지만 개발기간이 짧으면 야근필수겠지… 돈은 많이 받지만, 개발자란 직업은 한국에서는 몸을 죽이는 일이다.

  12. 최근에 인터뷰를 다녀온 Facebook에서는 수요일에 일체 미팅을 잡지 않는다고 들었어요. ^^

    이런 식으로 운용의 묘를 살리면 협업과 개인 생산성의 두마리 토끼를 잡을 수 있겠죠.

  13. 기업들 여기저기를 돌아다니면서 일하는 프리랜서인데, 야근을 하냐 마냐 이전에 “의미가 있는 일이냐” 라는게 문제인데, 왠만한 경우 무의미한 일들일수록 야근이 많아지는 것 같더군요.

    뭘 어째 달라는 건지 포인트도 모르겠고, 깊게 들어가면 아예 시스템을 통째로 갈아 엎어야 하는데 문제점을 지적해주면 독박쓰기 일쑤고, 그러니 성과는 없고, 뭔가 티는 내야 하니깐 야근은 하고, 야근은 하는데 막상 별 의미 있는 일 때문에 하는건 아니고, 체력이 떨어지니 비척거리면서 다니는 좀비들 같고, 이 실력없는 것들을 대체 왜 쓰는거야 싶어 보면 윗대가리들은 뭔가 끈적거리고 있고… 대충 결말을 안봐도 “쟤랑 쟤는 남매겠구만…” 예측이 되죠.

    걍 그런식이 되면 35계 까지는 무의미해져버리죠.

    정말 중요하게 시간이 급박한 사안이 있어서 야근이 이루어지는 경우는 그리 길게 가지 못하죠. 진짜로 집중해서 하루 10시간 일하는게 사람을 얼마나 퍼지게 만드는데, 집중 상태로 하루 14~5시간을 하면서 일주일 이상 버티는건 무리죠. 주구장창 야근은 개발 때문인 경우가 없다고 봅니다.

  14. 예전 남자친구가 삼성sds에 다녔는데 프로젝트에 들어가니 맨날 새벽 1시 넘어서 퇴근하고 밤샘을 하더이다.. 몇개월동안 쉬는날 없고 심지어 주야로 바꿔서까지 계속 일하더군요 .. 완전 야근을 달고 살던데요 ..

    그 프로젝트를 약속한 날짜까지 못하면 큰일나기때문에 그렇다던데요 ..
    정말 힘든직업이에요 자기시간 없고 몸 망가지고 망가져가는 남자친구를 보며 전 너무 힘들었답니다.. 퇴사하겠다던 남자친구.. 돈은 많이주지만 글쎄요 ? 전 추천하고 싶지는 않은 직업입니다. 대한민국의 개발자들 힘내세요 ^^

  15. 우리나라현실이 먹먹하니 찡해지네요….화이팅합시ㄷㅏ

  16. …. 위와 같은 이유만으로 이 살인적인 야근을 설명할 수 없을 것 같습니다. 다른 나라도 이렇게 야근을 한다면 가능하겠지만….

  17. 그것은 님들이 대기업 연구소에 근무하지 않아서 입니다.
    9시 출근 6시 정시퇴근에 야근수당 특근 수당도 있습니다.
    아물론 저도 이글보시는분들과 같은 처지였으나.
    15년차 때려치고 프리랜서중이라..
    1년짜리 2번 환상적인 회사 프로젝트하면서..
    눈물날정도의 꿈속에 개발자 환경을 경험 했습니다.
    우리나라도 그런 곳 분명 존재하더군요.

  18. 대기업직원 2014 9월 19 4:23 오후

    케바케겠죠.. 저도 대기업 정직원이고 연구소에서 2년간 일했었습니다만 하도 야근에 시달려서 목디스크를 얻었습니다. 2년간 일하면서 정시퇴근 챙겨먹은 건 6개월 정도고 주말출근에 하루넘겨퇴근도 흔했죠.. 그나마 버틴건 코어 솔루션 개발을 직접 담당하면서 많이 배운것도 있고 이직한다해도 국내에선 딱히 대안이 없어서…

  19. 업무가 남아서 하는 야근은 상관이 없습니다
    업무가 없는데 해야하는 야근이 정말 싫어요

의견 쓰기

이름* 이메일* 홈페이지(선택)