SI 란?
SI(System Integration) 시스템 구축이라는 뜻입니다.
개발에서는 SM (System Management) 기존 시스템을 유지보수하는 업무와
새로운 시스템을 구축하는 SI 업무가 있습니다.
SI 개발을 해도 될까?
제가 취업 준비를 할 때,
"SI는 절대 가지 마라", 야근이 많고 힘들고, 연차 뻥튀기에, 갑을병정 업체의 몸값 떼어먹기 등 평이 좋지 않았습니다.
그러다가 개발자 5년차일때, SM 업무보다는 SI 업무를 해보고 싶다는 생각이 들었고
SI 개발을 하는 곳으로 이직을 하였고, 현재 2년째 SI 개발을 하고 있습니다.
SI 개발을 하면서 느낀점에 대해서 작성해보려고 합니다.
SI 업무
1. 촉박한 개발일정
개발 일정을 산정할때의 개발 범위와, 실제 기획서의 개발 내용의 범위 차이가 있는 경우,
잦은 기획 변경으로, 개발 시작은 늦춰줬지만, 시스템 오픈 일자는 변함이 없는 경우, 등등
개발 일정이 여유있지 않은 경우가 많이 있습니다.
충분히 고민하고, 생각하고 개발하기보다는
일단 개발 일정이 맞추기 위해 기능 구현에 우선순위를 두는 경우도 많습니다.
야근과 일정 안에 급하게 만들다 보면
개발 이후에 코드를 다시 보면 이거를 왜 이렇게 만들었을까... 라는 생각이 들때가 많이 듭니다.
2. 다양한 사람, 기술과의 만남
새로운 프로젝트를 할때 마다, 새로운 사람들과 일을 하게 됩니다.
다양한 팀원들과 함께 일을 하면서 다양한 스타일에 대해서 경험해 볼 수 있고,
고객사와 커뮤니케이션 하면서도 의사소통 역량을 강화할 수 있습니다.
프로젝트 변경되면, 새로운 언어, 새로운 기술 등을 경험해볼 수 있습니다.
다양한 환경에서 개발하면서 많은 경험들을 해볼 수 있는 장점이 있습니다.
하지만 새로운 환경에 적응을 하지 못하고, 프로젝트를 더 이상 하지 못하는 경우도 있을 수 있습니다.
그래서 항상 새로운 기술들을 공부하기 위해 노력해야합니다.
또 내가 정을 쏟았던 프로젝트, 친했던 동료들과 헤어질 때는 항상 아쉬움이 남습니다.
SM 업무
반면 SM 업무를 할 때는,
어떻게 하면 기존 시스템을 안정적으로 유지할 수 있을까에 대한 고민을 많이 하였습니다.
하나의 대규모 시스템을 깊게 파악할 수 있었고, 기술에 대한 것도 깊게 볼 수 있는 장점이 있습니다.
다만, 오류나, 버그 등으로 서비스 마비가 일어나면 메신저와 전화가 엄청 오면서
회사 모든 사람이 담당자를 찾는 것을 경험할 수 있습니다.