SI 개발자란, (장점, 단점)

지난번에 SI산업의 문제점에 대해서 적었습니다.

세번째 이야기를 하기 전에 잠깐 SI개발자 이야기를 하려 합니다.

※ 연계글 : SI 회사는 가면 안되나요? (요즘IT, 2024.01.10)

병원이나 제조업 등은 IT가 수익행위의 본질이 아닙니다.
그래서 IT 이슈들은 아웃소싱을 통해 해결하죠.

이런 시장을 IT업체들은 ‘Enterprise Market’ 즉 ‘기업시장’이라고 부릅니다.

고객문제를 해결해 주는 소프트웨어 패키지를 ‘솔루션’이라고 하며, 기술컨설팅이나 소프트웨어를 개발해주는 걸 ‘IT서비스’라고 부릅니다. (NIPA 소프트웨어 산업연간 보고서)

SI는 기업 시장에서 소프트웨어와 하드웨어를 같이 납품했던 ‘IT서비스’의 대표적인 공급 형태입니다.
어떤 시점에 소프트웨어만 독립 발주되면서 이제는 ‘소프트웨어 용역’을 대표하는 말이 되어 버렸습니다.

해외에서는 SI라는 말이 없고 ‘IT 아웃소싱’이라는 말로 불립니다.

SI 개발자란, 일반적으로 이런 소프트웨어 용역에 참여해서 프로그램을 개발해주는 사람을 말합니다.

이런 아웃소싱 개발자는 전 세계 어느 곳에나 있으며 일하는 상황도 크게 다르지 않습니다.

‘IT 아웃소싱’의 대표적인 글로벌 기업으로는 HP와 IBM 이 있습니다.
우리나라는 세계시장과 달리 갑질 문화와 다단계 인력시장으로 변질되어 있어, 건강한 생태계 복원이 시급하기도 합니다.

하지만 이번 글은 그런 산업적 문제점이나 개선점을 이야기하려는 것이 아닙니다.

2020년까지 예상되는 업무 위탁 및 아웃소싱 산업규모 (A.T. Kearney 연구소)
(2020년까지 예상되는 업무 위탁 및 아웃소싱 산업규모, A.T. Kearney 연구소)

IT 없는 산업은 상상할 수 없기 때문에 아웃소싱은 앞으로도 없어지지 않을 것입니다.
그래서 개발자로 일하다 보면 여러가지 이유로 이 시장에 발을 딛게 됩니다.

그런데 처음 발을 딛다보면 막연히 두려움이 생깁니다.
하지만 이 시장도 엄연히 개발자 세상이어서 나름대로 배울 점과 피해야할 점들이 있습니다.
그래서 그런 분들께 작은 도움이 되고자 개발자 관점에서 좋고 나쁜 점을 정리해 보았습니다.


이해하기 쉽게 이렇게 일하는 개발자를 “SI 개발자”라 칭하겠습니다.

SI 개발자란 대부분 프로젝트 수주를 통해 남의 회사 일을 해주는 개발자를 말합니다.

따라서 대부분 자기 회사의 발전은 없습니다.
일하는 것에 있어서 ‘정직원’과 ‘프리랜서’간의 차이가 별로 없습니다.

그래서 많은 분들이 보상이 좀 더 나은 프리랜서를 선호합니다.
물론 반대의 경우도 있습니다.

어쨌든 SI 개발자는 내 제품을 만들기 보다 ‘프로젝트 수주’가 주력인 삶을 살게 됩니다.
그렇다면 이런 삶은 어떤 것들이 좋고 어떤 것들이 나쁠까요?

※ 연계글 : SI 회사는 가면 안되나요? (요즘IT, 2024.01.10)

01. 좋은 점

1) 큰 프로젝트를 많이 경험해볼 수 있다.

’10억, 100억 짜리 큰 프로젝트는 뭐가 다를까?’
개발자라면 한 번씩 호기심이 생기기도 합니다.

일반 기업이라면 한 부서에서 매년 큰 프로젝트를 할 수는 없습니다.
투자한 후 돈을 벌어야 하기 때문입니다.
그래서 정직원은 큰 프로젝트를 자주 경험하기 힘듭니다.
그러나, SI 개발자가 되면 큰 프로젝트에 참여할 기회가 매우 많아집니다.

큰 프로젝트를 처음부터 끝까지 하게 되면, 기술 경험치가 굉장히 많이 늘어나게 됩니다.
짧은 시간 내에 수많은 조직 갈등과 다양한 사람들의 모습을 경험하게 됩니다.

