SM(개발)
1. 개요
System Management(시스템 운영, 또는 유지보수)의 약자다. 예전에는 SM이라고만 했는데 요새는 ITIL의 영향 때문인지 해외에서는 Information Technology Service Management(ITSM)과 일반 Service Management를 구분하여 사용한다.
SI 프로젝트의 결과로 구축된 시스템을 운영하고 발생하는 문제에 대처하는 업무를 한다. 업무의 성격을 좀 더 쉽게 설명하자면 게임이나 어플등의 응용 프로그램에서의 지속적인 업데이트 혹은 버그 수정 혹은 서버점검과 그 의미가 동일하다.[1] 실제 사용자에게 서비스되고 있는 것을 관리하는 업무인 만큼, 기획자나 발주자만을 상대하는 것이 아니라 실시간으로 발생하는 트러블에 대응한다는 것에 차이점이 있다. 따라서 전화응대는 업무의 주요한 부분을 차지하며, 친절한 말투와 세련된 말솜씨는 중요한 스킬이다.
SI 프로젝트가 완료되면 개발자가 일정기간 운영에 개입하여 트러블 슈팅을 담당하게 되며, 따라서 SI 개발자들은 흔히 SM 업무도 경험하기 마련이다. SI 업무가 보다 코딩작업이 많기 때문에 개발자로서 성장하기엔 SM보다 유리하다는 인식이 존재하며, 때로는 자신의 의사와 달리 SM 업무로 전업을 당해 고민하는 초짜 개발자들이 있기도 하다.
실제 업계비중을 살펴보면 신규개발에 투입되는 인력과 비용보다는 유지보수가 차지하는 규모가 크며, 대기업 SI업체(ex.삼성SDS, LG CNS, SK C&C, 쌍용정보통신 등등)들도 SM인력을 바탕으로 사업을 시작하였다. 대한민국에서는 건설업의 영향 때문인지 단가나 인식면에서도 SI 업무보다 홀대되는 경우가 있는데, 이웃나라인 일본 같은 경우에는 전혀 그렇지 않으며 오히려 SM 업무가 대우나 단가면에서 존중받는 편이다.
흔히 SI 개발자들은 SM을 '전화 받는 거 빼곤 할일도 없고 칼퇴가 가능한 땡보직' 정도로 생각하는 경향이 있는데, 현실은 전혀 그렇지 않다. 한국업계의 특성상 SI 개발이 워낙 일정에 무리하게 맞추기 위한 날림작업으로 이루어져서, 실제 서비스 되었을 때 발생하는 문제가 심각하며 그 부담은 고스란히 SM의 몫이 된다. 트러블 슈팅을 위해 개발업무를 병행하지 않을 수가 없는데, 때로는 유지보수의 규모가 신규개발에 비견되는 사례도 있다. 하지만 고객대응은 그것대로 하지 않을 수 없고, 따라서 낮에는 SM을 하고 밤에는 SI를 하게 되는 패턴을 마주하게 될 수도 있다. 관공서나 정보계 SM 같은 경우는 정말 PC 정비나 해주는 경우도 많지만, 금융업 SM은 정말 온갖 종류의 업무를 맡아서 해야 한다. 결국 SI나 SM이나 '''개발자의 무덤'''이라는 점에서는 똑같은 것이다.
게다가 맡아서 운영하게 된 시스템이 LG전자나 삼성전자, 현대자동차 같은 글로벌 기업의 본사일 경우는 물론 전 세계 법인 모두가 사용하는 시스템일 경우, 시차 덕분에 자정이 넘은 오밤 중에 브라질 같은 곳에서 오는 전화도 받을 수 있는 매우 험난한 업무 환경에서 일하게 된다. 물론 의사소통은 대부분 영어로 한다. 중국법인의 경우 동북 출신 조선족이나 한국에서 일한 경험이 있는 덕택에 어떻게든 한국어를 할 수 있는 사람이 현지 법인의 컨택 포인트가 되는 경우가 많다.
첨언하자면, 개발자의 운명은 개발목표가 아니라 자신이 몸담고 있는 회사가 결정한다. 같은 SI 업체라고 해서 삼성SDS 직원과 OO정보통신 직원의 비전이 같을 수는 없는 노릇이다.
프로그래머와 오퍼레이터 둘은 상하위의 개념은 아니고 동등한 전문성을 갖춘 직업이지만 오퍼레이터는 '''현장 경험'''과 '''순발력'''을 더 중요하게 보기 때문에 프로그래머에 비해 학습량이 적다. 경험 그 자체가 자산이 되므로 오퍼레이터 직종은 소위 말하는 '짬'이 매우 중요하게 여겨지고 스펙보단 이쪽 업계에서 얼마나 오래 일했는지 근속년수를 더 쳐주는 경향이 있다.
그리고 오퍼레이터가 코딩을 안 하지는 않는다. 고급 오퍼레이터들은 각종 스크립트 언어 및 매크로 사용에 능숙한데 범용성이 떨어질 뿐 이것도 코드고, 프로그램이다. 다만 해당 프로그램의 개발자와 사용자가 대개 일치한다는 특징이 있다. 제작자 본인이 사용하기 때문에 프로그래머가 코딩하듯이 온갖 상황에 대비할 필요도 없고 성능이 심하게 떨어지거나 오류를 마구 뱉어내는 결함품이라도 얼마든지 대처할 수 있다.[2] 이런 임기응변적 대처능력은 프로그래머보다 오퍼레이터에게 더 요구되는 자질이다.
2. 유사 업무
- SI (System Integration, 시스템 구축)
[1] 예를 들어 카카오톡은 출시 당시부터 지금까지 메시지를 송수신 한다는 핵심 기능 자체에는 전혀 문제가 없었지만 출시 이후 지금까지 수십 수백번의 기능 업데이트, 버그 수정 및 서버 점검이 이루어졌다. SI라고 그럴 필요가 없겠는가? [2] 프로그래머라면 오류를 걸러내는 필터 로직을 넣어서 새로운 프로그램을 만들겠지만 오퍼레이터라면 오류가 나는 데이터 자체를 안 넣어버리거나 프로그램을 중간에 멈추고 반가공된 데이터를 수동으로 고쳐버리는 방법으로 대처하는 식이다. 코드와 사람이 훨씬 더 유기적으로 협업하는 게 오퍼레이터 직종이라 볼 수 있다.