Monday, January 31, 2011

연구하는 개발자

요구사항이 명확하게 주어지면, 개발자는 그대로 만들 사람을 구하면 되니, 상대적으로 개발자는 구하기 쉽고, 요구사항을 잘 만들 수 있는 좋은 기획자가 부족하다고 생각하는 사람들이 꽤 많은 것 같다.

좋은 개발자는 창의적이고, 응용력이 있고, 문제를 해결할 수 있는 사람이라고 생각한다.
Machine Learning 이나 Data Mining 관련 일을 하다보면, 기획자가 요구사항을 만들 수 없는 문제가 대부분이다.
발표된 논문을 읽고 부족한 설명을 짜맞추어 구현할 수 있어야하고, 때론 그 알고리즘을 변형하기도 하고, 개선할 필요도 있다. 새로운 알고리즘을 만들 수도 있다. 구현된 알고리즘의 성능 평가를 위한 데이터의 준비나 변형도 간단하지 않고, 많은 고민을 해야 준비가 가능하다.

연구 개발자라고 할 수 있는 이런 개발자가 많아야 기술 혁신을 할 수 있다고 생각한다.
(기술 혁신이 필요한 부분에는 기획자의 역할은 거의 없다고 본다. 디자인 혁신이나 사용성 혁신이라면 다르겠지만.)

당연히, 경력기간이 길기만한 개발자가 많아지거나, 전산과 전공한 박사가 많아진다고 우리나라 IT 경쟁력이 올라갈 것이라고 생각되지 않는다. 연구 개발 능력이 있는 사람이 많아야 기술이 발전할 것이다. 박사 학위받고 관리만 하는 게 아니라, 기술 개발에 직접 참여하는 사람이 많아져야한다.

그런데 이러한 연구 개발자를 필요로 하는 국내 회사는 거의 없는 것 같다. 국외 연구 개발직에 있던 사람이 국내 대학의 교수로 오는 경우는 종종 보아도 국내 회사로 옮기는 경우는 내가 알기엔 없다. 덧붙여 생각해보자면, 관리직이 아닌 연구 개발 현장에서 일하고 있는 전산 전공 박사는 거의 없는 것 같다.

디자인을 통한 혁신도 필요하고, 새로운 플랫폼에 기반한 혁신도 필요하고, 적절한 시기에 대규모 투자를 통한 혁신도 필요하다.
그렇지만, 박사급(학위가 필수적이라는 얘기도 아니고,  단순히 그 분야 경력이 10년이상이어야한다는 이야기도 아니다.  발표된 논문을 읽고 구현할 수 있는 정도를 말한다.) 의 연구하는 개발자가 거의 없는 산업 구조만으로, 현재의 국가 경쟁력을 향상시킬 수 있을지, 유지할 수 있을지잘 모르겠다.