100억짜리 프로젝트라면 100억원 어치의 조직갈등을 볼 수 있습니다.
그리고 수명이 10년은 줄어드는 스트레스도 느끼게 됩니다.

어쨌든 큰 프로젝트를 마치고 나면 왠만한 문제에도 당황하지 않는 침착성을 가지게 됩니다.
우스갯 소리 같지만, 이 침착성은 다양한 개발자가 살아가는데 큰 도움이 됩니다.

절대로 해결할 수 없을 듯한 문제를 해결하는 짜릿한 쾌감이 있습니다.
이런 중독성 때문에 큰 프로젝트만 찾는 개발자 분들도 있습니다.

2) 다양한 프로젝트를 경험해볼 수 있다.

금융, 통신분야, 제조, 물류, 공공 부문 등 다양한 프로젝트에서 일해볼 수 있습니다.
기술과 산업에 대한 견문과 통찰력이 높아집니다.
물론 쉽게 옮길 수 있는 건 아닙니다.

기본적으로 모든 프로젝트가 매번 ‘제로’에서 시작하지만 산업영역을 갈아 타는 건 그 충격이 매우 큽니다.
기술과 업무특성이 달라 기존 경력을 완전히 무시 당하기도 합니다.

빨리 배우지 못하면 살아남기 힘들고 주변으로부터 인정받을 때까지도 시간이 꽤 걸립니다.
이런 환경변화는 꽤 높은 스트레스지만 이겨 내었을때 정신적으로나 기술적으로 느끼는 성취감은 매우 큽니다.

잘 끝내게 되면 엔지니어로서 기술을 바라보는 스펙트럼이 넓어지게 됩니다.

3) 착수와 종료를 자주 경험해 볼 수 있다.

안정된 조직에서 부품으로 일하다보면, 4~5년이 넘도록 전체 과정을 경험해보지 못하는 경우가 많습니다.
반면 SI 개발자들은 대부분 풀타임으로 프로젝트 참여를 하게 되므로 이런 기회가 매우 많습니다.

일을 처음부터 끝까지 해보는 건, 개발자들에게 매우 중요한 경험입니다.
동작하는 제품을 손에 쥔다는 건 굉장히 많은 과정을 함축하고 있습니다.
개발자가 코드 짜는 것 외에 무수히 많은 일을 해야 한다는 걸 알게 되기 때문입니다.

문서화, 협업, 검수, 테스트 등은 필수적으로 경험하게 됩니다.
남은 일을 대신해 줄 후임들이 없기 때문에 맡은 일을 혼자서 다 해내야 합니다.
굉장한 인내심과 집중력이 길러지게 됩니다.

매번 깔끔하게 새로 시작하고 딱 맞아 떨어지게 끝내는 건 성취감이 매우 큽니다.
그것 때문에 계속 프로젝트만 하는 분들도 있습니다.

4) ‘기타’가 얼마나 많은지 알 수 있게 된다.

IT 산업에서 가장 노하우가 부족하고 지식이 없는 분야입니다.

IT 프로젝트의 성공은 사람과 조직에 관한 일이라 기술만 필요한 게 아닙니다.
품질관리나 프로젝트 공학, 고객과의 커뮤니케이션, 회의와 보고 등 다양한 ‘기타’들이 있습니다.
하지만 이 모든 것들이 프로젝트의 성공과 실패에 중요한 영향을 미치는 것들입니다.

그러나 이런 부분을 체계적으로 이야기해주는 곳은 거의 없습니다.
대부분의 개발자들은 귀동냥과 사회생활의 슬기로 이 문제를 극복해 나갑니다.
이런 ‘기타’ 스킬은 언젠가 기술 창업을 준비하고 있는 사람들에겐 큰 도움이 됩니다.
꽤 많은 사업에서 이 보잘 것 없는 ‘기타’의 숙련도가 차이점을 만들어내기 때문입니다.

02. 좋지 않은 점

1) 내가 책임지거나 결정할 수 있는 일이 별로 없다.

SI 프로젝트의 시작과 끝은 ‘고객’과 ‘일정’입니다.
고객만족과 납기일정으로 꽤 많은 것을 포기해야 합니다.

SI를 오랫동안 하다보면 여기에 길들여지게 됩니다.
스스로 일하는 주체의식이 약해집니다.
베테랑은 작은 모임에서 주도적인 역할을 하면서 그런 갈증을 채웁니다.

2) 결과물이 내 것이 아니다.

프로젝트 산출물은 고객 자산이므로 개인적으로 사용할 수 없습니다.
프로젝트에서 철수하면 대부분 다시 그곳으로 돌아가지 않습니다.
그래서 개발자들은 견고하게 만들기보다 일단 작동되게 만드는 것에 집중합니다.

