2009년 5월 18일 월요일

이 바닥을 못 벗어난다.

우리나라 소프트웨어 개발자들은 자신이 처음부터 일해온 바닥을 못 벗어나는 경향이 있습니다.

처음에 게임회사에서 일을 시작한 개발자는 계속 게임회사에서 일하고, 금융회사, 보안회사, 장비회사, SI회사 등 쉽게 그 바닥을 못 벗어나곤 합니다. 

이러다 보니 개발자가 이직 시 선택의 폭이 좁아지고, 분야가 조금만 바뀌어도 자신의 Value가 확 줄어드는 현상이 일어나곤 합니다.이런 일이 비일비재하게 일어나는 것을 보면 개발자의 전문성이란 어디에 있는 것인지 궁금하지 않을 수 없습니다.

금융에 대한 전문지식을 많이 가지고 있고, 게임에 대한 많은 지식을 가지고 있는 것을 개발자의 전문성이라고 볼 수도 있습니다. 또 그러한 Domain 지식이 없으면 개발을 할 수 없다고 단정적으로 얘기를 하는 개발자도 많습니다.

소프트웨어 엔지니어가 소프트웨어를 개발하기 위해서는 크게 2가지의 지식이 필요합니다.

그 중 하나는 이미 앞에서 언급한 Domain 지식입니다.

그리고 또 하나는 Software Engineering 지식입니다.

Domain 지식은 개발 분야가 바뀌면 거의 쓸모가 없는 산업 지식이고, Software Engineering 지식은 개발 분야가 바뀌어도 항상 사용되는 지식들입니다.

Domain 지식은 너무 광범위해서 나열을 할 수는 없습니다.

하지만 Software Engineering 지식은 무엇인지 설명할 수 있습니다.

요구분석, 설계, 구현, 테스트, 소스코드 관리, 버그 관리, 프로세스 등 소프트웨어를 개발하기 위한 일련의 지식들입니다.

물론 소프트웨어를 개발하기 위해서는 Domain 지식과 Software Engineering 지식 모두가 필요합니다. 하지만 흔히 접하는 현상을 보면 개발자들이 점점 Domain 지식이 치중하는 경향이 있습니다. Software Engineering에 대한 전문성을 떨어진 상태에서 Domain 지식만 점점 늘어가니 당장 일은 잘하고 있는 것 같아도, 동료나 후배들과 협업이 잘 안되고, 프로젝트 규모가 조금만 커져도 문제가 있고, 이직 시에는 심각한 가치 하락이 발생합니다.

그럼 어떻게 해야 할까요? 소프트웨어를 개발하면서 자연스럽게 얻게 되는 Domain 지식에만 의존해서는 안됩니다. Software Engineering 지식을 꾸준히 발전시켜서 소프트웨어 전문가가 될 수 있도록 해야 합니다. Software Engineering에 능통한 소프트웨어 전문가가 된다면, 어느 소프트웨어 회사를 가더라도, 여전히 전문가로서 높은 가치를 가지고 개발을 할 수 있습니다. 새로운 분야로 이직을 하더라도 Domain 지식은 일을 하는 과정에서 차츰 배워 나갈 수 있습니다. 

그리고 Domain 지식에 능통한 개발자에게만 의존해서 개발이 진행되는 소프트웨어 회사는 매우 큰 리스크를 안고 있는 겁니다. 그런 개발자가 한 명만 퇴사를 해도 회사는 큰 위험에 봉착합니다.  

결국, 회사를 위해서도, 개발자들을 위해서도 개발 개발자들의 머리 속에 들어 있는 Domain지식에 의존하기보다는 적절한 개발 프로세스 및 시스템을 기반으로 개발을 해야 합니다.

댓글 5개:

  1. 맞는 말씀입니다. 하지만 SI 프로젝트에서는 해당 도메인의 지식이 없으면 참여할 수 없기 때문에 개발자들이 도메인에 집중하는게 아닌가 합니다. 금융권같은 경우는 아예 해당분야 프로젝트 경력자만 구하던데 도메인 전문가는 한 팀에 한명정도면 되지 않을까 생각되는데 갑들의 생각은 틀린가 봅니다. 말씀하신대로 분야가 바뀌면 거의 쓸모없는 지식인데요..
    (개발자들이 남탓하는걸 맘에 안 들어하시는거 같아 좀 조심스럽네요.. ^^;; )

    답글삭제
  2. 절대 공감합니다. 저희회사에서 오래 다니신분들만봐도 이글에 속하는 개발자들이 수두룩한듯합니다.ㅠㅠ

    답글삭제
  3. 회사 경영진은 도메인 지식이 쌓인 인력은 대체하기 어려운 인력, Software engineering 에 능통한 인력은 대체하기 쉬운 인력이라고 판단합니다. 도메인 지식이 풍부한 자가 설계를 하고, 개발은 외주를 주는 경향이 있죠. 특정 도메인에 전문화된 기술을 가진 회사일수록 도메인 지식이 부족하나 개발은 잘하는 사람을 핵심 인재라고 생각하지 않습니다.

    답글삭제
  4. grayger님 안녕하세요.
    그래서 악순환의 고리가 계속되고 원인은 총체적인 문제입니다. 관련된 글을 더 올릴 계획입니다.

    답글삭제
  5. 한세희님 안녕하세요.
    그럴 수밖에 없는 환경도 많이 있는 것 같습니다.

    답글삭제