프로그램 개발자의 외부 시선과 현업에서 보는 시선의 차이


Other/Experience  2019. 5. 2. 00:24

안녕하세요. 명월입니다.


 이 카테고리에서 이야기하는 건 순전히 개인 경험과 생각에서 나오는 글이기 때문에 개인마다 견해 차이가 있습니다. 즉, 내가 생각하는 게 다른 현실에서는 생각이 다를 수도 있습니다. 그런 점이 있으면 댓글로 이야기를 이어갔으면 하는 바람입니다.

 지금으로부터 약 10년 전쯤인가 프로그램 개발자 폐를 잘랐다는 기사가 있었습니다. 나는 그 기사가 잘못되었고 그 개발자가 자초한 일이라고 이야기하는 건 아닙니다. 실제로 어떤 분들은 엄청나게 잔업하고 몸 상할 정도로 일하는 사람도 많이 보았습니다. 내가 하고 싶은 이야기는 그 기사의 파급력이 꽤 상당히 강해서 그 이후로 대학생이나 어린 친구들이 프로그래머를 직업을 선택하기에 기피현상이 일어났습니다. 그건 현재도 마찬가지고 실제로 프로젝트를 하다 보면 신입 개발자를 보기가 예전보다 많이 어려워졌습니다. 그나마 있는 신입 개발자들도 전공을 택해서 프로그램 개발의 희망을 품고 선택하는 사람보다 자기가 하고자 하는 일에 취직이 잘 안 되거나 여러 이유 등으로 인해 어쩔 수 없이 택하는 경우가 많습니다.

 

 먼저 이야기하고 싶은 이야기는 개발자 직업이라는 게 그렇게 지옥만 있는 것은 아닙니다. 먼저 수익 면에서 살펴보면 우리는 직업의 수입을 결정할 때 보통 상위 1%~5%의 연봉으로 직업의 수입을 봅니다. 예를 들면 연예인 같은 경우도 모두가 몇십억씩 수입이 있는 게 아니고 상위 1~5%만이 고수입인 것으로 알고 있습니다. 변호사도 대형 로펌은 상당한 수입을 올리지만 대게는 보통 월급쟁이랑 비슷합니다. 의사 같은 경우도 분야에 따라 다르겠지만 페이 닥터는 보통 월급쟁이랑 비슷하게 받는 사람도 많습니다. 사람들이 인식하기에 상위 레벨의 수입으로 그 직업군은 수입이 좋다라고 이야기 하는 경우가 많습니다. 그러나 프로그래머만은 그렇지가 않습니다. 일단 자신이 회사를 차려서 독립하거나 자신의 사이트를 구축해서 운영하는 사람들은 제외하고, 그 사람들도 출신은 프로그래머이긴 하지만 사업가이기 때문에 비교하기가 힘듭니다. 단순히 기업에서 월급 받고 일하는 사람 중의 수입을 보면 프로그래머도 상위 수입이 나쁘지는 않습니다. PM이나 대형 프로젝트 아키틱쳐의 경우는 성공보수로 수억을 받는 경우도 꽤 있습니다.


 그렇다면 왜 프로그래머가 안 좋은 인식이 많은 걸까요? 생각해보면 잔업이 많아서 자기가 일하는 시간에 비해 적게 받는다는 인식이어서 일지도 모릅니다. 제가 여기서 이야기하고 싶은 게 일하는 시간이라는 것입니다. 우리는 무언가를 생산하는 생산직이기 때문에 일하는 시간에 따라 소득을 책정하는 것은 잘 못된 것 같습니다. 예를 들면 아파트를 건축해서 올린다고 할 때, 아파트를 짓는데 한 명은 1년이 걸리고, 한 명은 1달이 걸렸습니다. 그럼 1년 걸린 사람은 돈을 더 받아야 하는 논리가 됩니다. 원래는 1달 걸린 사람이 돈을 더 받아야 하는데 말입니다. 근데 이게 실제 업무에 가도 그렇습니다. 일을 빨리 처리하는 사람은 월급만 받고, 일은 늦게까지 하는 사람은 잔업비까지 돈을 더 받는 경우가 많습니다. 그리고 프로젝트가 실패했을 때, 일을 빨리하는 사람들은 실패확률이 적긴 하지만, 그래도 실패했다고 하면 사람들의 인식은 일 안 하고 매일 칼퇴근하더니 실패했다. 그러나 매일매일 잔업해서 늦게까지 한 사람은 성실하다는 인식으로 실패해도 열심히 했으니깐 결과가 안 좋아도 넘어가는 경우도 있습니다. 상황이 이러다 보니 일이 잘 풀리더라도 늦게까지 잔업 하게 되고, 결국은 이게 개발자들 사이에서는 늦게까지 일하는 것이 당연한 게 되어 버렸습니다. 개발자는 밤새우면서 일해야 더욱 생산적이라고.

 실제로 저도 신입 시절에 내가 받은 할당을 빨리 끝내고 집에 가려고 할 때, 엄청나게 혼난 적도 있습니다. 내 일을 다 했을 뿐 아니라 다른 사람들 일까지 도와줘서 전체적인 진척이 상당히 빨라졌는데도 상사가 개발자는 밤을 새워야 한다고 강요를 받았었습니다. 일이 더는 없는데 왜 밤을 새워야 할까? 그리고 밤을 새우면 오히려 생산성이 떨어지지 않나?라는 생각이 들었었습니다. 아마도 그런 인식이 있고 문화가 되어버려서 많은 사람들이 기피하지 않을까 생각합니다.

 

 그러나 최근에는 많이 달라졌습니다. 이전보다 프로젝트 관리 기술이 많이 발달했고 이제는 기간 내에 프로젝트가 완료되지 않으면 개발자의 탓보다는 스케줄을 설정한 PM의 잘못이 있다는 인식이 많이 생겼습니다. 그리고 여러 가지 관리 기법과 관련된 프로그램도 많이 생겨서 개발자의 생산력의 문제보다 무엇이 문제였는지 확인하기가 예전보다 많이 좋아졌습니다. 그래서 요즘은 예전보다는 잔업이 많이 줄었고 늦게까지 강요하는 일도 많이 줄었는데 외부에서는 아직 그런 인식이 많이 바뀌지 않은 듯 싶습니다.

 

 직업의 수명에 대한 인식입니다. 요즘도 인터넷에서 돌아다니는 글을 보면 프로그래머는 40대 초중반에 실직해서 치킨집을 차립니다. 이런 글이 참 많습니다. 그러나 이건 실제로 40대 초중반에 프로그래머에서 다른 직업으로 전직하는 경우가 많습니다. 이건 프로그래머뿐 아니라 많은 직장인이 비슷할 것입니다. 요즘에는 정년의 개념이 많이 없어졌으니깐. 그러나 저는 나름 전문직에 속하는 프로그래머가 40대 초중반에 실직하는 하는 것일까? 외국을 보더라도 나이 많은 사람들이 현업에 종사하는 경우가 많습니다. 이게 국내에서는 왜 적용이 안 될까 생각해 봤습니다.

 일단 경력이 쌓이면 개발자의 단가가 비싸집니다. 그러나 많은 사람이 단가가 비싸지는 만큼 생산력이 올라가는 경우가 없습니다. 신입 사원들만 보더라도 대학에서 최신 오픈소스와 생산력이 좋은 언어를 배우고 오는데 현업에 있는 사람들은 보통 예전 스타일을 고집하는 경우가 많습니다. 예전 스타일이 나쁘다는 건 아니지만 단순히 생산력만 비교했을 때 떨어지는 경우가 있습니다. 예를 들면 C++과 C#의 생산력의 차이라고 생각하면 좋을 것 같습니다. 이러다 보니 경력 있는 개발자들이 단가는 비싸고 생산력이 떨어지는 결과가 나옵니다. C++이나 C#의 비교글을 보면 C++이 메모리 참조의 직관성 때문에 더 좋은 품질과 성능을 만들 수 있다고 하지만 그건 개발자들 생각이고 고용주입장에서는 싸고 생산력있는 것을 좋아합니다. C#이라고 품질이 안 좋은건 아닙니다. 애초에 각자 언어의 특성이 있는 것인데 이런 걸 논하는 것 자체가 우스운 일입니다.

 일본에서 근무하면서 느낀 점은 나이 많은 개발자들이 단순히 프로그램을 잘하는 건 아닙니다. 보통 프로젝트 공정 설계를 해서 PM이나 아키틱쳐로써 활약하거나 새로운 오픈소스와 예전의 오픈소스를 잘 조화시켜 사용해서 생산력을 더 올리는 경우가 많습니다. 국내 실정은 정확하게는 모르겠지만 아마 오래 현업의 계신 분들도 그렇지 않을까 싶습니다. 그렇게 봤을 때 제 생각은 개발직종에 대해 꾸준한 공부와 생산력에 대한 고민이 있다면 40대 치킨집이 아닌 60대 70대까지도 충분히 개발일을 할 수 있다는 생각입니다. 단순히 생각해도 월급 300만 원에 1000만 원을 버는 것과 월급 1000만 원에 1억 원을 번다고 하면 당연히 고용주는 월급 천만 원 개발자를 쓸 것이기 때문입니다.