이렇게 오래 하다보면 잘 만들어 본 적이 없게 됩니다.
나중에 자기 제품 만들 때 어려움을 겪게 되죠.

좀 깨어 있는 분들은 작은 개인 프로젝트를 합니다.
어쨋든 작더라도 자기 걸 쌓으려고 노력합니다.

3) 기술의 깊이를 추구하기 힘들다.

SI 프로젝트는 납기(기한)를 생명으로 합니다.
보통 전문 업무를 반복적으로 수행하기 때문에 기술의 응용력과 숙련도는 꽤 높아집니다.
하지만, 기술의 완성도를 높일 시간이 충분히 없기 때문에 기술지식이 좀처럼 깊어지지 않습니다.
그래서 경력이 오래되신 분들은 시간을 별도로 투자해서 공부를 합니다.

03. 같이 일하고 싶지 않는 사람들

그리고 SI 개발자로 오래 일하다 보면 요령만 늘어나는 경우를 보게 됩니다.
유혹이 있더라도 가능하면 이 길로 빠지지 않았으면 합니다.
자의나 타의에 의해서 수명이 오래 가지 못하기 때문입니다.

1) 기술보다 요령이 만랩인 개발자

잘못된 정직원의 성장은 기술 없이 정치만 느는 경우입니다.
빨리 진급 하더라도 어느 순간 한계를 맞게 됩니다.
반면 잘못된 SI 개발자들의 성장은, 기술보다 요령만 늘어나는 것입니다.

예를 들어 새로운 기술이 유행하면 그것만 재빠르게 익힙니다.
그리고 돈만 보고 여기저기 옮겨 다닙니다.
물론 이루어 놓은 성과는 없습니다.

이 사람들이 불편한 이유는 자기 책임량을 못만들고 도망가기 때문입니다.
신기술 도입을 고려해 만든 아키텍쳐는 엉망이됩니다.
주변 사람들은 수습하려고 피를 말리며 야근을 합니다.
이런 상황들이 꽤 많습니다.

SI 개발자들에게 실력이란, 자기가 아는 걸 끝까지 제대로 구현하는 겁니다.
그 코드가 상용환경에서 올바로 운영되는 것까지 포함합니다.

2) 전문성 없이 단순업무만 반복하는 개발자

좋은 사수 없이 일을 배우지 못하고 계속 단기 프로젝트만 투입되는 경우가 있습니다.
이렇게 3,4년을 지내고 나면 새로운 일자리를 구하기 쉽지 않습니다.
왜냐하면 사람들이 기대하는 만큼의 실력을 보여주지 못하기 때문입니다.
설사 일자리를 구했다 하더라도, 큰 일을 맡았다 감당하지 못하는 경우를 많이 보았습니다.

이 경우 실패한 일들은 대부분 주변 사람들이 수습합니다. 민폐캐릭이 되는거죠.
차라리 솔직하게 책임질 수 있는 부분을 미리 말해주는 게 좋습니다.

만일 자신도 모르게 저런 사람이 되었다면, 빨리 이직을 하세요.
기술을 안정적으로 쌓을 수 있는 작은 회사라도 말이죠.

04. 요약

얼마 전에 지인 분이 우스갯 소리를 하더군요.

“대한민국의 중요한 서비스나 시스템이 SI가 아닌 걸로 만들어진 게 얼마나 있을까?”

그만큼 우리나라 시장이 IT 아웃소싱을 통해 성장해온 것은 부인할 수 없습니다.
수많은 거품 속에서 이만큼이라도 만들어진 것은 그 속에서 일하던 개발자들의 땀이 있었기 때문입니다.

SI산업이 개발자들로부터 외면받는 가장 큰 이유는 ‘아웃소싱 생태계의 파괴’ 때문입니다.

기술을 모르고 잡은 짧은 일정, 말도 안되는 예산, 개발자를 마구잡이로 꾸어오는 문화,
머릿 수로 안심하는 관리 방식 등이 여전히 헬프로젝트는 만들어내고 있습니다.

프리랜서나 SI개발자의 길로 들어서게 되었다고 해서 겁낼 필요는 없습니다.
하지만 헬프로젝트에 들어가지 않기 위해서는, 좋은 프로젝트를 식별해내는 능력이 매우 중요합니다.

그런데 그런 능력을 쉽게 갖출 수 있을리 없습니다.
그래서 미리 프로젝트에 대한 자신만의 선별 기준을 설정해 둘 필요가 있습니다.
작더라도 자신의 성장에 필요한 프로젝트를 찾아서 내실을 다지는게 좋습니다.

