SI가 프로젝트라는 일회성으로 끝나는 일이라고 하면, SM은 SI가 개발한 시스템을 운영과 관리하 지속적인 일이다.
개발자 관점에서 본다면 SI는 없는 시스템을 구축, 대규모로 변경하는 개발이고, SM은 현재 운영 중인 시스템의 잘 돌아가도록 일상적인 시스템의 문제를 해결하는 것이라 할 수 있다.
SM 개발 업무
|SM (System Management,
시스템 운영, 또는 유지보수)|
SM은 일반적으로 고객의 정보시스템 기능을 장기 계약하에 지속적으로 관리하고 운영하는 것으로 하드웨어, 소프트웨어, 하드웨어와 컴퓨팅, 비즈니스 애플리케이션, 네트워크, 인프라 등을 개발 ·운영 ·유지보수하고 이를 향상하는 서비스를 말한다. (한경 경제용어사전)
SM은 쉽게 말해 '현재 운영 중인 시스템을 유지보수'하는 일이라고 할 수 있다. SI업체에 의해 시스템 개발이 완료되면 시스템은 오픈하고 본격적인 운영으로 들어간다. 오픈 후 시스템이 정상적으로 가동되면 프로젝트가 끝나고 SI 개발자는 철수한다. 이후 시스템은 SM 조직이 운영을 하게 된다.
(프로젝트 조직이 떠난 후 SM조직이 시스템 운영에 문제가 없도록, 프로젝트 종료 전 SM의 시스템 인수기간을 가진다.)
SI의 프로젝트에서 구축된 시스템을 운영하고 관리·유지보수 하는 데 개발자가 하는 일은 어떤 것일까? 한번 만들어진 시스템은 알아서 잘 돌아갈 것인데 관리해야 할 것이 특별히 있을까? 하는 생각이 들것이다.
매일 운전하는 자동차도 잘 돌아가기 위해서는 주유 말고도 엔진 오일 교환에서 부품 교체와 같은 정비를 해야 오래 문제없이 사용할 수 있다. 시스템도 마찬가지다. 한번 개발된 SW도 계속적인 관리를 해주어야 한다. HW도 마찬가지로 고장이 날 수 있으므로 항상 관리를 해야 시스템이 문제없이 서비스를 할 수 있다.
SM개발자의 주요 역할을 살펴보면,
운영 중에 발생한 프로그램의 오류를 수정해야 한다.
프로젝트 중에 아무리 테스트해도 프로젝트가 끝나고 운영 중에 프로그램 오류가 발견되기 마련이고 SM은 이러한 오류를 수정해야 한다.
시스템 운영 중 업무 추가/변경과 같은 일은 항상 발생한다.
이러한 업무 변경 사항을 운영 중인 시스템에 반영하기 위해 프로그램을 개발하거나 수정한다. 요구사항의 변경의 양이 많아 SM인력으로 감당이 안되면 프로젝트로 만들어 SI 외주 개발로 진행한다.
일상적인 SM업무 중 가장 많은 비중을 차지하는 것은 현업의 전화 문의에 응대하는 것이다.
대부분 현업 담당자들은 시스템 사용 중 발생하는 문의를 시스템 담당자인 SM을 통해 해결한다.
대부분의 업무는 정기적인 일/월/분기/연 작업이 있기 마련이다. 정기적인 작업을 통해 업무가 문제없도록 시스템을 관리한다.
프로젝트에서 SI개발자 투입 인원은 많지만,
시스템 오픈 후 SM인력은 아주 소수이다.
2~3명 정도면 대형 시스템이라 할수있고,
1명이 여러 개의 작은 시스템을 운영하는 경우도 많다.
|장점|
▩ SI에 비해 상대적으로 워라밸이 좋다.
SM개발자가 되겠다는 가장 큰 현실적인 이유는 워라밸이라 생각한다. SI개발자가 시간 제약이 있는 강도 높은 프로젝트에서 워라밸 챙기기가 힘든 반면, SM은 일상적인 환경에서 시스템을 운영한다. 물론 월말작업 같은 일이 몰리는 시기도 있지만 대부분의 SM은 SI에 비해 노동강도가 낮다.
▩ 깊은 도메인지식(업무 지식)을 습득할 수 있다.
하나의 시스템을 운영하다 보면 개발자로서 개발 기술보다 업무에 대한 지식을 더 알아야 한다. 업무를 이해하지 못하면 시스템을 운영할 수 없다. SM개발자는 현업 업무 담당자와 긴밀히 밀착될 수밖에 없어 IT기술보다 업무 지향적으로 될 수밖에 없다. 따라서 장기간 운영을 하다 보면 업무에 대한 지식을 자연스럽게 습득할 수 있게 된다. 이러한 업무 지식과 경험은 향후 개발자로서 개발 기술보다 더 중요한 자산이 된다.
|단점|
▩ 개발 기술이 뒤 처질 수 있다.
SM개발자는 개발 기술보다 업무 중심적이다. 또한 한 회사에 있다 보면 동일한 기술만 접할 수 있다. 다양한 IT기술에 대한 기술력을 키울 수 없어 자칫 경력은 많으나 개발력이 부족한 개발자가 될 수 있다.
(SM경력이 오래된 경력자지만 업무만 알고 개발도 하던 분야만 알아, 개발자로 개발 실력이 부족해 이직에 어려움을 겪을 수 있다.)
▩ 감정 노동이 심할 수 있다.
SM개발자가 대응해야 할 대상은 고객, 현업 담당자, (만약 SM개발자가 외주 회사라면) 고객사의 IT담당자이다. SM개발자는 이들로부터 문의를 받거나 일상적인 업무지시를 받는다. 고객이나 현업담당자의 문의는 문제가 발생했을 경우가 대부분이다. 따라서 그러한 불만을 듣는 자리다. 또 외주 SM이라면 담당 고객사 IT담당자와 긴밀한 관계가 될 수밖에 없는데, 담당자로 부터 부당한 대우를 받는 일도 많다.
(반면, SI개발자는 고객과의 관계가 안 좋아도 프로젝트가 끝나면 관계가 끝난다. 그러나 SM은 지속적으로 관계를 유지할 수밖에 없다.)
|SM회사 현황|
국내 대기업 IT회사는 SI와 SM을 모두 서비스한다. 대형 SI사업을 주도하기도 하지만, SM부분의 비중이 대부분 더 크다. 대기업들은 대부분 IT자회사를 통해 시스템을 운영한다. IT자회사는 계열사 시스템 관리를 위해 SM을 직접 채용해서 투입하기도 하고, 또 다른 회사를 소싱하여 SM계약을 체결한다.
자체 SM 운영 : 회사 내 IT부서 직원이 직접 SM수행(소규모 기업)
IT계열사 SM운영 : IT부서 담당 - IT계열사 SM - 외주회사 SM(대기업, 금융회사)
외주 SM : IT부서 담당 - 외주 SM(IT자회사가 없는 기업)
SM개발자는 계약관계에 따라 다층 구조로 이루어진다. SM개발자로 중소 IT기업에 "A"라는 회사에 입사를 하였지만, 일하는 곳은 회사 "B"에서 한다. SM 개발자의 계약구조 다단계이기 때문이다. 따라서 소속은 "A"지만 "B"회사에서 생활해야 하는, 이방인(?)과 같은 생활을 잘 적응해야 하는 어려움도 있다.
체계적이고 보완된 내용으로 브런치 글과 같은 이름으로 출간을 하게되었습니다. 아래의 링크를 통해 자세한 내용을 확인할 수 있습니다.
교보문고
나에게 맞는 IT 직업 찾기
예스24
나에게 맞는 IT 직업 찾기
알라딘
나에게 맞는 IT 직업 찾기
한 편으로 끝낼 수 있을 거라 생각했는데 SI, SM에 관한 글이 생각보다 길어졌다. 어찌 보면 개발자의 가장 현실적인 이야기일 수 있다. 다음 편에서 SI, SM 상대적인 비교와 일반적인 편견, 그리고 어떤 진로를 선택할지 살펴보고 SI, SM에 대한 이야기를 마무리할까 한다.