프로그래머(소프트웨어 개발자)는...


프로그래머는 일반적인 programming technic에 의해 소프트웨어를
개발하는 "일반 프로그래머"와 관련 분야의 첨단기술을 요하는
전문적인 소프트웨어를 개발하는 "고급 프로그래머"로 구별된다.

프로그래머(소프트웨어 개발자)의 좋은 점으로는

 - 취업 분야가 다양하고 취직 걱정을 안해도 된다.
   소프트웨어 개발 인력은 수요가 꾸준히 증가하고 있으며 수요증가에
   비해 인력난을 겪고 있다. 세계 최고의 기업에 입사도 어렵지 않다.

 - 유사한 작업도 지루하지 않으며 하루가 금방 지나간다.
   프로그래밍 작업은 반복되는 작업이라 하더라도 단순반복이 아니라
   "유사반복" 작업이기 때문에 시간 가는 줄 모르고 일에 매달리게 된다.

 - 벤처기업을 시작하기가 매우 용이하다.
   현재 컴퓨터 분야에서 잘 알려진 기업들도 대부분 능력있는 엔지니어로
   2~3명이 시작해서 성공하였다.

 - 프리랜서도 가능하다.
   고급 프로그래머는 항상 부족하므로 자유직으로 프리랜서로
   활동하는 사람들도 많이 있다.

따라서 많은 사람들이 프로그래머에 매력을 느끼고 있으며, 선호하는
직업에 속한다. 하지만, 소프트웨어 개발 분야는 다른 제조업과 달리
다음과 같은 특성이 있다.

 - 소프트웨어 개발비용의  대부분은 인건비로 지출된다.

 - 지속적인 maintenance 및 성능 개선이 필요하다.

 - 생산설비 및 생산비용이 거의 들지 않는다.

이러한 이유로 인하여 불법복제가 성행하고 컴퓨터 관련 기업들은
개발비용조차도 건지지 못하는 위험부담이 있다.


특히, 첨단기술을 요하는 소프트웨어일수록 다음과 같은 특성이 있다.

1. 소수의 고급 인력에 의해 작업이 이루어진다.
   인력을 많이 투입하더라도 개발일정이 거의 단축되지 않는다.

2. 첨단 소프트웨어는 관련 분야에 대한 첨단 지식을 필요로 한다.
   고급 프로그래머들은 해당 분야의 소프트웨어 개발 전문가이지만
   다른 분야에 대해서는 일반 프로그래머와 동등할 뿐이다.

3. 연구-개발 기간이 길고 연구개발비 못지 않게 상품화하는데
   많은 시간과 비용이 소요된다.


고급 프로그래머가 하나의 소프트웨어를 개발하기 위해서는

  - 전문적인 지식과 기술을 갖추어야 한다.

  - 가능한 모든 상황에 대비하여 작업해야 한다.

  - 맑은 정신과 집중력을 필요로 한다.

  - 계획대로 일을 끝마치기가 어렵고 늘 시간에 쫓긴다.

  - 인내심을 요하며 스트레스가 많고 매우 힘든 일이다.


                        1999년 8월 19일