프로그래머와 근무시간

“프로그래머”들은 하루에 얼마나 프로그래밍을 해야 할까? 경험있고 나름 경력있는 프로그래머들은 각자 자신만의 룰(Rule)대로 하루에 대략 얼마정도 프로그래밍에 시간을 투자해야 하는지 정해놓았을 것이다. 

반면에 이제 “프로그래머” 일을 시작하는 주니어나 초보 프로그래머들은 얼마나 시간을 투입해야 할지 아직은 감이 잡히지 않을 수도 있다.  필자의 경우에도 처음엔 얼마나 프로그래밍을 해야 하는지 통 감이 잡히지 않았던거 같다. 

코로나 팬데믹 상황에서 “비대면” 직업으로 느닷없이 각광받기 시작한 프로그래머 혹은 IT 개발자는 사실 “시간” 이라는 개념이 꽤나 애매모호 할때가 많다. 그 이유는 자신이 몸담은 분야에 따라 개발 환경과 근무 환경이 천차만별이기 때문이다. 

네트워크 환경이 원활하기 전 프로그래머들은 한정된 장소(사무실)에서 PC 앞에 앉아 급박한 일정에 쫓기며 날을 새도록 프로그래밍을 하는게 허다했다. 물론 그런 시절은 쌍팔년도 부터 2000년대 이전일 것이다. 이때는 프로그래머라는 직업도 생소했고 제조업 중심이었던 산업 생태계에서 시간만 투입하면 결과가 나오는 그런 시절의 “악습”에 그대로 노출되었을 것이다.

이는 모바일 생태계가 꽃피우기 이전인 2010년대 이전에도 마찬가지였다. 여전히 급박한 일정에 쫓기며 “등대”라는 불리는 회사 사무실에 날을 새가면서 프로그래밍을 했던 흑역사가 존재했다. 이런 사정에 힘입어 프로그래머를 기피하는 전공자들이 늘어나는 현상이 발생했다. 열악한 근무환경과 IT 강국이라는 타이틀에 영 미치지 못하는 열악한 월급과 대우, 40세가 넘어가면 프로그래머를 그만두고 “치킨집”을 차려야 되는 직업의 불안정성 등등등…

희안하게도 프로그래머들은 밤늦게까지 사무실에 남아 프로그래밍을 해야 된다는 이상한 “편견”을 가지고 있는 사람이 많았다. 필자가 갓 신입 시절인 십여년전만 해도 프로그래머는 만능이고 장시간 사무실에 앉아서 프로그래밍을 해야 성과를 낼 수 있다는 착각(?)에 빠져있는 사람들을 종종 볼 수 있었다. (중소기업 CEO 들의 편견이 특히 심했다.)

위의 링크 된 글 내용에도 기술되어 있듯이, 필자는 신입 시절에도 “야근”을 무척 싫어했다. 나름 자유로운 영혼(?)인 성격인지라 평일 저녁까지 회사에 기여했으면 저녁 이후 시간에는 집에 가는게 당연하다고 생각했다. 다른 직군들에 비해 월급을 더 받는 것도 아닌데, 단지 프로그래머라는 이유로 늦게까지 남아서 공부라도 한자 더해야 프로그래머 취급을 받는 아주 몹쓸 시절이었으니깐…

적은 월급에 장시간 근로, 밤늦게 집에도 가지 못하는 상황. 물론 프로그래머 말고도 다른 산업에 종사하는 직장인들도 마찬가지였을 것이다. 특히 컴퓨터 앞에 앉아서 키보드만 두드리는 “프로그래머”들은 이런 편견에 갖게 하는 아주 좋은 먹잇감이었을 가능성이 높다. 

이런 열악한 환경에 놓여져있던 프로그래머들을 점점 기피하는 상황이 발생하였고 나또한 이런 부분 때문에 고민을 많이 했었다. 프로그래밍은 흥미롭고 재미있으나 저녁 시간에 가족들과 저녁 한번 먹지 못하고 늘 일에 치여 살며 연애할 시간도 없는 이런 현실이 매우 싫었지 않았나 싶다. 아.. 그만 둬야 될까?라는 생각도 많이 했다.

그럼에도 꾸역꾸역 앞길을 향해 가다보니 나름 요령도 생긴다. 적절히 일하고 적절히 퇴근 시간을 조절할 수 있는 경력자가 된 것이다. 물론 나름 프로그래밍 스킬도 늘었으니 가능했을 것이다. 

 

