나는 Action Script Coder 5년차이다. (물론 AS3.0은 나온지 2년이 조금 넘었지만.)

2000년경에 Flash에 입문하여 2003년 AS Coder로 전향하였다.


Flex/AS 외에도 Java, C/C++, C#, JavaScript/Ajax, PHP, Tcl, Lua, Ruby, 등, 여러가지 언어들을 다루어 왔고, 실무 외 기간까지 포함하면, 거의 16년 가량을 프로그래밍을 해왔다. 그런데, 다른 개발자들, 또는 고객들이 가장 궁금해하는 것은, 또는 당연하다고 생각하는 것은, 이 정도 개발을 해왔으면, 개발 시 일정을 상당히 단축할 수 있지 않겠냐는 것이다.


하지만, 내 대답은 '절대 그렇지 않다' 이다.

물론, 처음 1~2년 정도는, 언어에 익숙해지는 시점이라, 문제도 많이 발생하고, 그러다보니 개발 속도도 느렸던 것은 사실이다. 하지만 일단 언어에 익숙해진 이후에도, 개발 속도는 좀처럼 빨라지지 않는다. 1~2년차 개발자들과 비교해보았을 때, (자신이 제시하는) 전체 개발 일정에는 크게 차이가 없다.


그렇다면, 숙련자와 전문가 차이는 무엇일까?

나는 이 둘의 차이를, 문제 해결 능력과, 문제 예측 능력이라고 생각한다. 소프트웨어 개발에 있어서 엔트로피는 상당히 높기 때문에, 자칫 앞으로 발생할 리스크를 감지하지 못하여,  또는 이미 발생한 리스크를 해결하지 못함으로 인한 일정 지연 또는 프로젝트 실패가 많다. 그러나 특정 기술에 대한 전문가가 프로젝트에 참여하고 있다면, 최소한의 비용으로 이러한 리스크를 관리할 수 있다. (물론, 기술적인 부분에 국한된 이야기이지만.)


다시 정리하자면, 프로젝트 내에 전문가가 투입이 된다고 하여, 프로젝트의 일정 자체가 줄어들지는 않는다. 다만, 프로젝트 수행 시 발생할 여러가지 리스크를 "under management", 즉 관리 차원 내에 두는 것이 그 목적일 것이다.



옮기며 덧붙임

이 글을 처음 쓸 당시에는, 숙련자와 전문가의 일정은 큰 차이가 없을 것이라 생각하였으나, 주변의 이야기를 들어보면 꼭 그렇지도 않은 것 같다. 글에서도 한 번 언급하였으나, 소프트웨어 개발은 엔트로피가 상당히 높은 작업이기에 리스크가 발생하지 않을 수 없고, 결과적으로 일정 지연으로 이어지는 것으로 보인다.

정리하면, 일정이 단축되진 않을지언정, 당연시 되어있는 일정 지연을 최소화할 수 있으므로, 상대적으로는 일정 단축이 가능하다고 할 수 있겠다.

또한, 소프트웨어 개발 프로젝트에 있어서, 일정 뿐 아니라 품질도 매우 중요한 요소이므로, 소프트웨어 프로젝트에서 전문가의 역할이 결코 작다고 할 수는 없겠다.


저작자 표시 비영리 변경 금지

'Software Engineering' 카테고리의 다른 글

비용 절감과 가치 증대  (0) 2010/02/01
[추천서적] Implementation Patterns - Kent Beck  (6) 2009/11/19
일정은 줄어들지 않는다  (2) 2008/09/30
출제자의 의도 파악 문제  (2) 2008/05/30
깨끗한 코드  (2) 2008/03/10
소프트웨어의 수명 정하기  (0) 2008/02/22
Posted by 찬익

트랙백 주소 : http://blog.chanik.com/trackback/23 관련글 쓰기

댓글을 달아 주세요

  1. BlogIcon hika 2009/11/27 16:57  댓글주소  수정/삭제  댓글쓰기

    세상에서 가장 비싼 매출원가는 역시 인건비죠. 다른 시장에서도 인건비를 줄이는건 언제나 핵심적인 사항입니다. 자동화설비, 셀프서비스 등 수많은 방법들이 개발되는 분야도 역시 인건비 분야라 할 수 있습니다.

    문제는 이놈의 개발은 전부 인건비로만 구성되어있는게 문제겠죠.
    따라서 10년전 유명한 에이전시가 하나도 살아남아있지 못하는 현실은 당연히 말이 됩니다. 인건비 장사를 하는 이상 노임정리 라 불리는 방법외엔 수익을 창출할 방법이 마땅히 없는데 노임정리를 하기엔 너무 비싼 인력비로 구성되어 있기 때문입니다.

    단지 유일한 방법이라면 인건비를 줄일 수 있는 방법을 개발에 많이많이 도입하는 방법밖에 없겠죠.

    확실히 트윈맥스를 쓰면 커스텀으로 애니메이션을 전부 구축하는것보다 시간이 단축되는게 확실한 것처럼 어디까지 재활용을 촉진하는가는 중요한 문제인거 같습니다.

    숙련된 개발자는 아무래도 안정성이 검증되고, 재활용성이 뛰어난 라이브러리를 소유하고 있을 가능성이 높은데다가 툴에 대한 적응력이나 숙련도도 훨씬 높기 때문에 시간은 분명히 단축된다고 생각합니다 ^^

    단지 숙련된 개발자는 장인 정신이 발동하는게 큰 문제일지도 모릅니다 ㅋㅋㅋ

    • BlogIcon 찬익 2009/11/28 20:28  댓글주소  수정/삭제

      ㅎㅎㅎ 구구절절 옳은 말씀이신 것 같습니다.
      숙련 개발자 중에도, 프로 의식이 겸비된 개발자라면, 고객의 요구 범위를 넘어서는 장인 정신은 발휘하지 않을 것이라 믿습니다. ㅎㅎ