한국 소프트웨어 업체에서 리눅스 고수가 나올 수 없는 또 다른 이유는 소프트웨어 업체를 제조업 마인드로 운영하기 때문이다.
 
제조업 마인드라. 이 용어에 대해서 조금 더 이야기를 해 보자.
제조업 마인드는 원가 절감, 불량 감소를 통해 제품을 효율적으로 생산하는 체제를 의미한다. 
이런 단어를 어디서 많이 쓸까? 공장이다. 공장에 가면 원가 절감 제로, 불량 감소란 캐치 프레이즈를 많이 볼 수 있다.
 
다른 관점으로 제조업 마인드에 대해 생각해보자.
바로 생각나는 것은 시간을 많이 투입하면 그 만큼 더 많은 생산을 한다고 일을 바라 보는 관점이다.
공장에서는 근무 시각을 철저히 관리한다. 근무 중에 화장실을 가려면 일반 공장 노동자들은 반장에게 화장실에 다녀온다고 보고하는 경우가 많다. 대부분 공장에서 일하는 시간에 비례해서 임금을 지불한다.
 
안타까운 현실은 많은 한국 소프트웨어 업체가 제조업 마인드로 운영되고 있다는 점이다. 
제조업 마인드로 운영되는 소프트웨어 업계 현실에 대해 조금 더 말해보자.
 
야근 + 주말 근무
개발자에게 야근은 필수 중 필수이고 주말 근무는 기본이다. 
내가 아는 어떤 선배는 6개월 동안 단 한번도 쉰적이 없다고 한다. 프로젝트가 너무 바뻐서 죽을 뻔했다고 한다.
 
프로젝트로 개발자가 매일 야근을 하면 회사에서 개발자를 추가로 뽑으면 될텐데 왜 뽑지 않을까?
개발자를 새롭게 뽑는 것을 비용이라 생각하기 때문이다. 기존에 부리던 개발자를 더 굴리면 되지란 생각을 하는 경우가 많다.
 
단기 성과 위주 관리
항상 개발자들이 야근을 하는 것은 아니다. 프로젝트가 끝나면 잠깐 쉴 시간이 날 때도 있다.
이럴 때 어떤 개발자들은 빈둥 빈둥 놀면서 시간을 허비하기도 하지만 자기 역량을 키우기 위해 코드나 로그 분석을 하는 경우도 있다.
 
리눅스 개발 업체에서 어떤 개발자가 리눅스 커널 코드를 분석하고 있다. 
중간 관리자가 이런 모습을 보면 "오, 서과장, 정말 열심히 하네. 시간되면 팀원에게 세미나 좀 같이 해줘"라고 말할까?
 
현실은 그렇지 않다. 칭찬 대신 이런 소리를 듣는다.
 "이 자식이 놀고 있네? 회사에서 취미 활동하냐? 취미 활동은 집에서 해야지."
"리눅스 커널 코드 분석은 개발 업무와 직접적인 연관이 없잖어!"
 
제조업 마인드 경영 방침으로 보면 이런 행위는 용서할 수 없는 이적 행위다.
회사에 직접적인 성과와 직결되지 않는 어떤 행위도 낭비로 보는 것이다.
 
재미있는 사실은 개발자를 못 살게 굴고 심지어 정신적으로 채찍을 휘둘러 대는 중간 관리자는 경영진으로부터 
인정을 받고 승진을 거듭 한다는 것이다.
 
그럼 이 제조업 마인드가 소프트웨어 업체에서 통하는 이유가 무엇일까? 그것은 프로젝트 난이도가 낮기 때문이다.
 
우선 대부분 한국 소프트웨어 업계 현실을 생각해 보자.
소프트웨어 개발은 유지 보수나 튜닝 수준의 프로젝트는 진행되는 경우가 많다. 현재 개발 중인 프로젝트에 대한 심도 있는 지식 없이 시간만 갈아 넣으면 진행되는 수준의 프로젝트 인 것이다.
 
어느 업체나 비슷한 현실이지만 임베디드 업계를 조금 더 생각해 보자. 
 
내가 본 임베디드 업체에서 일하는 개발자들의 현실은 다음과 같다.
- 시스템 전반에 대한 이해를 키우려는 시도는 시작도 못함
- 하루 종일 전류만 측정하는 개발자.
- 일하다 막히면 하루 종일 구글링을 하면서 삽질하는 개발자.
- 다른 드라이버 업체가 개발한 소스 코드를 머지만 하고 테스트만 하고 버그를 확인하면 해당 업체에 리포트만 하는 개발자.
- 개발자가 아닌 머지만 하는 개발자. 
- git 과 같은 머지 툴을 잘 쓴다고 으쓱대는 개발자.
- 밥만 먹고 보드 브링업만 해대는 개발자.
 
이런 일을 하루 12시간 이상 매일 한다고 생각해보자. 과연 실력이 늘까?
소프트웨어 개발에 필요한 핵심 지식을 늘리려는 시도 없이 시간만 갈아 넣으면 할 수 있는 개발을 하니 10년 이상 죽어라 일해도 실력이 절대 늘지 않는다.
 
회사에서 시키는 일만 하면 천천히 좀비가 되는 시스템이 정말 무서운 것이다.
 
이런 악조건 속에서 자신 개발 분야 핵심 역량을 키우기 위해 개인 시간을 할애해 역량을 키우는 개발자를 본 적이 있다.
개발자를 제대로 대우해주는 다른 소프트웨어 업체로 이직을 했다.
 
또 다른 경우도 있다.
시간을 내서 꾸준히 운영체제나 ARM 프로세스에 대해 공부를 해서 책을 낸다거나 프리렌서 강사로 활동하는 경우다.
 
난 이런 개발자들에게 정말로 리스펙트를 보내고 싶다.
 
그럼 한국의 모든 소프트웨어 회사가 이런 방식으로 개발자를 대하지는 않는다.
다음 포스팅에서 그래도 개발자가 대우 받으면서 일할 수 있는 업체 특성에 대해 공유하고자 한다.
 
 
# Reference: For more information on 'Linux Kernel';
 
디버깅을 통해 배우는 리눅스 커널의 구조와 원리. 1
 
디버깅을 통해 배우는 리눅스 커널의 구조와 원리. 2
 
 
 
 
 
 

+ Recent posts