*차별화
우리나라의 개발 용역 단가는 낮은 편이다.
가끔 외국 업체의 개발 비용을 국내의 것과 비교해 보면 보통 국내보다 2배 이상이고, 많게는 10배가 넘는
차이를 보이는 경우도 보았다.
왜 이렇게 개발 단가가 낮은 것일까?
우선, 첫째 원인으로 오픈소스(open source)를 들 수 있다.
인터넷에 가 보게 되면 오픈소스가 넘쳐난다.
소스(source)가 공개되어 있기 때문에, 그것을 가져다가 유사한 프로그램을 만들기가 쉽다.
그러다보니, 오픈소스로 구현할 수 있는 시스템의 개발 단가는 매우 낮아진다.
이것은 비단 우리나라에만 해당되는 현상은 아닐 것이지만 유난히 우리나라에서 오픈소스로 인한 개발 단가
인하가 심화되고 있다.
개발 단가를 낮추는 둘째 요인은 '지나친 경쟁' 이다.
시장은 좁고 개발 업체는 넘쳐난다.
조직의 생존을 위해서, 개발 업체는 떡고물 가격에라도 수주를 하려고 한다.
어떤 업체는 0원에 수주를 한다.
0원에 수주하면 손해가 날 듯 싶지만, 대규모 프로젝트라면 향후에 발생하는 유지보수(maintenance) 비용으로
개발 비용을 충당할 수가 있다.
이익을 적게 가져 가더라도 일단 계약을 할 수만 있으면, 유지보수를 할 가능성이 높을 뿐만 아니라, 다른 연계
프로젝트를 계약할 가능성이 높아지기 때문이다.
세 번째 원인은 개발 환경이 좋아졌다는 것을 들 수 있다.
예전에 코볼(COBOL)로 프로그램을 작성하던 시절에는 코볼로 개발하기가 쉽지 않아서 비교적 높은 단가를
책정해도 계약하기가 쉬웠다.
코볼로 작성된 프로그램들의 소스를 보유한 업체는 그것을 수정해서 납품하면 되므로 계약 기간을 짧게 할
수 있다.
그렇지 않은 회사는 단가를 낮추더라도 개발 기간이 길어지게 되므로 계약하기가 불리했다.
덕분에 어떤 업무를 개발해 본 경험이 있어 소스코드를 보유한 업체는 향후에 늘 유리한 단가로 계약을 맺을 수
있었던 것이다.
그러나 지금은 상황이 달라졌다.
비주얼 베이직이나 델파이와 같은 통합 개발 환경(IDE)이 보급되면서 개발 기간이 짧아졌다.
어지간한 프로그래머라면 이런 IDE를 사용하여 왠만한 업무를 수 개월 이내에 전산화할 수 있다.
간단한 프로그램이라면 단 하루만에도 작성할 수 있는 것이다.
이 외에도 개발 단가를 낮추는 원인들이 존재하겠지만, 어찌 되었든 개발 단가가 내려가는 추세는 계속될
것으로 보인다.
이렇게 되면 전산 업체들과 거기에 소속된 프로그래머가 곤란을 겪게 된다.
개발 과정이 단순화되고 빨라지며, 소스를 구하기가 쉬워 쉽게 개발을 할 수 있다면 좋아하여야 할 현상일텐데
상황은 그 반대다.
금을 캐내기가 어렵던 시절에 광부는 좋은 대우를 받을 수 있다.
굴착기와 같은 신기술이 개발되어 보급되는 초기에도 광부는 그런대로 대접을 받는다.
그러나 일단 굴착기의 성능이 뛰어나게 좋아지면 광부들의 임금 단가는 내려간다.
게다가 몇몇 광부는 해고를 당할 것이다.
이런 현상이 지속되면 결국에는 광부가 필요없게 되는 상황이 오게 된다.
광부 대신에 굴삭기 운전 기사가 필요하게 되는 것이다.
이렇게 금을 생산하기가 쉬워지면, 그 때부터는 금을 탐지해 내는 기술을 지닌 기술자의 임금이 올라간다.
먼저 탐지를 해내기만 하면 금을 캐내기는 쉽기 때문이다.
지금 우리는 소프트웨어 개발의 굴삭기가 개발된 초기 상황에 와 있다.
프로그래머들은 금을 캐내는 광부라고 할 수 있다.
그리고 IDE나 신속 개발 도구(RAD) 같은 것들은 일종의 신형 굴삭기다.
앞으로도 한 동안은 프로그래머와 IDE 조작자가 공존할 수 있을 것이다.
궁극적으로는 IDE 조작자는 살아남고 프로그래머는 사라져 갈 것이다.
IDE를 사용해 프로그램을 작성하는 사람도 프로그래머이기는 하지만, 전통적인 의미의 프로그래머는 아니다.
내가 사라진다고 하는 사람들은 전통적인 방식으로 에디터(editor)를 사용해 소스 코드를 작성하는 프로그래머를 말한다.
반면에,
시스템 설계 능력을 갖춘 사람이나 개발 프로젝트를 총괄할 수 있는 사람들은 더 좋은 대우를 받게 될 것이다.
IDE와 같은 굴삭기로는 도무지 해결할 수 없는 일을 담당할 최고 기술을 지닌 프로그래머들도 좋은 대우를
받게 될 것이다.
결국, 경력과 기술을 갖춘 프로그래머, 시스템 분석 및 설계자, 프로젝트 매니저, 아키텍트와 같은 사람들의
대우가 좋아질 것이다.
그러나 그 밑의 광부들은 사라질 것이고, 굴삭기 노동자 또한 좋은 대우를 받지 못할 것이다.
이런 현상은 비단 개인에게만 한정되는 것은 아니다.
개발 업체들 또한 새로운 경쟁 환경에서 도태되기도 하고, 성장하기도 할 것이다.
굴삭기가 보급되면 그런 굴삭기를 구입할 수 있고, 고급 지질 탐사 능력을 갖춘 대형 업체는 살아 남고, 인력에
만 의존해 채광하던 소규모 업체들은 사라지게 되는 것이다.
마찬가지로 소프트웨어 업계도 자금 능력과 고급 인력을 보유한 업체들은 살아남고, 그렇지 못한 영세 업체들은
사라져 갈 것이다.
영세 업체들은 사라지거나 대형 업체의 하청 업체로 남는 길 중에 하나를 선택해야 할 것이다.
그렇기 때문에 프로그래머가 살아 남으려면 고급 기술자가 되어야 한다.
금을 캐내는 기술을 배우고, 지금부터라도 금을 탐지해낼 수 있는 능력을 길러야 한다.
아니면 굴삭기 운전 기사가 되어야 한다.
IDE와 같은 통합 개발 환경을 이용해 빠른 속도로 프로그램을 작성할 수 있게 되든가, 통합 개발 환경만으로는
절대로 해결할 수 없는 부분을 프로그래밍 할 수 있는 능력을 갖추든가 해야 한다.
예를 들면 창조적으로 알고리즘을 고안해 내는 것과 같은 능력 말이다.
개발 업체가 살아남으려면 자금을 확보해야 한다.
굴삭기와 같은 IDE 등의 통합 개발 도구를 확보할 자금, 0원에 수주하여 개발이 완료되고, 유지 보수 비용이
들어올 때까지 회사를 운영할 수 있는 자금과 같은 것들을 확보할 수 있어야 한다.
그리고 금을 탐지해 낼 수 있는 고급 인력을 보유해야 한다.
남들이 할 수 없는 것을 할 수 있는 개발자들을 채용해 두어야 한다.
이것은 일종의 차별화 전략이다.
남과 다른 무엇을 갖추는 것, 그것이 차별화이다.
이제부터는 차별화가 생과 사를 결정하는 열쇠다.
6)오픈소스(open source):누구나 가져다 쓸 수 있게 만든 프로그램.
누구나 가져다 쓸 수 있도록 하기 위해서, 프로그램을 파악할 수 있는 소스코드(source code)의 형태로
제공한다.
그래서 개방된 소스 코드라는 의미를 담고 있기 때문에 오픈 소스라고 부른다.
참고로 컴퓨터에서 실행되는 프로그램은 기계어로 되어 있어 프로그램을 파악할 수 없지만, 소스코드는
프로그래머가 알아볼 수 있는 형태의 프로그래밍 언어로 작성되어 있어 프로그램을 파악하기가 쉽다.
소스코드를 컴파일하면 실행코드가 된다.
7)소스(source):소스 코드의 줄임말
8)통합 개발 환경(IDE, Integrated Development Environment):프로그래밍 언어, 그 언어로 프로그램을 입력할
수 있는 에디터, 그리고 라이버리에 포함된 함수를 불러 올 수 있는 기능 등의 프로그램에 필요한 모든 제작
도구를 통합한 응용 프로그램.
프로그래머들은 이것을 사용하여 프로그램을 손쉽게 개발할 수 있어 높은 생산성을 기록한다.
9)에디터(editor):프로그램의 소스코드를 입력하고 편집할 수 있게 해 주는 프로그램.
일종의 간단한 워드프로세서라고 보면 된다.
2010년 10월 15일 13시 18분 19초