SI (System Integrator) 업체란?
System Integrator (SI)는 시스템에 대한 전반적인 개발, 유지 보수 또는 시스템 통합 개발 서비스를 제공하는 걸 의미한다. 짧게 요약하자면, ‘시스템을 구축하는 업무’라고 정리할 수 있다. 과거에는 전산시스템을 구축할 때 기업에서 자체적으로 시스템을 구축했다. 하지만 전산시스템이 복잡해지고 전문성이 필요해짐에 따라 시스템의 개발, 기획, 유지보수, 운영 등을 대신해주는 하청과 파견업체가 생겨났다. 이런 업무를 하는 회사를 SI기업 (SI업체) 이라고 한다.
SI 기업은 전문적으로 특정 분야의 업무를 하기보다는 고객이 원하는 상품(시스템)에 따라서 개발 업무를 수행한다. 예를 들어서 은행에서 고객들이 사용할 금융 서비스 앱이나 웹페이지를 만드는 데 있어 개발자를 상시 채용하여 배치해 둘 수가 없다. 또한 개발자를 채용하더라도 개발자에 대한 업무 지시를 전문적으로 하려면 별도의 담당 부서를 마련해야 하는 어려움이 있다. 이러한 경우 해당 업무를 담당하여 처리해 줄 수 있는 SI 업체와 계약하여 개발 업무를 위임하는 방식이다.
최근 들어 국내 신입 개발자들 사이에는 SI 업체에 대한 부정적인 시각이 많이 있다. 충분하지 않는 인력 배치로 인해 개발자가 본인 개발 업무 외적으로 다른 일도 해야 하거나, 경력 뻥튀기로 인해 정작 개발자가 피해를 보는 일들이 있었다. 하지만 SI 업체가 무조건적으로 나쁜 것은 아니다. 수많은 SI 업체 중에서도 괜찮은 업체들도 찾아보면 꽤 있으며 글쓴이의 지인 개발자들 중에서도 괜찮은 SI 업체에서 만족하며 일을 하고 있는 경우도 많이 있다. 다만 일부 SI 업체들 중에서 악덕 기업이 있다 보니 개발자뿐만 아니라 SI 업체에 일을 맡기는 기업들 사이에서도 SI 업체에 대한 부정적인 고정관념이 생기게 되었다.
SI 업체는 연봉이 적다?
중소 SI 업체는 하청이나 파견 업체이기에 연봉이 높지 않고 일만 많다는 고정관념을 가지고 있다. 물론 연봉을 적게 주면서 상대적으로 많은 업무량이나 능력을 요구하는 것은 문제이다. 하지만 정상적인 업체라면 그렇지 않다는 것이다. 다른 개발 분야와 달리 SI는 정말 많은 개발자들이 일을 하고 있는 분야이고 SI 기업 또한 상당히 많이 있다. 그렇기에 SI 개발자에 대한 연봉 기준은 어느정도 정해져 있을 정도로 확실하다. 한마디로 능력이 있고 연차가 충분히 쌓이면 SI 개발자로서 연봉을 제대로 못 받는 일이 없다는 것이다.
다만 개발 인력이 많고 SI 기업들이 많다는 것은 신입 개발자의 연봉이 많지 않다는 걸 의미한다. 그 이유인 즉슨, 신입 개발자의 실질적인 능력을 정확히 판단하고 있으며 실무에서 어떠한 일을 할 수 있는지에 대해서 개발자뿐만 아니라 기업 입장에서도 명확하게 파악하고 있기 때문이다. 사실 프로그래밍 모든 분야에서 신입 개발자를 뽑는 건 투자이다. 경력직을 뽑더라도 수습기간을 주고 실무 업무에 대한 평가와 적응 시간을 가지도록 한다. 그런 신입 개발자는 수습기간뿐만 아니라 회사 내부에서 별도의 교육 과정을 거쳐서 실무를 담당할 수 있도록 만들어야 한다. 특히 SI 개발자는 전공자뿐만 아니라 비전공자도 신입 개발자로서 시작할 수 있는 개발 분야이다 보니 SI 신입 개발자의 평균 능력을 판단하는 기준이 낮으며 그에 따라 받는 페이 역시도 낮게 책정되어 있을 수밖에 없다는 것이다.
반면에 최근에는 신입 개발자임에도 연봉을 많이 주는 SI 업체들이 있기도 하다. 주로 두 가지 이유 중 하나인데 첫 번째는 경력직에 버금가는 실력을 지닌 중고 신입 개발자이거나 개발 업무 외적으로 많은 일을 담당하여 처리해야 하는 경우이다. 기업 입장에서 신입 개발자에게 연봉을 많이 준다는 건 그만큼 자신이 부담해야 될 업무과 많다는 것이다. 여기서 유의할 점은 자신이 소화할 수 있는 업무에 대해서 연봉이 합리적인지 고려해야 한다는 것이다. 미국 개발자들의 경우에는 연봉 협상 때 연봉을 올려준다고 해도 거절하는 경우가 종종 있다. 왜냐하면 연봉이 올라가면 업무에 대한 책임감과 개발자의 능력을 판단하는 기준이 높아지며, 이에 대한 업무 수행력의 요구 사항도 높아지기 때문이다. 국내 신입 개발자들은 자기 객관화를 해야 한다는 점을 배울 기회가 많지 않기 때문에 개발 능력에 대한 자기 객관화가 이루어지지 않아 업무에 시달리게 되는 문제가 발생하기도 한다. 결국 본인의 능력에 맞추어 수행할 수 있는 업무량과 업무의 난이도를 보고 연봉을 스스로 평가하고 책정해야 된다. 한마디로 무조건 연봉이 높다고 가놓고 실력이 부족해서 매일 고통만 받는다면 본인과 기업 모두 힘들어지는 길이다.
SI 업체는 야근을 밥 먹듯이 한다?
신입 개발자들과 가끔 이야기를 나누다보면 SI 업체에 가면 야근을 매일 하여 죽을 것 같이 일을 시켜서 약을 먹고살아야 하냐는 질문을 받기도 했다. 특히 이전에 개발에 대한 배경지식이 전무한 비전공자들의 경우에는 국비 학원을 통해 짧은 시간 개발 경험을 쌓다 보니 학원에서 들은 무서운 소문이 전부이기에 SI 업체에 대한 두려움을 많이 가지고 있었다. 예를 들어 코로나 시기와 겹쳐 개발자 붐이 일었던 몇 년 전까지만 해도 승무원 출신이었던 비전공자 개발자가 SI 업체가 힘드냐며 걱정이 되어 한숨을 쉬며 글쓴이에게 물어보기도 했었다. 결론부터 이야기를 하자면 그렇지는 않다는 것이다. SI의 경우에는 팀별로 구성되어서 프로젝트마다 파견을 나가게 된다. 따라서 신입 개발자로 SI 업체에 가게 된다면 신입 개발자의 역할에 맡는 일을 담당하게 된다는 것이다. 이 말인즉슨, 각 팀에는 신입, 주니어, 미들급, PM, PL 등과 같이 각자의 역할에 맞는 개발 인력이 배치되어 있다. 그렇기에 신입 개발자에게 처음부터 생각지 못한 일들을 시키지는 않는다는 것이다.
다만 신입 기준에 맞는 일을 주었음에도 실력이 부족하다면 당연히 시간이 상대적으로 많이 걸릴 수 밖에 없다. 같은 일을 하더라도 개발 능력이 부족하면 당연히 어렵고 해내는 데 있어서 시간이 많이 걸릴 수밖에 없다. 한마디로 본인 능력이 부족하다면 결과가 나올 때까지 야근을 해야 하는 경우도 있다는 것이다. 여기서 글쓴이의 잔소리를 조금 더 첨가하자면 대충 전공 수업을 듣고 졸업한 전공자나 대충 학원 수료를 한 비전공자의 경우가 SI 업체를 갔을 때 야근을 밥 먹듯이 한다는 말도 안 되고 불평불만을 한다. 한마디로 자기 객관화가 되지 않는 개발자들이 사이에서 이러한 말들이 나와 괜히 신입 개발자들이 지레 겁을 먹게 되는 것이다.
물론 SI 업체 중에서도 연차나 연봉에 비해 과도한 업무 수행을 요구하거나 일명 경력 뻥튀기를 통해서 개발자들에게 어려운 일을 주고 책임을 전가하는 악덕 기업들도 존재한다. 이러한 경우는 기업 자체에 문제가 있기 때문에 항상 유의해야하는 부분인 건 사실이다. 하지만 개인의 능력 문제가 있음에도 기업 탓으로 돌리는 경우와 같이 자기 객관화가 되지 않는 개발자들 때문에 모든 SI 업체가 무조건 나쁘다는 말도 안 되는 소문이 퍼지고 이로 인해 신입 개발자들은 일을 시작하기 전부터 스트레스를 받게 된다.
내가 아는 국내 중견 또는 중소 SI 업체들만 보더라도 칼퇴는 물론이고 출퇴근 시간을 자유롭게 준다. SI 업체에서 일을 하는 개발자들과 이야기를 해보아도 야근을 하지 않고 그보다도 더 일찍 퇴근을 하거나 아니면 선택적 재택 근무를 통해서 업무를 자유롭게 하기도 했다. 과거 세대에서는 무조건 해낼 때까지 야근을 하는 문화가 있었을 수도 있지만 이제는 자율출퇴근제에다가 심지어 재택근무까지도 가능한 시대가 되었다.
SI 기업의 장점
1. 시스템 초기 단계부터 완료까지 구축하는 경험을 쌓을 수 있다.
개발적으로도 스킬이 많이 향상되지만, 프로젝트 기간 동안의 긴박한 상황에서 갈등과 협업 과정을 거치면서 커뮤니케이션 스킬까지 갖출 수 있다.
2. 배움의 기회가 비교적 많고, 다양한 분야와 기술을 경험할 수 있다.
각 프로젝트마다 산업분야와 프로그래밍 언어가 달라지는 경우가 많아서 제너럴리스트(generalist)로 성장할 수 있다.
풀 스택(full-stack developer) 개발자로 가는 길이 빨라질 수 있다는 의미다.
3. 취업의 기회가 넓다.
비전공자이거나 취업 시장에서 다소 약자인 경우에도 취직이 생각보다 쉽게 되는 경우가 많다. SI쪽은 큰 기업도 있지만, 작은 기업이 절대적인 과반수를 차지하고 있기 때문에 시장규모가 크고, 채용인원이 많다. 그래서 개발자가 되고 싶은데 아직 갖춰 놓은 스펙이 부족한 경우 SI기업에서 실력을 쌓는 방법을 택하기도 한다.
SI 기업의 업무 진행 프로세스
1단계 분석 - 고객의 요구 사항을 수집하는 단계
2단계 설계 - 개발 가능한 형태로 설계하는 단계
3단계 개발 - 분석, 설계를 통해 정해진 규격으로 프로그램을 구축하는 단계
4단계 테스트 - 완성된 프로그램을 테스트하고 안정화하는 단계
5단계 검수 - 계약대로 결과물이 구축되었는지 확인하고 인증받는 단계
'임베디드 시스템 (자동차)' 카테고리의 다른 글
자동차 규격 용어 이해 (전장, 전고, 전폭, 축거, 윤거) (0) | 2024.05.09 |
---|---|
임베디드 SW 개발에서 7가지 기본 사항 요약 (0) | 2024.05.05 |
연봉별 자동차 추천 #연봉에 맞는 차 (1) | 2024.04.28 |
자동차 할부와 리스 차이, 뭐가 좋을까? 비교 (0) | 2024.04.27 |
임베디드 개발자 미래, 포지션, 기술력, 해야할 일 (0) | 2024.04.14 |