회원가입을 하면 원하는 문장을
저장할 수 있어요!
다음
LG CNS, KT DS도 이용하는 대표 IT프로젝트 플랫폼
이번 편은 “SI 회사”에 취업하는 사회 초년생들을 위한 글입니다.
회원가입을 하면 원하는 문장을
저장할 수 있어요!
다음
회원가입을 하면
성장에 도움이 되는 콘텐츠를
스크랩할 수 있어요!
확인
이번 편은 “SI 회사”에 취업하는 사회 초년생들을 위한 글입니다.
어떻게 일하고 어떻게 성장할 것이냐, 라는 고민에 도움이 되면 좋겠습니다.
개발자라면 누구나 당연히 SI 개발자로 시작했던 시절이 있었습니다. 1990년대 후반이었죠.
인터넷이 없고 전화선으로 통신을 하던 시절, IT 기반 서비스의 구매자는 “기업” 밖에 없었습니다. 접속 시간 자체가 다 비용이었거든요. 개발자 수가 적었기 때문에 대부분의 기업들은 아웃소싱할 수밖에 없었습니다.
시간이 흘러 인터넷 보급과 함께 컴퓨터가 빨라지면서 비즈니스도 빨라집니다. 기술환경이 복잡해지면서 전문 분야도 IT 컨설팅, IT 구축, IT 운영 등으로 나누어집니다. 고객 범위가 넓어지고 시스템이 커지면서 협업 환경도 복잡해지죠.
우당탕탕할 수밖에 없으니, 제일 먼저 나빠진 게 “프로젝트 현장”이었습니다. 당장 내일까지 맡은 일을 끝내야 하니 밤을 새울 수밖에 없었습니다. 반면, 희생과 노력은 보상받지 못했죠. 발주회사의 직원이 아니니까요.
SI 현장의 근로환경이 나빠지자 개발자들이 안 들어오기 시작했습니다. 반면 포털, 게임 등 B2C 시장이 성장하니 신입 개발자들이 모두 그쪽으로 취업을 했죠. 개발자들이 안 들어오자 2,000년대 들어 SI 현장은 악순환이 이어졌습니다.
2010년대, 노동근로 관점에서 여러 가지 문제들이 터지기 시작합니다. 정부가 나서면서 규제가 만들어지죠. 덕분에 노동환경이 많이 개선됩니다.
하지만, 프로젝트 진행 방식이나 내용이 달라지지는 않습니다. B2B 시장은 복잡한 기업들의 관계 속에서 돈을 벌고 있거든요. 프로세스가 깨지면 사업이 망합니다. 새로운 기술을 받아들이는 데는 시간이 걸립니다. 사업적 필요성을 인식하고 계획과 예산을 수립해야 하니까요.
2010년 아이폰이 출시되었을 때, 웹페이지는 전부 PC용이었습니다. 뉴스 기사를 확대해서 읽어야 했죠. 기업용 “모바일 페이지”는 2년 정도 지나서야 만들어지기 시작했습니다. 그 사이 기업들은 방향과 구현 수준을 정하기 위해 우왕좌왕했습니다. 웹과 앱, 두 세트로 관리하는 것도 부담이었거든요.
체감될 정도로 보급률이 확 바뀐 건 “반응형” 웹 기술이 퍼지면서부터였습니다. 2017년 이후였죠.
즉, 새로운 기술이 뜨더라도 이를 받아들여 보급하는 데 거의 7~8년이 걸린 겁니다. 점진적이고 느리죠. 일일이 필요한 곳을 찾아야 하니까요. 이때 기업 현장에 기술을 보급하는 역할은 누가 할까요? SI 입니다.
자동차에 비유해 봅니다.
신모델 개발은 “R&D” 부서에서 합니다. 시장을 연구하고 새로운 기술을 개발하죠. 특허도 내고요.
자동차 생산은 “제작・생산” 부서에서 합니다. 원가, 프로세스, 공장설비 등을 생각하죠.
R&D가 핵심일 것 같죠? 그렇지만 제작・생산의 중요성도 절대 낮지 않습니다. 제품 원가의 중심이니까요. 사업이 잘되려면 모든 게 균형이 맞아야 합니다.
IT 업계에서는 어떨까요? 스타트업이 R&D라면, SI는 제작・생산의 역할을 맡고 있습니다. 설명을 위해 좀 더 또렷하게 대비해 봅니다.
뭔가 반대되는 느낌이 있습니다. 실제로도 그럴까요? 네, 그렇습니다.
보통 IT 개발의 시작은 “요구사항”입니다. 개발 계획과 항목을 확정 짓는 일이죠.
스타트업 개발자들은 이 “요구사항”을 스스로 만들어 냅니다. 우리 사업이니까요. 아이디어에서 개발 항목으로 이어지는 과정에 적극적으로 참여하죠. 알아서 하는 게 미덕입니다.
하지만, SI에선 알아서 일하면 사고입니다. 예를 들어, 금융 기업 프로젝트에 참여한 SI 개발자가 ATM 기능을 알아서 수정한다면 어떨까요? 해킹 시도로 오해받습니다. 작은 수정으로 큰 장애가 발생할 수도 있죠. 피해보상 범위가 엄청 넓을 수도 있습니다.
그래서 SI 개발자들은 “요구사항”이 없으면 일하지 않습니다. 요구사항은 책임자인 “업무 담당자”들이 만들죠. 책임과 권한의 경계선에서 분업을 하는 겁니다.
하지만, 스타트업에선 분업을 하면 망합니다. 아직 돈 버는 프로세스가 없으니까요. 일이 안 나눠지죠. 적당한 선에서 협업하며 우당탕탕해야 합니다.
SI 개발자와 스타트업 개발자가 다른 이유는 직업 환경 때문입니다. 익혀야 하는 경험과 노하우가 다르고 직장인으로서의 가치관도 다르죠. 성장 과정과 목표가 아예 다른 겁니다.
SI 만렙 개발자는 어떤 사람일까요?
돈은 많이 벌까요? 당연히 많이 법니다. 하지만 스타트업 같은 파격적인 대우는 없습니다. 아웃소싱 시장이 파격적이지 않거든요. 한 번 투자로 10배, 100배 버는 시장이 아닙니다. 파격적인 보상을 해줄 수가 없죠. 그냥 조금 더 높은 인건비를 주는 수준입니다.
누구나 아는 유명한 개발자가 있을까요?
글쎄요. SI 시장에선 유명세가 크게 도움이 되지 않습니다. 유명세는 미래에 대한 기대감을 높이기 위한 수단인데, 아웃소싱은 기대감보다 문제 해결에 대한 보상을 받는 분야니까요.
이건 아웃소싱이 일어나는 영역의 대부분이 “인프라”이기 때문입니다. 직접 돈 버는 부분들이 아니라 아웃소싱하는 거죠. 그래서 비용이 낮을수록 좋습니다.
SI에선 두루두루 하는 것보다, 한 분야의 전문가들이 대우를 받습니다. 깊이가 깊죠.
기업 인프라에는 복잡한 내용들이 오랜 시간 켜켜이 쌓여 있습니다. 벤더사조차 겪어보지 못한 문제들이 많죠.
TCP/IP 규격의 허점 때문에 오류가 일어날 수도 있습니다. 웹 개발 회사에선 겪어볼 일이 없는 오류죠. 그런 걸 건드려야 하는 인프라 시스템이니까 알게 되는 겁니다.
SI 만렙 개발자는 이런 문제를 해결해 주는 사람입니다. 인스타그램 같은 서비스 개발자와는 관점이 많이 다르죠.
즉, “만렙”이라는 정의도 직업 환경을 따라갑니다.
SI 개발자도 고수가 되면 돈을 많이 법니다. 불러주는 곳도 많고 일도 끊이지 않죠. 비교적 만렙이 되기 쉬운 환경입니다. 필요한 프로젝트를 따라 움직이면 되니까요.
예를 들어 주니어 개발자가 거대한 데이터를 보려면 대기업의 데이터팀 정도는 들어가야 합니다. 진입 문턱이 높죠. 반면 SI 라면 그런 프로젝트를 찾아가면 됩니다. 입사가 아니니 진입 문턱이 낮죠.
SI 만렙들은 부족한 기술 역량을 새로운 프로젝트를 찾아다니며 채웁니다. 한 프로젝트에서 모든 기술 역량을 다 채우기는 힘들거든요.
스킬업을 하지 않고 같은 일만 반복하는 개발자들도 있습니다. 성장보다는 생계 목적이죠. 그런 분들은 다른 곳에서 성장의 가치를 찾습니다. 모두 다 케바케입니다.
SI 회사에 취업을 합니다. 뭐가 좋을까요? (비교적 나쁜 회사는 아니라고 가정합시다.)
# 상황 1
진입 문턱이 비교적 낮습니다. 시니어들이 어려운 일을 맡기 때문에 채용이 덜 까다롭습니다.
복잡한 실무코드를 볼 기회가 빨리 생깁니다. 당장 옛날 코드를 유지 보수해야 하니까요.
고수의 코드를 들여다볼 기회도 생깁니다. 노하우나 알고리즘은 변하지 않으니까요. 의외로 경외로운 코드가 많습니다. 생각보다 배우는 게 많습니다.
‘아, 저건 저렇게 처리하는구나.’
‘아, TCP/IP 통신을 이렇게 처리한 거구나.’
‘아, 저 로직은 네트워크 장비 문제의 방어 로직이구나’
등등을 말이죠. 다만 옛날 언어라 신규 개발에 참고할 만한 사례가 많지 않습니다.
좋은 코드를 본 적이 없다면 좋은 코드를 짜고 싶은 욕심이 안 생깁니다.
그런데 스타트업에선 훌륭한 선임이 없다면, 훌륭한 코드를 볼 일이 없죠. 시작 단계라 복잡성도 높지 않으니까요. 맨땅에서 헤매다 보면 별일 없이 1년이 후딱 가버립니다. 환상을 가지고 스타트업에 들어갔다 실망하는 초보자들이 많죠.
SI 현장에선 초보자도 좋은 코드 볼 기회가 비교적 쉽게 생깁니다. 계속해서 새로운 프로젝트를 하게 되고, 그만큼 많은 사람들을 만나게 되니까요.
물론 새로운 기능을 계속 덧바르거나, 사람이 바뀌면서 땜질하는 프로젝트라면 코드는 헬입니다.
같은 패키지를 오랫동안 계속 유지 보수하는 경우여야 코드 정리가 깔끔하게 잘 되어 있죠.
# 상황 2
SI는 주로 기업시장에서 일어납니다. 오래된 전통산업이니 비교적 잘 정리된 프로세스를 가지고 있죠. 그래서 비즈니스 이해, 업무 구조화 등이 선행됩니다. 우당탕탕 일하는 것보다는 짜임새가 있죠.
그러니 정리된 환경에서 일하는 걸 좋아한다면 SI도 나쁘지 않습니다. 어떤 분은 스타트업하다가 SI 현장에 오셨는데, 이렇게 이야기하더군요. “참, 세상 편해서 좋다”. 진짜로 편해서가 아니라, 업무 특성이 그만큼 다르다는 겁니다.
다만, 도전적인 기술 과제들이 없습니다. 프로젝트 기한이 있어서 어려운 건 솔루션으로 해결하죠. 연구개발이 좋고, 기술 성장 욕구가 높다면 SI 쪽이 맞지 않을 수도 있습니다.
그런데 요즘 대부분의 SI 회사는 자체 개발한 솔루션이나 패키지를 가지고 있습니다. 단순히 인력 파견만 하는 회사가 아니라면 괜찮을 수도 있죠.
현장 프로젝트를 하면 다양한 기술적 호기심은 채울 수 있습니다. 별의별 문제가 다 생기거든요. 하지만, 기술 탐구 등 깊이 있는 호기심은 채울 수 없습니다. 탐구와 연구는 도전, 실패를 반복해야 하니까요. 아웃소싱 프로젝트는 대부분 “구축”이기 때문에 실패를 가정할 수 없죠.
그래서 프로젝트를 하다 보면 정체된 느낌이 납니다. 비슷비슷하니까요. 안주해 버리는 사람도 있는데 그러면 안 됩니다. SI 시장도 느리지만 변하거든요. 이에 맞춰 레벨업을 해줘야 합니다.
레벨업 한다는 건, 더 좋은 직장을 구하거나 더 높은 연봉을 받을 기회를 만드는 겁니다. 초보자에게는 꽤 중요한 과제이죠.
현장은 많은 경험치를 주기 때문에 중요한 레벨업 장소이긴 합니다. 하지만, 연구자로서의 경험치는 채울 수 없죠. 이걸 얻으려면 R&D 업무를 해야 합니다.
SI 회사에서도 연구개발을 합니다. 반복 업무는 솔루션이나 패키지로 만들죠. 로그 처리, 메시징 처리, 데이터 수집 처리 등등입니다. 그런 일을 해 보는 것도 좋습니다.
솔루션 기업이나 기술 스타트업으로 이직할 수도 있습니다. 블록체인, 암호화, 보안 솔루션 등 재미있는 분야들이 많습니다. 다만 초보자라면 선배가 있는 곳이 좋습니다. 길잡이가 있으면 언제나 좋으니까요.
“SI 개발자로만 성장하겠어.” 사실 이런 경우는 없습니다. 많은 개발자가 SI와 스타트업을 왔다 갔다 합니다. 그렇게 사는 게 좋다기보다 삶이 그렇게 풀리는 겁니다.
스타트업의 생존율도 30%(5년 차) 정도밖에 안 됩니다. SI 프로젝트 기간은 대부분 6~12개월이죠. 하나만 하고 살 수는 없습니다. 어떤 때는 프리랜서도 하고, 어떤 때는 스타트업에도 들어가게 되죠.
다만, 성장은 내적 동기가 없으면 일어나지 않습니다.
대부분의 회사는 정체되어 있거든요. 수익화 프로세스를 만들어 그걸 안정화시키죠. 그리고 프로세스를 잘 안 바꿉니다. 그래서 적응하고 나면 정체된 느낌이 들고 안주하게 됩니다. 내적 동기가 없으면 그냥 그렇게 흘러가며 살게 되죠.
그렇다고 조급해 하지는 않았으면 좋겠습니다. 성장하는 것도 그럴 기회를 만나야 하거든요. 물론 그런 기회가 항상 있지 않죠. 방향성이 중요합니다. 나의 성장 방향을 잡고, 관심 분야를 좁히고, 좋은 기회를 찾도록 노력하는 거죠.
크게 보면 “SI 개발자”라는 것도 고정관념입니다. 업무 환경에 따라 달라지는 것뿐이죠.
하지만, 스타트업에서 SI 개발자처럼 일하면 안 됩니다. 업무 환경이 다른데 옛날 방식으로 일하면 회사 일도 망하고, 자기도 도태되죠.
내가 천재여서 슈퍼개발자가 될 수 있다? 그러면 좋겠지만, 대부분은 그렇지 못하죠.
기본이 중요합니다. 평생 개발자로서 일해야 하니 직업인으로서의 기본은 갖춰야 하죠. 마지노선이 있을까요? 네, 있습니다.
개발자의 기본은 소프트웨어를 만드는 능력입니다. 직업능력의 기본이죠.
코딩 실력만 말하지 않습니다. 컴퓨터의 동작 방식을 이해하고, 통제할 수 있는 능력을 말합니다.
‘개발’이란 어떤 동작을 하는 거대한 컴퓨터 시스템을 만들어내는 일입니다.
프로그래밍 언어는 도구일 뿐이죠. 그래서 컴퓨팅 환경에 따라 달라집니다.
예를 들어 로봇 개발과 인터넷 포털은 프로그래밍 언어가 다릅니다. 개발 방식도 다르죠.
로봇 분야에선 “지멘스(Siemens)”가 유명합니다. “S7-SCL”이라는 언어를 사용해서 구조화된 프로그래밍을 하죠. 오작동하면 생산라인이 중단될 수 있기 때문에 최대한 보수적으로 개발합니다.
미사일 및 항공우주 분야에서는 “ADA(에이다)”라는 언어를 사용합니다. 기계에 내장되기 때문에 메모리 점유율이 낮아야 합니다. 최적화가 아주 중요하죠. 그런 개발 문화를 가집니다.
반면, 인터넷 분야에선 메모리 점유율이나 성능은 거의 신경 쓰지 않습니다. 그냥 비싼 하드웨어를 사죠. 여러 작업을 동시에 진행하기 위한 협업 문화가 중요합니다.
일을 하다 보면, 산업 장벽을 넘어가거나 회색지대에서 일하는 경우가 생깁니다. 클라우드 같은 인프라 기술은 여기저기 걸쳐 있거든요. 개발자가 된다는 건 이런 환경에서도 일할 수 있다는 뜻입니다.
학위가 없더라도 기본 지식은 모자라진 않아야 하죠. 꾸준히 필요한 걸 찾아서 익혀야 합니다.
“개발”이 소프트웨어 제작을 말한다면, “엔지니어링”은 시스템 구축을 말합니다.
소프트웨어는 노트북에서만 동작하지 않죠. 클라우드뿐 아니라 스마트폰, 냉장고, 자동차에서도 동작해야 합니다. 수천 명이 동시 접속할 때는 여러 대의 컴퓨터가 한 대처럼 움직여야 하죠.
계획한 기능이 제대로 작동할 수 있도록 전체 그림을 그리고 구성하는 일이 필요합니다.
이런 일을 “엔지니어링”이라고 합니다. 소프트웨어뿐 아니라 하드웨어까지 알아야 하죠.
이건 학교에선 익히기 힘듭니다. 데이터를 포함해서 실습환경을 꾸미기 어렵거든요.
하지만, 엔지니어링을 할 수 있어야 개발 업무가 완성됩니다. 내 노트북에만 존재하는 소프트웨어로는 돈을 벌 수 없거든요. 이 기술은 현장을 가야만 익힐 수 있습니다. 소비자가 사용하는 그 환경은 그 프로젝트에서만 만날 수 있으니까요. 부지런히 현장을 찾아다녀야 성장하는 이유이기도 합니다.
그렇다면, SI 하다가 네이버 갈 수 있을까요? 갈 수 있습니다. 그렇게 가신 분들이 꽤 있습니다.
수능처럼 1년을 재수하면 될까요? 안 됩니다. 그렇게 뽑는 회사가 아니거든요.
하지만, SI가 아닌 스타트업에는 들어갈 수 있습니다. 이런 경우는 비교적 흔합니다. 진입 문턱이 높지 않으니까요. 그런 곳에서 내공을 쌓다가 네이버를 갑니다. 비교적 흔한 시나리오죠.
SI만 하다가 바로 네이버로 들어간 케이스는 거의 없습니다. 실력 문제라기보다 개발 문화 때문이죠. 위에서 말한 것처럼 대형 인터넷 회사들은 SI처럼 일하지 않거든요.
반면, 실력이 있음에도 안 가는 분들 역시 있습니다. 경력을 인정 안 해줄 때죠. 10년 차인데 7년 차 취급을 해주는 겁니다. 이럴 땐 가고 싶은 마음이 눈 녹듯이 사라지죠.
기업 입사는 대학교 입시가 아닙니다. 수능 점수처럼 동작하지 않죠. 경기가 어려울 땐 채용이 동결됩니다. 좋을 땐 쉽게 채용되기도 하죠. 회사의 목적은 “영리 추구”입니다. 이익이 되면 뽑고, 아니면 안 뽑죠. 상황은 때에 따라 바뀝니다.
다만, 개발자로선 항상 자기 몸값만큼 일할 수 있어야 합니다. 결국 실력이 된다는 전제하에서 주어지는 기회들이니까요.
써놓고 보니 그냥 평범하고 일반적인 이야기들처럼 되어버렸습니다.
하지만, SI 회사라고 첫발 내디디는 걸 막연히 두려워하지 않으면 좋겠습니다.
물론 피해야 할 SI 회사들도 있는데요. 이건 나중에 따로 한 번 정리하겠습니다.
요즘IT의 모든 콘텐츠는 저작권법의 보호를 받는 바, 무단 전재와 복사, 배포 등을 금합니다.