그럼에도 불구하고 여태까지 경험을 해보니 하루에 프로그래밍을 할 수 있는 시간은 한계가 있는 듯 하다. 아무리 체력이 좋고 정신이 말짱해도 장시간 PC 앞에 앉아서 집중을 하며 프로그래밍을 하는 것은 매우 비 효율적이며 건강에도 좋지 못하다. 특히 장시간 의자에 앉아 있으면서 운동 부족인 프로그래머들은 오래 버티기 어렵다. 

특히 개개인 별로 집중을 할 수 있는 시간도 다르고 생활 습관과 수면 패턴도 다르다 보니 사실 하루에 프로그래밍을 할 수 있는 시간은 정해진게 없다. 누구는 하루에 2~3시간만 해도 피로감을 느끼고 집중을 하기 어렵지만 어느 누구는 10시간을 해도 재미도 있고 체력이 좋다면 집중이 가능하다.

그렇다면 하루에 평균적으로 대략 얼마나 프로그래밍을 하는게 좋을까? 그리고 계속 프로그래머로 생활하려면 어떤 생활 습관이 필요할까?

많아 봤자 8시간을 넘기면 안된다.

지금부터는 개인적인 의견이므로 참고만 하면 좋을 듯 싶다. 물론 이는 내 경험인 부분도 있다.

하루에 집중할 수 있는 시간은 내가 봤을때 2~3시간을 넘기기 어려운 듯 하다. 그 이유는 일단 장시간 앉아서 PC를 쳐다보고 있기가 어렵다. 일단 눈도 아프고 몸이 찌뿌둥 하며 마우스를 계속 사용하던 오른손도 저리기 시작한다. 퇴근할때 쯤 되면 키보드를 두드리던 손가락도 아프기 시작한다.

이렇게 눈도 아프고 몸에 통증이 오기 시작하면 집중력은 자연스레 저하된다. 그리고 약간 두통도 오고 머리도 아프기 시작한다. 이런 상황이 오면 더 이상 PC를 쳐다보지 말고 그날은 쉬어야 한다. 그게 최대 8시간이 좋을 듯 하다.

현재 우리나라의 일일 권장 근로시간은 대략 “8시간”이다. 주 5일이면 일주일에 대략 40시간이다. 이 이상을 넘기지 않는게 좋다.

하지만 현실은 전혀 그렇지 못할 것이다. 일정이 급박하고 업무가 많은 프로그래머들은 주당 40시간을 훌쩍 넘기는게 예삿일일 것이다. 특히 장시간 근로로 악명높은 “게임업계” 에서는 불가능 할 수 있다. 

그럼에도 불구하고 “8시간” 넘게 프로그래밍을 하는 것은 되도록 자제해야 한다. 그 이유는  몸 건강도 해칠뿐더러 장기적으로 봤을때 효율이 점점 떨어진다. 필자도 날도 새보고 밤 늦게까지 프로그래밍을 하면서 일정을 소화했지만 결국 피로로 인해 집중력이 저하되었으며 실수를 자주 하는 상황이 발생하기도 했다.

물론 이런 사실을 모를리는 없다. 그리고 안다고 한들 현실에 벽에 자주 부딪힐 것이다. 주 52시간제가 정착이 되어 가고 있다고 하지만 아직도 과도한 업무로 돌아가는 회사도 많고 법적인 부분에 살짝 비켜가는 회사도 있다.

이런 부분을 피하는 방법은 프로그래머의 스킬과 경험을 쌓음으로 인해 점점 가능해질 수 있다. 신입 프로그래머시절 일주일 걸리던 기능 구현을 경험이 쌓이면 하루만에 구현할 수도 있다. 이런게 가능해지려면 물론 시간이 충분히 필요한 것은 사실이다. 회사에서 8시간 넘게 프로그래밍을 하지 않으려면 그만큼 스킬을 높이고 경험치가 높으면 가능해진다. 대신에 그 수준까지 가기 위한 시간과 노력 혹은 고통(?)이 필요한 셈이다.

무슨 해괴한 논리냐고 물어보는 사람도 있을 것이다. 하지만 이렇게 말하는 이유는 내 기준에서는 분명히 있다. 

“야근 즉 8시간 이상 회사에서 프로그래밍을 하지 않으려면 효율적인 프로그래밍을 해야 한다. 그러려면 프로그래밍 스킬이 필요하고 이는 개개인의 노력 여하에 따라 달라질 수 있다.”

장시간 프로그래밍을 하지 말아야 하는 이유 또하나

일단 건강이다. 사실 프로그래머라는 직업은 장시간 PC 앞에서 앉아서 하는 일이다. 장시간 앉아서 하는 일은 만성 운동 부족, 피로 동반, 어깨 결림, 거북목(?) 등의 부작용이 뒤따른다. 또한 소화 불량, 불면증, 잦은 흡연으로 인한 질환 혹은 폐암(?)에 걸릴 확률이 높다.

