IT의 중심에서

기술은 사람을 행복하게 할 때 가장 가치가 크다.

SI 개발자란

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

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

병원이나 제조업 등은 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 개발자들은 제품을 만들어 팔기 보다는 ‘프로젝트 수주’가 주력인 삶을 살게 됩니다. 그렇다면 이런 삶은 어떤 것들이 좋고 어떤 것들이 나쁠까요?

1. 좋은 점

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

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

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

큰 프로젝트를 처음부터 끝까지 하게 되면 기술 경험치가 굉장히 많이 늘어나게 됩니다.
그리고 짧은 시간 내에 수많은 조직 갈등과 다양한 사람들의 모습을 경험하게 됩니다. 100억 짜리 프로젝트에 참여하면 100억원 어치의 조직갈등을 볼 수도 있습니다. 그리고 수명이 10년은 줄어드는 것 같은 스트레스도 느끼게 됩니다.

어쨋든 큰 프로젝트를 마치고 나면 왠만한 문제에도 당황하지 않는 침착성을 가지게 됩니다. 이 침착성은 다양한 개발자의 삶을 살아가는데 큰 도움이 됩니다. 절대로 해결할 수 없을 듯한 문제를 해결하는 짜릿한 쾌감들이 있습니다. 이런 중독성 때문에 큰 프로젝트만 찾는 개발자 분들도 적지 않습니다.

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

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

기본적으로 모든 프로젝트가 매번 ‘제로’에서 시작하지만 산업영역을 갈아 타는 건 그 충격이 매우 큽니다. 기술과 업무특성이 달라 기존 경력을 완전히 무시 당하기도 합니다. 빨리 배우지 못하면 살아남기 힘들고 주변으로부터 인정받을 때까지도 시간이 꽤 걸립니다. 이런 환경변화는 꽤 높은 스트레스지만 이겨 내었을때 정신적으로나 기술적으로 느끼는 성취감은 매우 큽니다. 잘 끝내게 되면 엔지니어로서 기술을 바라보는 스펙트럼이 넓어지게 됩니다.

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

안정된 조직에 들어가서 부품으로 일하다보면 4~5년이 넘도록 처음부터 끝까지 일을 해보지 못하는 경우가 적지 않습니다. 반면 SI 개발자들은 대부분 풀타임으로 프로젝트 참여를 하게 되므로 이런 기회가 매우 많습니다.
일을 처음부터 끝까지 해보는 것은 개발자들에게 매우 중요한 경험입니다. 동작하는 제품을 손에 쥔다는 것은 코드를 짜는 것 외에 개발자가 해야 할 일들이 얼마나 많은지 알게 된다는 뜻이기 때문입니다.

문서화, 협업, 검수, 테스트 등은 필수적으로 경험하게 됩니다. 그리고 남은 일을 대신해 줄 후임들이 없기 때문에 맡은 일을 혼자서 다 해내야 합니다. 그래서 굉장한 인내심과 집중력이 길러지게 됩니다. 그리고 매번 깔끔하게 새로 시작하고 딱 맞아 떨어지게 끝내는 것은 굉장히 큰 성취감이 됩니다. 그것 때문에 계속 프로젝트만 하는 분들도 있습니다.

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

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

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

2. 좋지 않은 점

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

SI 프로젝트의 시작과 끝은 ‘고객’과 ‘일정’입니다. 고객만족과 납기일정으로 꽤 많은 것을 포기해야 합니다. SI를 오랫동안 하다보면 여기에 길들여지게 됩니다. 그래서 스스로 일하는 주체의식이 약해집니다.
그래서 베테랑 개발자분들은 소규모 모임에서 주도적인 일들을 함으로써 그런 단점들을 보완합니다.

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

프로젝트 산출물은 고객 비밀보호의 이유로 개인적으로 사용할 수 없습니다. 그리고 프로젝트에서 철수하면 대부분 다시 그곳으로 돌아가지 않습니다. 그래서 개발자들은 견고하게 만들기보다 작동하도록 만드는 것에 집중합니다. 그런데 이렇게 오래 하다보면 견고하게 만들어 본 적이 없게 되어 나중에 자기 제품을 만들 때 어려움을 겪게 됩니다.
그래서 좀 깨어 있는 분들은 작은 개인 프로젝트를 합니다. 어쨋든 작은 것이라도 자기 것을 쌓으려고 노력합니다.

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

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

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

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

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

잘못된 정직원의 성장은 기술 없이 정치만 느는 경우입니다. 빨리 진급 하더라도 어느 순간 한계를 맞게 됩니다. 반면 잘못된 SI 개발자들의 성장은 기술보다 요령만 늘어나는 것입니다. 예를 들면 새로운 기술을 익혀서 유행인 동안 뚜렷한 기술적 성과없이 돈만 보고 여기저기 프로젝트를 옮겨 다니는 것입니다.

이 사람들이 불편한 이유는 끝까지 자기 책임을 못하고 도망가는 경우를 많이 보았기 때문입니다. 신기술 도입을 고려해 만든 아키텍쳐는 엉망이되고 주변 사람들은 수습을 위해 피를 말리며 야근하는 경우를 많이 보았기 때문입니다.

