개발에도 직군이 있다.

2020. 7. 22. 17:29웹서비스

개발을 배우고 회사에 취업을 하면 개발만 한다고 생각하시면 안됩니다. 개발에도 직군이 있습니다. 회사 자체 프로젝트인 솔루션을 개발하는 곳이 있고, 다른 회사에서 의뢰한 프로젝트를 수주해서 개발하는 SI-System Integration(이)가 있습니다. 또한 이미 개발되고 운영되고 있는 것을 관리하는 SM-System Management와 관리하면서 버그나 수정, 간단한 기능 추가 등을 하는 SE-System Engineer가 있습니다. 이밖에도 OP-Operator, SP-System Programmer가 있지만, 가장 많은 직군인 솔루션, SI, SM, SE를 보겠습니다.


가장 실력을 향상시킬 수 있는 직군은 SI입니다. SI는 프로젝트를 처음부터 마지막까지 모든 과정을 경험할 수 있고, 다양한 개발 방법을 접할 수 있습니다. 자체 솔루션 개발이 아닌 의뢰를 받아 진행하기 때문에 의뢰주, ‘갑'에 의해 프로젝트가 좌지우지 될 수 있습니다. 한정된 예산과 시간으로 프로젝트의 묘미를 경험할 수 있습니다. 

 

SI는 프로젝트를 의뢰 받아 진행하기 때문에 IT기업의 다수가 수익을 위해 진행하고 있습니다. 다수의 회사가 진행하다보니, 경쟁도 심하고, ‘갑'의 횡포도 있지만, 수익만큼은 다른 어떤 직군보다도 회전율이 좋기 때문에 일부 재력이 많은 회사를 빼고는 어느 회사건 SI부서는 있습니다.


 

다음으로 향상시킬 수 있는 직군이 솔루션입니다. 자체 솔루션개발로 의뢰를 받아서 진행하기 보다는 자체 아이디어로 개발하기 때문에 SI보다는 다소 다급함이 없습니다. 여러가지 다양한 개발방법을 시도할 수 있고, ‘갑'과 ‘을'이 아닌 같은 회사내에서 진행하기 때문에 좀 더 편하게 개발을 할 수 있고, 서로 도움을 받으면서 실력을 향상시킬 수 있습니다.

 

솔루션개발도 일정에 맞추어 진행하지만, SI처럼 쫒기 듯 진행하지는 않습니다. 물론 일정이 다급하면 쫒기 듯 개발하겠지만, 막판에 기획을 뒤집거나 하지는 않습니다. SI 경우 심하게는 거의 막판에 윗사람의 말 한마디에 기획을 뒤집는 사례도 있습니다. 

 

회사 입장에서는 사업 초기와 사업 중기에는 거의 대부분 투자를 하면서 개발하기 때문에 투자를 받지 않은 회사나, 재력이 없는 회사에는 버티기 힘든 사업입니다. 대부분의 IT 회사가 자체 솔루션 개발이나 자체 서비스를 하고 싶지만, 회사 유지를 위해 SI와 솔루션을 병행하면서 진행합니다.


다음으로 SE 직군이 있습니다. SE는 기존에 개발되고 운영되고 있는 프로그램의 버그를 수정하거나 간단한 기능을 추가합니다. 다른 사람이 작성한 코드들을 분석해야 하고, 운영중인 프로그램에 맞추어 개발을 해야하기 때문에 개발의 자유도는 낮습니다. 다만, 운영되는 소스를 분석하면서 코드의 흐름을 파악할 수 있고, 실무 코드를 학습할 수 있습니다. 물론 잘 되어 있는 코드에 한해서이지만, 잘 짜여지지 않은 코드라고 할지라도 일단 운영되고 있는 소스이기 때문에 잘 못된 소스는 아닙니다. SE사업은 대부분 SM 운영관리하는 회사가 진행하는 경우가 많습니다.


SM은 기존의 운영시스템을 관리하고, 운영 중 오류나 고객 컴플레인이 들어 왔을때 대응하는 업무입니다. SM은 회사입장에서는 오랜 시간동안 고정적인 수익을 낼 수 있는 부분이기 때문에 SI보다 더 선호하는 경향이 있습니다. 개발자 입장에서는 실력 향상에 도움도 안되고, 시간이 많이 남는 워라벨을 실현할 수 있는 직군입니다.

 

시간이 많이 남으면 실력 향상을 위해 학원을 다니다던지, 온라인 강좌를 듣는 다던지, 내 프로젝트를 만들어본다던지 등등 하면 좋겠지만, 솔직히 쉽지 않습니다. 만약 정말 열심히 그렇게 한다고 해도, SI나 솔루션 개발처럼 실력이 향상되지는 않습니다. 학습은 경험을 따라오지 못합니다. 

 

학습으로 완벽하다해도, 완벽하지 않은 경험이 더 실력을 인정 받습니다.