이런 부작용은 프로그래머의 건강을 항상 위협할 수 있다. 특히 운동 부족과 장시간 PC 화면 노출은 체력 저하와 눈 건강의 저하로 이어질 수 있다. 아무리 사무실 환경이 좋을지언정, 장시간 앉아서 프로그래밍을 하는 프로그래머의 건강은 사실 그닥 좋지 못할 것이다. 

거기다 하루에 8시간 이상 프로그래밍을 한다면 프로그래머의 건강은 더 위협받게 된다. 게임업계에서 장시간 근로로 악명이 높은데, 장시간 근로로 인해 사망하는 사례가 꽤나 있다. 그만큼 장시간 프로그래밍은 건강에 아주 나쁜 영향을 미친다고 보면 된다. 

물론 지난날에 성과를 들먹이면서 “장시간 근로”의 효과를 역설하는 CEO들이나 관리자들은 여전히 많고 실제로 그렇게 행해지고 있는 회사들도 존재한다. 하지만 여태까지 프로그래머로써 지난날 경험을 봤을때는 단시간에 효과는 있을지 모르겠지만, 장기적으로는 프로그래밍의 효율성과 성과로 봤을때는 효과가 오히려 저하된다. 프로그래머가 건강하지 않은데, 좋은 결과가 나타날까? 프로그래머는 어떤 기능을 구현하기 위해 집중력과 창의력이 필요한 직업이어서 더더욱 “컨디션”이 중요하다. 

기능 구현이나 유지보수 작업을 할때 아무리 쳐다보고 있어도 도통 모르겠거나 해결이 안될 때가 있다. 그런데 신기하게도 하룻밤이 지난 그 다음날에는 원인이나 문제점이 훤히 보이기도 한다. 즉 프로그래머의 뇌는 피로가 쌓이면 잘 동작하지 않는 상황이 발생한다는 의미일 수 있다.

쉴때 쉬고 즐기면서 프로그래밍을 해라!

신입 프로그래머 시절에 무작정 장시간 프로그래밍을 했던 나였지만, 시간이 흐리고 점점 적응을 할 수록 장시간 프로그래밍은 적절한 방법이 아님을 깨닫게 됐다. 위에서 언급했듯이, 하루에 8시간 정도 업무 + 프로그래밍을 하고 나서 머리를 식히는게 가장 좋은 방법인 듯 하다. 

물론 이 패턴은 프로그래머마다 다를것이다. 날을 새면서 한꺼번에 프로그래밍을 하는 사람도 있을 것이고, 자주 쉬면서 프로그래밍을 하는 사람도 있을 것이다. 그건 사람마다 충분히 다를 수 있다. 

하지만 분명한 것은 장시간 동안 프로그래밍을 하는 것은 분명 “독”이 된다는 것이다. 우리나라의 법정 근로시간인 “주 52시간”을 넘기지 않는게 본인의 건강에도 좋고 결과물을 만들어낼때도 좋을 것이다. 사실 “주 52시간”도 장시간 근로에 속한다고 보면 된다. 

주 40시간 이하로 프로그래머도 코딩을 해야 하는게 적절하다고 생각한다. 그리고 솔직히 “시간”이라는 것은 의미가 없다. 실컷 놀다가도 아이디어나 기능이 떠올라 바로 프로그래밍을 하면 된다. 요즘에는 장소와 시간의 제약이 없는게 프로그래머다. 전 세계 어디서나 인터넷으로 연결되어 있으며, 프로그래머는 자신의 결과물을 인터넷 상으로 전송하거나 공유할 수 있다. 

따라서 “주 40시간” 을 딱 정해놓고 할 필요도 없다. 주 40시간 이내에서 집중력과 스킬이 좋다면 주 30시간을 하든 20시간을 하던 결과가 좋으면 된다. 효율적이고 잘 짜여진 코드는 결국 좋은 결과물로 평가받을 테니깐…

밤새워 프로그래밍을 했는데도 진행이 되지 않는다면 잠시 밖에 나가서 쉬고 오던지, 여행을 떠나라. 그러면 어느순간 적절한 해결책과 대안을 가지고 돌아올 것이다. 그리고 다시 자리에 앉아서 못다한 프로그래밍을 하면 된다. 

프로그래밍은 즐길때 가장 좋은 효율을 가져다 준다!!

'코드도사(codedosa.com)'에는 쿠팡파트너스 등의 제휴링크가 포함되어 있으며 수수료를 제공받을 수 있습니다.