그리고 어디에서 일하든 ‘실력은 배반하지 않는다.’는 것을 잊지 않았으면 합니다.

※ 수정 : 2015.2.11 아래 댓글에서 제 의도가 잘못 읽힌 듯 하여 도입부를 조금 추가했습니다.

※ 연계글 : SI 회사는 가면 안되나요? (요즘IT, 2024.01.10)
※ 추천글

SI 개발자란, (장점, 단점)”에 대한 답글 46개

Add yours

  1. 굉장히 멋있는 글입니다.! 개발자로서 첫직장을 구하는 입장인데, 실력은 배반하지 않는다는 말씀이 큰 울림을 주네요. 읽으면서 궁금한 점이 있습니다. 사람은 환경의 영향을 정말 크게 받는다고 생각합니다. 따라서 어떤 프로젝트를 만나는지, 어떤 팀을 만나는지, 어떤 회사를 입사하는지에 따라서 발전 가능성이 다르다고 생각하는데, 이것들을 결정하는 기준 또는 선구안을 향상시킬 수 있는 방법에 대해 조언을 구하고 싶습니다. 일을 가려서 하겠다는 마인드가 아니라 다양한 선택지가 존재한다면 더 효율적인 선택을 하고 싶기 때문입니다!

    1. 여러가지 필연적인 이유로 신입사원이 첫직장을 딱 맞는데 구하기는 힘들더라구요.
      사업변화가 심해서 2~3년 단위로 이직기회가 오니 자연스레 좋은 직장을 찾아갈거라 믿습니다.
      그리고 정답은 없습니다만, 제 경험을 기반으로 말씀드리면…
      신입사원이라면 개발팀만 10 여명 수준이면서,
      사수라는 분과 6개월 이상 함께 있을 수 있는 곳이면 좋더라고요.
      이건 신입사원이 빠르게 눈팅할 수 있는 주변 개발자분들이 있고,
      주어지는 일의 수준이 견딜만 하다는 듯입니다.
      면접보실 때 이것저것 질문해보시면 감이 오실 듯 합니다.
      참고로 요즘은 SI형 직장도 사수가 케어를 하는 곳이 많아서, 너무 기피할 필요도 없을 것 같습니다.
      불안한 곳도 많지만 요즘은 비교적 괜찮은 곳도 많아져서 기회는 넓어진 것 같습니다.
      더 자세한 건 사람마다 달라서…부족하시더라도 이해를…

  2. 안녕하세요? 글 잘 읽었습니다.
    6년전보다 요즘 개발자에 대한 대우나 인식이 나아졌을 것이라고 생각하는데요.
    작성자분께서는 어떻게 생각하시는지 궁금합니다.

    1. 아직 후배들이 SI업계에 있고 지인들도 많습니다. 저도 그런 프로젝트를 아직도 자주 만나구요.
      노동시장의 관점에서 보는 개발자 인식이나 대우, 근무시간 준수 등은 분명히 개선되었습니다.
      그렇다고 해서 괄목상대할만큼이냐… 하는 건 아닌 것 같습니다. 여전히 회사들 차이가 커서 뭔가 딱부러지게 말씀드리기는 어렵습니다.

  3. 주니어지만 정말 우연치 않게 대형si 프로젝트 하고서 이 글을 확인해보았는데…
    어느하나 틀린말이 없네요.
    저는 c#하다가 웹으로 넘어가서 아무것도 모르고 시작했고 정말 고생한 기억 밖에 없는데 다들 똑같이 느끼고 계신가 봅니다.

    저도 포함이지만 si 프로젝트 소스는 말도 안될 정도의 스파게티 코드들도 난무가 되어 있는것들도 많고 요령으로 때운 코드도 많더라고요.

    퇴사한 사람의 소스코드를 보면 그당시를 생각해보면 어느정도 이해는 갑니다.

    쨋든.. 필요 한건 프로젝트 품질을 올리기 위해선 기간적 문제가 가장 크다 느꼈습니다.
    물론 기업은 기다려주지는 않지만요.

    아무리 개판이어도 문서관리는 꼭 했으면 하는 바램이 있습니다 ㅠㅠ

    1. 선배들이 못난 모습 보여줘서 부끄러울 따름입니다.
      그래도 실력을 갈고 닦으셔서 더욱 빛나시길 기원하겠습니다.

mountain님에게 덧글 달기 응답 취소

WordPress.com 제공.

위로 ↑