지인이 보내 온 글인데, 참고가 될 같아서 올립니다
한국 프로그래머의 재활
프로그래머 직업으로는 제 때에 장가를 못 간다. 그나마 간 사람도 결혼 적령기를 넘어서야 간다. 한국적 정서로는 밥이나 한번 사고, 가끔 어려운 부탁도 들어주고 하면 좋아한다. 약간의 호언장담도 하고 미끈하게 말도 잘하면 더 좋아한다. 프로그래머의 직업 특성상 이런 것을 쉽게 수용할 수 없다.
직업이 갖는 엄밀성, 완료성, 책무성 등이 보편적인 인간관계에 편하게 작용되지 않는다. 특이한 인성 발달로 인하여 원만한 대인관계에서도 어려움이 있다. 이래저래 프로그래머에 대한 사회적 위상은 점점 옅어지고(fade out)있다. 현재 프로그래머 시장이 왜곡되고 있어 이에 대한 재활이 필요한 시점에서 몇 가지 제안을 한다.
각 직업에 대한 사회적 눈높이는 점점 더 높아지는 반면 프로그래머 자신들의 자존감은 점점 낮아지고 있다. 사용자 입장에서는 프로그래머와 상반된 주장을 한다. 프로그래머들이 수행력이 낮은데도 단가만 높여 달라고 한다고 생각하고 있다. 반면에 프로그래머들은 노력한 량에 비해 정단한 대우를 못 받고 있다고 느끼고 있다.
우수학생들이 프로그램 관련 학과 선택을 기피한다. 해당 학과에 좀 있다가 전과를 하거나 전학을 하기도 한다. 그나마 남아 있는 학생들은 게임업체로, 또는 보안 업체로 가기를 원한다. 관리직을 원한다. 세계 여러 나라 여러 도시로 출장 다니면서 비즈니스 하는 것을 선호한다. 뉴욕, 샌프란시스코, 파리, 동경 등 몇 곳의 도시를 제외하고는 해외 근무는 노 탱큐다.
갑을병정무기(甲乙丙丁戊己). 초대형 사업에서 다양한 전문분야의 특수한 기술을 획득하여 통합하고자 할 때 채택하는 계약 방식이 있다. 원청(갑)이 하청(을)에 재하청(병) 또 그것에서 재재하청(정), 또… 한국에서 이러한 제도가 잘못 받아 들여졌다.
전국에 5,000 개소로 추정되는 소규모(약 30명 이하) 프로그램 개발 용역 및 인력 파견 업체들은 병정무기가 되려고 목을 매고 뛰고 있다. 먹이사슬의 앞 단계에 있는 업체가 제 일을 하고 그만한 대가를 챙기고 나머지는 먹이사슬 다음 단계에게 전해야 한다. 현실은 그렇지 않다. 그나마 주어야 할 임금도 제대로 줘야 하나 그렇지 않은 경우가 발생한다. 영세업체는 프로그래머에게 임금을 제때 못 주는 경우가 많다.
소규모 회사에 소속된 프로그래머 중 1회 이상 2-3일 이상 임금을 약속한 일자보다 늦게 받아본 적이 있는 사람은 전체의 약 85%에 이른다. 그 중에는 6개월 치의 임금을 아예 못 받은 경우도 있다. 반면 영세 업체들은 사채를 내어 임금을 미리 주는 경우도 있다. 위탁을 준 상위 업체에서 받아 사채를 변제하려 하나 이것이 예의치 않을 수가 있다.
개발 업체들은 3년차 정도의 경험을 가진 프로그래머를 선호한다. 나이가 많은 경우는 나이를 속이고(약간 줄여) 개발팀에 합류하려고 한다. 프로그래머를 희망하거나 고려 중인 사람들은 프로그래밍 업무가 골치 아픈 비즈니스라고 생각하고 있다. 또한 프로그램만 해서는 미래가 불안하고 느낀다.
프로그램머 라는 용어의 순화가 필요하다. 소프트웨어 저작자 등 새로운 사회적 가치를 반영하고 미래 비전을 담보할 수 있는 용어로 전환이 필요하다. 그들에게 직급이 뭐냐고 물어서도 안 된다. 얼마나 생산성이 있는지? 어떤 업적을 지니고 있는지? 또는 지속발전 가능성을 위해 지금 무엇을 하고 있는지? 미래 자신의 발전과 행복 영위를 위해 무슨 계획을 가지고 있는지 등을 통해 평가되어야 한다.
프로그램 저작자로 자리매김 되어야 한다. 현재 프로그램 등록제도가 있다. 이를 활용하여 각 프로그래머 들이 담당한 영역에 대해 그들 각자의 이름으로 프로그램의 저작자로 등록하여 그 등록증 사본을 본인에게 줄 수 있다. 자신의 저작물에 대해 프로그래머의 실명으로 동일성 유지권을 지니게 된다. 이를 통해 그들의 자존심을 지켜주고 또 살려줄 수 있다. 컴퓨터 프로그램의 저작권은 원청사에 있게 되어 있다. 단, 협의에 의해 을도 함께 가질 수 있다.
설계와 구현의 분할이 필요하다. 이들을 분할하여 발주하여야 한다. 대기업들은 자신들의 매출 볼륨이 줄어들까봐 분할 발주 제도에 반대하고 있다. 이 제도의 가장 큰 장점은 설계품질의 확보에 있다. 설계 단계가 제대로 완료되어야 구현의 범위가 설정된다. 설계의 품질이 향상되어 보증된다면 프로그래머들은 일하기가 훨씬 수월해진다. 지금까지는 구현의 범위가 설계의 부실 부분까지 커버했어야 했다. 범위 이외의 것까지 맡아 해 왔다. 설계의 품질이 확보되지 못한 상태에서 프로그래머들이 그들의 범위 밖의 일을 하게 된다.
개발 현장에서는 비즈니스 분석 즉 도메인 전문가(BA), 아키텍춰 설계(AA), 업무 분석(RA), 설계(CD) 등의 각각의 역할이 모호하다. 앞 단계의 애매모호함을 다음 단계에서 해결하기를 기대하고 있다. 프로그래머에게 설계에 문제가 있으면 말하라고 한다. 설계가 완벽하지 않아서 불필요한 회의 또는 소통을 해야 한다. 프로그래머의 책임 범위가 아닌 곳에 관여하게 된다. 이렇게 시간을 보내다 보면 프로그래머의 생산성이 낮아지게 된다. 프로그래머가 공정한 대우를 못 받는 이유가 여기에 있다.
프로그래머가 정규근무 시간 이외에 초과 근무하는 경우가 대부분이다. 이러한 열악한 근무 환경을 전제로 하고 사업에 동참하는 것이다. 초과 근무를 하게 되는 원인으로는 여러 가지가 있다. 계약 범위 밖의 업무를 설계 변경이나 계약의 변경 없이 하는 경우, 설계의 불완전성로 인하여 개발업무의 적정성 확보 차원의 재작업 등의 경우 등이 있다.
이런 경우는 프로그래머의 개인적 과오에 의한 것이 아니다. 설령 그렇다 하더라도 노동법에 의하면 노임은 지급하게 되어 있다. 현재 한국의 프로그래머는 자신의 과오가 아님에도 제도적 관행적 불합리성에 행복 추구권을 침탈 당한 상태이다. 추가 근무시간에 대한 노임을 못 받고 있다.
규정된 임금은 프로그래머 본인에게 확실히 지급되어야 한다. 일한 시간만큼 관계법령에 따른 임금을 받아야 한다. 초과근무 시간에 따른 추과 근무수당을 받아 본 프로그래머가 없다. 초과근무 시간 및 그 회수 등 총 초과근무 시간 등이 제반 법령으로 규정 되어져야 한다. 현재는 프로그래머들이 금금금 하다가 월요일을 맞이한다. 프로그래머들에게 그들의 비즈니스 일정이 예측가능 하도록 해 주어야 한다. 그래야 그나마 행복감을 느낄 수 있다.
원격지 개발이 당연 시 되어야 한다. 프로그래머들의 머리 수를 세면서(head counting) 프로젝트를 관리.운영하는 나라는 한국 밖엔 없다. 발주자의 지정된 장소에서 개발업무를 수행해야 한다. 지방 각지로 장기간 투숙하는 어려움이 있다. 프로그래머들은 그들의 개발 센터에서 근무하게 해야한다.
프로그래머용 워크벤취(work bench), 리포지토리(repository) 등을 개발 보급할 필요가 있다. , 프로그래머의 수행력을 측정하기는 매우 어렵다. 객관적 측정 도구가 개발 되어야. 현재는 프로그래머의 기술등급이 근무 연수 기준으로 되어 있다. 이에 대한 발전적 변화가 필요하다.
대학은 프로그래머와 설계자로 구분하여 어느 한 쪽을 중점 양성하여야 한다. 현재는 양쪽 다 커버하고 있다. 결국 양쪽 다 제대로 서비스하지 못하고 있는 실정이다. 가장 큰 문제는 졸업한 학생들의 현업 적응을 위한 별도의 교육이 2년 정도 있어야 하며, 프로그래머로 시작한 사람이 경력을 쌓은 후 설계자로 성장하지 못한다는 점이다.
프로그래머를 배출하는 대학의 교수들은 학생들이 왜 물리 화학 수학 등을 왜 배워야 하는지 모른다. 등급이 높은 학교가 되기 위해 어쩔 수 없는 것 정도로 알고 있다. 4년간 배운 모든 것을 종합한 종합설계(capstone design) 작품에 수학이 없다. 그래도 통과 된다. 특히 프로그래머들을 위해서라도 대학 교육의 교과과정이 현정의 요구에 맞게 변해야 한다.
본인의 직업과 타 직업 간의 공존과 조화를 이룰 수 있도록 평생학습을 해야 한다. 의사소통 능력에 중점을 두고 역량을 증진시켜야 한다. 설계자와 의사소통, 품질 관리자와 의사 소통 등을 지속적으로 증진시켜야 한다. 영어로 하는 의사소통 능력은 필수사항이다. 프로그래머의 나이는 매 해가 지날수록 많아져 의사소통하기가 껄끄러워 지기 때문이다. 신기술을 받아 드리는 데에 집중해야 한다. 동일한 프로그램 언어를 사용한다 하더라도 신기술은 계속 적용되어야 한다.
오래된 프로그래머일지라도 설계를 하는 것은 바람직하지 않다. 대신 설계 산출물에 대한 완료성 등의 품질을 평가할 수 있어야 한다. 빠진 부분, 모순되는 부분, 부적절한 부분, 더 좋은 방법 등을 찾아 낼 수 있어야 한다. 프로그램 사양서(specification)을 정교하게 작성할 수 있어야 한다. 모든 내용은 소스 코드 내에 커멘트 문과 소스의 흐름이 말해 준다고 해서는 안 된다. 유지보수성을 염두에 둬야 한다. 유지보수를 제3국인이 하는 세상이 곧 올 것이다.
10년 이후의 시대는 프로그램을 잘하는 전문 프로그래머가 각광을 받을 것이다. 경력 15년 이상의 프로그래머들은 실력이 달린다고 느낀다. 플랫폼(platform)의 다양화, EJB를 요구하는 구현환경(framework)의 대두 등의 환경 변화는 클래식한 프로그래머들에게 도전을 요구하고 있다.
새로운 표준 플랫폼에 대한 깊이 있는 학습을 하여야 한다. 가장 효율적인 프로그램을 생산할 수 있는 능력을 갖춰야 한다. 플랫폼의 고도화. 표준과 비표준 부문의 체계적 관리로 새로운 플랫폼에 경제적 적응력을 부여할 수 있어야 한다.
프로그래머는 재사용성을 위한 리포지토리를 정교하게 갖춰야 한다. 양과 질이 함께 있어야 한다. 양은 다양한 환경에서 다양한 응용들을 의미한다. 질은 효과적인 분류와 접근성 등이다. 재사용성을 위해 재사용 모듈의 사용 용이성, 가용성 등의 확보가 긴요하다.
직업 일생을 프로그래머로 보내겠다는 데에 박수를 보낸다. 전세계적인 프로그래머들의 생산성 리스트가 작성되었다고 볼 때 몇 위 정도이면 만족하겠는가? 스스로 목표를 설정하여 매진하였으면 한다.
프로그래머는 65세 내지 70세까지 프로그래밍을 하겠다는 신념을 가질 수 있다. 프로그래머로 평생 직업으로 가져가는 것이 탁월한 선택이 된다. 젊은 JAVA 프로그래머들이 일생을 프로그래머로 자리 잡는 것은 바람직하다. 프로그래머들이 특출 난 실천력으로 국민적 신망을 한 몸에 받고 그들의 가족과 더불어 행복을 누렸으면 한다.
요약
그들에게 비전을 주어야 한다.
대학에서 프로그래머들을 위해 제대로 가르쳐야 한다.
설계를 제대로 하여 프로그래머들의 업무 범위를 명확화 하여야 한다.
추가 시간에 대한 추가 노임을 주어야 한다.
프로그래머 평가 체계 개선이 필요하다.
일정 등 예측 가능하도록 해야 한다.
프로그래머는 자기 계발 특히 의사소통 능력을 배양해야 한다.
글로벌 비즈니스 시대에 대비해야 한다.
프로그래머의 생산성을 위한 개발 환경 개선 및 정비가 필요하다.
---------------------------------
국산 소프트웨어를 더 많이 사용합시다
캐드 -> 캐디안
모바일 캐드 -> 캐디안 애니뷰
---------------------------------