소프트웨어 개발자와 야근이라는 주제는 끊임없는 담론이다. 과거 국내 대형 포털기업의 최고보안담당책임자(CSO)가 야근이 사라진 칼퇴근 문화를 사내 강의에서 언급한 것이 기사화하면서 큰 역풍을 맞기도 했다.
나도 과거 회사에서 개발 업무를 할 때 야근을 많이했고 대학생 시절에는 인터넷과 웹 프로그래밍에 열중하다가 삼일 밤낮을 꼬박 책상에 앉아 있을 때도 있었다. 그만큼 SW 개발자의 야근은 업무의 일부처럼 당연하게 여겨졌다.
그에 따라 명암이 갈리기도 했다. 어떤 이는 벤처업계에서 신데렐라로 떠올랐고, 어떤 이는 깊은 밤 혼자 만든 게임이 앱스토어에서 대박을 내기도 했다. SI업계에서 야근을 하다가 폐를 잘라낸 개발자도 있고 이혼을 당한 사람도 있다.
야근은 필요악인가? 업무 시간을 늘리지 않고 이를 해결할 방법은 없을까?
우선 SW 개발자의 업(業)의 특징을 이해해야 한다. 이 직업은 일의 순서를 컴퓨터가 알아먹는 방법으로 만들어주는 것이 핵심이다. 이를 전산적 사고(Computational Thinking)라고 한다. 프로그래밍을 하는 동안은 컴퓨터처럼 생각하는 ‘사고 이입’이 필요하다. ‘테스트’라는, 반복 작업에 많은 엄청난 지식 노동 과정이 뒤따른다. 프로그래밍에 몰두했다가 뭔가 외부적 요인(메일, 전화, 메신저, 회의 등) 때문에 그 흐름이 깨지면 다시 돌아가는 데 많은 시간이 필요하다. 과거 한밤중에 코딩을 많이 했던 것도 일과시간 중에는 방해요소가 너무 많았기 때문이다. 옆에 누가 와서 이야기를 하거나 예쁜 여직원만 지나가도 방해가 된다. 밤은 조용하다. 프로그래밍을 더 효율적으로 하기에 좋은 환경이다. 기획서나 보고서를 쓴다든지 회계 마감, 디자인 등의 직군도 마찬가지겠지만 개발자는 특히 영향을 많이 받는다.
마이크로소프트 같은 전통적인 SW 기업은 개발자에게 1∼2인실의 별도 방을 나눠 준다. 야후나 구글에서는 2∼3인을 묶어 파티션이 매우 높은 자리를 배정한다. 회사를 옮기고 자리 배치를 하다 보면 유독 개발자들이 안쪽 자리를 원할 때가 많다. 모니터를 막고 헤드셋을 쓰고 일하는 것은 그들이 대인 기피증이 있기 때문이 아니다. 우리나라는 뻥 뚫린 사무공간에 100명씩 한꺼번에 배치해놓고 업무하게 하기를 좋아한다. 회사가 크면 클수록 더욱 그렇다. 이런 공간에서 개발자들이 집중력을 발휘하기는 매우 어렵다. 개발자의 공간 배치는 그만큼 중요하다. 야근이 아니어도 평상 업무 시간에 프로그래밍 업무에 집중할 수 있도록 만들어줘야 한다.
또 다른 관점에서 보자. 개발자와 잉여력이다. IT는 끊임없이 변해왔고 ‘늘 배워야 한다’는 점이 SW 개발이라는 직업의 장점이자 단점이다. 이런 맥락에서 가끔 주니어 팀장에게 팀에 항상 20% 정도의 버퍼를 두라고 충고한다. 즉 팀원 10명 중 2명은 놀고 있어야 한다는 것이다. 여기서 논다는 것은 당장 주어진 업무보다는 새로운 기술을 테스트해보고 실험해보는 일을 뜻한다. 당장 프로젝트에 인력을 투입해야 하는데 한두 명을 놀리는 게 비효율적이라고 생각하는 관리자가 많다. 회사가 좀 크면 더더욱 노는 꼴을 못 본다. 특히 어떤 신기술이 나왔는데 여러 팀에서 동시다발적으로 시도해보고 있으면 비효율적이라고 판단하고 컨트롤 타워부터 만들려고 한다.
개발자에게 업무의 일부로 배우는 시간을 주고 이를 자신의 업무에 적용하도록 유도하는 것을 비용으로 보면 안 된다. 이는 야근이 아니어도 생산력을 올리고 자발적으로 질 좋은 결과물을 만드는 동기가 된다.
어느 회사, 어느 직군이든지 보상은 매우 중요한 동기 유발 요소다. 어느 대기업처럼 일이 고되지만 월급과 보너스를 많이 주니 회사를 탈출할 수 없게 할 수도 있다. 아니면 연말 시상에서 외제차를 준다거나 벤처기업에서 엄청난 스톡옵션을 줄 수도 있다.
돈으로 하는 보상도 좋지만 SW 개발자에게는 ‘가슴 진한 보상’이 우선이다. 자기 마음대로 원하는 개발 환경을 꾸밀 수 있도록 구매 권한을 준다든지(다음에서 시행하는 개발자 마일리지가 좋은 예다), 자신이 개발한 기술을 외부에서 발표할 기회를 준다든지, 새로운 기술을 도입하는 프로젝트에 발탁되는 기회를 주는 것이다.
구글에서 시행하는 20% 프로젝트에는 가장 좋은 아이디어를 선발해 100만 달러를 주는 포상 제도가 있다. 페이스북에는 해커톤을 통해 개발자의 아이디어가 바로 서비스로 구현되도록 하는 기회가 있다. 때로는 돈보다 명예보다 이처럼 자아 성취를 유도해주는 보상책이 더 큰 결실을 맺는다. 당장 사람이나 그 업무 시간을 조절하고 움직이는 것은 쉬운 일이다. 하지만 반드시 좋은 결과로 이어지지는 않는다.
기업 문화라는 것은 계속 바뀌고 성장하지만 밑바탕에는 업에 대한 성찰과 원칙이 필요하다. 이제까지 그래왔으니까 하면서 강제하기만 하려는 순간 곧장 역효과로 나타나는 일이 부지기수다. 소프트웨어 개발자를 다루는 문화도 그렇다. 무턱대고 야근이나 초과 근로를 강요하기보다는 동기 유발에 의한 자발적 참여를 이끌어내는 문화가 일관성 있게 이어져야 한다. 어디 SW 개발업계에서만 통하는 원리일까.
윤석찬 다음커뮤니케이션 DNALab 팀장
필자는 다음커뮤니케이션에서 오픈API 서비스 및 외부 개발자 지원 업무를 맡고 있다. 제주대 컴퓨터공학과 겸임교수로도 재직 중이다. 17년간 웹 표준기술, 오픈소스 SW 기반 개발 경험과 W3C 표준기구 및 Mozila 커뮤니티 등에서 자원봉사 활동을 해왔다. 6만 명이 넘는 구독자를 지닌 블로그(http://channy.creation.net)를 운영하고 있다.