SI 개발자들에게 실력이란 자기가 아는 것을 끝까지 올바로 구현하는 것을 말합니다. 그리고 그것이 올바로 상용환경에서 운영될 수 있게 하는 것을 포함합니다.

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

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

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

만일 자신도 모르는 사이에 이렇게 되었다면 기술을 안정적으로 쌓을 수 있도록 빨리 작은 회사라도 취업하시기를 추천드립니다.

4. 요약

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

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

그만큼 우리나라 시장이 IT 아웃소싱을 통해 성장해온 것은 부인할 수 없습니다. 수많은 거품 속에서 이만큼이라도 만들어진 것은 그 속에서 일하던 개발자들의 땀이 있었기 때문입니다.
SI산업이 개발자들로부터 외면받는 가장 큰 이유는 ‘아웃소싱 생태계의 파괴’ 때문입니다. 기술을 모르고 잡은 짧은 일정, 말도 안되는 예산, 개발자를 마구잡이로 꾸어오는 문화, 머릿 수로 안심하는 관리 방식 등이 여전히 헬프로젝트는 만들어내고 있습니다.

프리랜서나 SI개발자의 길로 들어서게 되었다고 해서 겁낼 필요는 없습니다. 하지만 헬프로젝트에 들어가지 않기 위해서는 좋은 프로젝트를 식별해내는 능력이 매우 중요합니다. 그런데 그런 능력을 쉽게 갖출 수 있을리 없습니다. 그래서 미리 프로젝트에 대한 자신만의 선별 기준을 설정해 둘 필요가 있습니다. 작더라도 자신의 성장에 필요한 프로젝트를 찾아서 내실을 다지는게 좋습니다. 그리고 어디에서 일하든 ‘실력은 배반하지 않는다.’는 것을 잊지 않았으면 합니다.

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

※ 추천글 추가

▲ 페이스북 페이지를 만들었습니다. 좀 더 작고 짧은 이야기들을 많이 올리려고 합니다. 많은 관심 부탁드립니다. : https://www.facebook.com/daddy4house/

Advertisements

SI 개발자란”에 대한 29개의 댓글

  1. mountain
    2016년 11월 29일

    좋은 글 감사합니다.
    진로를 걱정하다가 SI로 마음을 굳힌 초급 개발자입니다.
    2번과 3번에 해당하는 사람이 되지 않도록 노력하겠습니다.

    • subokim
      2016년 11월 29일

      응원하겠습니다. 변화를 두려워하지 말고, 차근차근히 새로운 영역에도 도전했으면 좋겠습니다. 고민이 있을 땐 메일 주세요. 작지만 고민상담 정도는 해줄 수 있지 않을까 싶습니다.

  2. Oo Yowon
    2016년 8월 22일

    저도 잠시 SI로 몸담은 중이지만, 안 좋은 것들이 너무 크게 보여서 마음이 심란합니다.

    3번, 같이 일하고 싶지 않은 개발자… 공감이 많이 됩니다. 단순 업무만 반복하는 개발자가 몰리는 회사가 분명히 있습니다. 그런 회사의 처우는 보나마나 뻔하겠죠. 기술적인 요구를 직원에게 하지 않으니 직원을 뽑는 회사의 눈도 매우 낮고요.

    음…. 제가 현업 개발자들을 통틀어 뭐라 표현할 순 없는 위치지만, 그래도 현업에 계신 분들이 어디가서 “나 개발자입니다”라는 이야기를 하려면 최소한 기초는 갖춰야 한다는 생각이 듭니다.

    자바를 다루는 사람이 JVM이 뭔지 모르고, C++을 다루는 사람이 포인터가 뭔지 모르는 작금의 이 시대가 그리 정상적으로 보이진 않네요. 좀 안타깝습니다. SI의 장점은 분명하나, 공공기관 연구원들이 실적 쌓기 용으로 추진하는 과제나 SI들은 …….

    여러모로 생각이 깊어지네요.

    • subokim
      2016년 8월 22일

      지금의 SI산업은 문제가 너무 깊어서 비난을 통해 해결할 수는 없더라고요. 다만 나라도 잘하자. 그런 생각입니다. 기회가 닿으면 이야기 많이 해주고 가르쳐 줍니다.
      그리고, 제 경험에는 비SI 산업군에도 3번 개발자를 적지않게 만나게 되더군요. 둘 다 직접 고생을 한 적이 있어서 꼭 적고 싶었습니다. 마음 속으로 다시는 안 만났으면 하면서 빨간줄을 긋게 되었습니다.

답글 남기기

아래 항목을 채우거나 오른쪽 아이콘 중 하나를 클릭하여 로그 인 하세요:

WordPress.com 로고

WordPress.com의 계정을 사용하여 댓글을 남깁니다. 로그아웃 / 변경 )

Twitter 사진

Twitter의 계정을 사용하여 댓글을 남깁니다. 로그아웃 / 변경 )

Facebook 사진

Facebook의 계정을 사용하여 댓글을 남깁니다. 로그아웃 / 변경 )

Google+ photo

Google+의 계정을 사용하여 댓글을 남깁니다. 로그아웃 / 변경 )

%s에 연결하는 중

정보

이 엔트리는 2015년 1월 22일에 님이 개발자의 삶에 게시하였으며 , , 태그가 지정되었습니다.

내비게이션

%d 블로거가 이것을 좋아합니다: