하위 페이지
  • 소프트웨어 개발자의 블루오션 두 가지
메타 데이터의 끝으로 건너뛰기
메타 데이터의 시작으로 이동

 

제목이 소프트웨어 개발자의 블루오션이라고 했지만 시스템 개발자와 QA에게도 똑같은 블루오션 영역이라고 생각한다. 시스템 개발자와 QA도 관련된 내용이니 읽어 보고 의견 남겨주면 좋겠다.

소프트웨어 개발자로서의 경력이 쌓여 갈수록 드는 몇 가지 생각이 있어 남겨 보려 한다. 이전에도 가끔씩 고민하던 이슈인데 최근에 좀 더 다양한 부분에 관심을 가지다보니 느끼는 부분이 있어 지금이 글을 쓰기 적기라 생각했다.

최근에 고민하는 이슈 중의 하나는 소프트웨어 개발자의 역할은 어디까지일까에 대한 부분이다. 기존에는 애플리케이션 개발에 국한에서만 생각했는데 지금 프로젝트에 몸담으면서 여러 가지 영역을 고민하다보니 소프트웨어 개발자의 역할이 좀 더 확대 되어야 하지 않을까라는 생각이 든다. 그래야 지금보다는 한발더 나은 모습의 소프트웨어 개발과 운영이 가능하지 않을까?
첫번째는 빌드, 배포를 자동화하기 위한 시도를 하다 보니 시스템 영역에 대한 이해를 하지 않을 수가 없었다. 그런데 소프트웨어 개발만 하던 인간이 시스템 영역까지 감당하기에는 힘든 부분이 많다. 그렇다고 내가 아는 범위 내에서만 빌드, 배포 자동화를 고민하다 보니 효율화를 극대화하는데 분명 한계가 있었다. 소프트웨어 개발자와 시스템 개발자 사이의 중간 지점이 발생한 것이다. 소프트웨어 개발과 시스템의 중간 지점을 연결하는 연결자가 필요하지 않을까? 이미 해외는 이 중간 지점을 연결하는 사람들이 등장해 효율적인 방법들을 계속해서 찾아 나가고 있는 듯하다. 하지만 국내 현실은 아직까지 부족한 것이 사실이다. 이 중간 지점에 관심을 가지고 연결하는 개발자가 머지 않은 미래에 또 하나의 중요한 역할로 급부상할 것으로 생각한다. 소프트웨어 개발과 시스템에 대한 지식이 있는 사람이라면 이 중간 지점에 도전해 보기 바란다. 미래의 새로운 블루 오션이라고 생각한다.
두번째 또한 자동화된 배포를 하기 위해 고민하다 보니 단위 테스트, 통합 테스트, Acceptance Test에 대한 중요성을 느끼고 있는 것이 사실이다. 테스트에 대한 고민을 하다보면 자연스럽게 소프트웨어 개발자와 QA 사이의 중간 지점이 발생한다. 단위 테스트는 당연히 소프트웨어 개발자의 영역이겠지만 나머지 통합 테스트, Acceptance Test는 소프트웨어 개발자와 QA의 중간 지점에 걸쳐 있다. 물론 지금까지 대부분의 통합 테스트, Acceptance Test는 QA 주도로 진행되었다. 하지만 여기에 자동화가 들어가면 이야기가 달라진다. 테스트 전략을 수립하고, 테스트 케이스를 만드는 것은 현재 QA 역할을 하고 있는 분들이 훨씬 잘 할 수 있는 영역이지만 자동화로 넘어가면 소프트웨어 개발자의 도움 없이는 힘든 것 또한 사실이다. 구글과 같은 경우에는 Test Engineer라는 역할이 별도로 있는 것 또한 사실이다. 국내도 Test Engineer에 대한 수요가 조금씩 늘고 있는 듯하지만 아직까지 제대로 진행되는 곳은 많이 보지 못한 듯하다. 여기에 또 하나의 블루 오션이 존재한다.
소프트웨어 개발자들을 만나보면 자신의 미래가 불투명한 것에 대해 고민하는 친구들을 많이 본다. 정말 자신의 미래가 불안하다면 위 두 가지 영역의 블루 오션에 한번 도전해 보는 것은 어떨까? 아직 국내 환경이 척박한 것은 사실이지만 지금부터 조금씩 준비하고 자신의 영역을 만들어 간다면 각 영역에서 인정받을 수 있는 개발자로 거듭날 수 있으리라. QA 역할을 하는 친구들을 만나보면 소프트웨어 개발자보다 자신의 미래에 대해 더 많은 고민을 하는 경우를 종종 본다. QA들도 지금 역할에서 자신의 역할을 더 넖혀 소프트웨어 개발에 관심을 가진다면 지금까지 했던 많은 영역들을 자동화할 수 있을 것이다. 이 길이 쉽지 않겠지만 자신의 미래를 자신이 개척해 나갈 수 있는 매력적인 분야이지 않을까 생각한다.
지금까지 각각의 역할을 세분화하고 전문화하는데 집중해왔다. 하지만 너무 세분화하고 전문화할 경우 자신의 영역에 깊이는 있겠지만 문제를 해결하는 방법을 찾는데는 분명 한계를 갖게 된다. 물론 일정 부분 세분화와 전문화가 필요하겠지만 이제는 이 영역들에 대한 융합을 고민할 때이다. 그래야 지금보다는 좀 더 효율적이고 다양한 해결책을 찾아 나갈 수 있을 것이다.