프로그래머로 취업 하고자 하는 후배들에게..
이 글은 대한민국에서 SW 개발자로 취업을 할 때 어떤 회사를 선택해야 하는 지에 대한 필자의 개인적인 의견을 공유하는 글이다. 이 글은 아래의 글로부터 이어진다. 아직 읽기 전이라면 내용이 이어지니 읽어 보기 바란다.
앞 글에서 SW 개발자로 취업을 하기 위해 다양한 형태의 회사들이 존재하고 있고, 한국에서는 SI 업이 큰 영역을 차지하고 있으며, 계약 관계에 따른 하도급 형태의 회사들의 계층 구조를 이루고 있다고 언급하였다. 그리고 SI와는 상관없는 스타트업 회사나 패키지 솔루션 회사, 자체 소프트웨어를 개발하는 회사들이 있다고도 하였다. 그럼 이렇게도 많은 회사들은 어떤 특징들을 가지고 있을 까? 무조건 대기업이고 돈을 많이 준다고 해서 좋은 회사 일까?
물론, 그렇지 않다. 필자는 스타트업을 제외한 대부분의 회사에서 근무를 하였거나, 해당 회사 SW 개발자들과 오랫동안 일을 해 왔다. 개인적으로 느낀 경험들을 공유하고자 하오니, 회사 선택 시 참고가 되었으면 한다. 물론, 필자가 모든 회사를 다 아는 것은 아니니 다소 잘 못 된 시각이 있을 수 있다. 이런 경우는 지체하지 말고 댓글로 의견 주면 반영하도록 하겠다.
그럼 시작해 보자.
대기업부터 살펴보자. 대기업은 대한민국 국민이라면 누구나 알고 있는 이름을 가지고 있는 여러 계열사를 보유한 회사들을 일컫는다. 삼성, LG, SK, 두산 등을 예를 들 수 있겠다. 이런 대기업에서도 SW 개발자가 선택해야 할 회사는 크게 2가지 종류로 나눠진다. 고객이냐, 고객이 아니냐이다. 이는 다시 말해서 갑이냐, 갑이 아닌 을이냐라는 뜻이며, 후자는 앞 글에서 언급했던 대표적인 SI 업체들을 얘기한다. (물론, 갑 들도 고객이 있다. 대부분 회사가 아닌 일반인이다.)
갑 회사들을 예를 들어보자. 삼성 같은 경우는 삼성전자, 삼성생명, 제일모직, 에버랜드와 같은 회사들일 것이다. 이름만 들어도 알 수 있듯이 이 회사들은 소프트웨어가 중요 하지만 메인 비즈니스는 아니다. 대부분 회사에서 팔고 있는 제품이나 서비스가 존재하며 소프트웨어가 이를 뒷받침하고 있다. 이런 회사들은 소프트웨어 개발을 직접 하거나 SI 형태로 협력업체를 통해 개발을 하는데, 자기 회사에 차별성을 가져갈 수 있는 핵심적인 소프트웨어가 아닌 이상 직접 개발하지 않고 대부분 하도급을 주게 되어 있다. (왜냐하면, 직접 개발하는 것 보다 외주 용역을 활용하는 것이 인건비가 저렴하기 때문이다.)
직접 개발하는 소프트웨어는 어떤 것이 있을 까? 가령, 모 전자회사에서 스마트폰을 생산하여 판매하는 일을 한 다고 해보자. 이 스마트폰을 만들기 위한 펌 웨어나 운영 체제, 핵심적인 앱들은 직접 개발할 것이다. 이 스마트폰을 생산 공장에서 조립을 한 다음에 잘 조립되었는 확인을 하기 위한 SW는 직접 개발한다. 또한, 본인들이 만드는 전자 제품에 탑재되는 내장형 (Embedded) SW 들도 대부분 직접 개발한다.
하도급을 주는 형태의 시스템은 어떤 것이 있을까? 앞서 얘기한 생산 공장으로 돌아가 보자. 조립이 완료된 스마트폰은 검사가 완료되어 데이터가 쌓인다. 이렇게 생긴 검사 데이터는 제조 실행 시스템에 전송이 되어 제품이 포장이 된 뒤 트럭에 상차 될 때 검사 유무 및 불량 유무를 판단하는 과정이 있다. 이때, 검사 데이터가 없거나 실수로 불량 제품이라는 데이터를 확인하게 되면 해당 제품은 트럭에 실을 수가 없다. 다시, 제조 라인으로 돌아가 검사 및 보수작업을 거쳐야 한다. 지금 필자가 언급한 프로세스는 실은 공장에 특화되었기 보다는 어느 공장에서 볼 수 있는 흔한 환경이다. 그리고 규모도 크다. 이런 공장이 전 세계 수십 개가 존재하며, 여기서 발생하는 모든 데이터는 본사로 전송이 되어야 한다. 이런 시스템은 갑 회사에서 직접 개발할 수 가 없다. 기술력도 부족할뿐더러 인력도 부족하다. 이런 시스템은 계열사 중 SI 업체가 대부분 수행하게 되어 있다. 하도급을 주는 형태의 시스템은 위처럼 복잡한 것도 있지만, 굉장히 단순한 것들도 많다. 가령, 사내 포털 사이트 구축을 한다던지, 아주 작은 소규모 성 프로젝트들도 하도급 대상이다.
이런 소위 말하는 갑 회사의 장점 및 단점은 어떤 것이 있을까?
장점부터 살펴보자. 안타깝게도 대한민국은 아직도 SW를 중요하게 생각하지 않는 경향이 강하다. 그렇다 보니 평균 연봉이 다른 업종에 비해 다소 낮게 책정되어 있다. 이는 SW 개발자에게 최대의 대우를 해주는 미국과 같은 나라와 극히 대비되는 모습이다. 그렇다 보니 이러한 갑 회사들은 SW가 메인인 회사들에 비해서 상대적으로 높은 연봉을 지급한다. 필자도 국내의 제일 큰 SI 업체에 입사하였건만 그 다음 해에 은행에 입사한 동생보다 연봉이 낮아서 서운한 적이 있었다. 그리고 일을 수행하는 데 있어 주도적일 수 밖에 없다. 어찌되었든 간에 SI 프로젝트를 하면 가장 상위에 있는 고객이다 보니 직급이 낮더라도 협력 업체들을 부릴 수 밖에 없는 (?) 위치에 놓이게 되고, 소위 말하는 갑질을 하는 위치에 놓인다. (이걸 좋다고 표현하기는 힘들지만, 당하는 것 보다는 나은 듯 싶다.) 예산에 대한 오너십이 있기 때문에 본인이 원하는 SW를 개발 하기 위한 기본적인 칼자루를 쥘 수 있다. 내가 원하고 개발할 마땅한 이유가 있다면 프로젝트를 직접 만들어서 수행이 가능하다.
단점은 어떤 것이 있을 까? 일단, SW개발과는 다소 거리가 있는 일을 많이 할 수 밖에 없다. 대부분이 문서 작업일 것이다. SW제품에 대한 기획 및 예산을 확보하기 위한 제안을 수시로 해야 한다. 새로운 비즈니스 개발(Business Development)을 하고, 해당 비즈니스에 대해 명확하게 이해하여 요구사항을 만들어내는 주체가 되어야 한다. 그리고 이건 속한 부서마다 편차가 클 것이라 생각 되지만, 고급스럽고 난이도가 높은 SW개발을 하는 곳을 찾기 쉽지 않을 것이라 생각된다. 만약, 프로젝트에 투입된 사람이라면, 개발은 그(녀)의 몫이 아니다. 주로 제품의 백로그(요구사항)를 작성하고 잘 개발이 되었는지 고객 입장에서의 테스트 및 피드백, 그리고 일정 및 리스크 관리 등에 신경 써야 할 것이다. 간혹, SW개발이 아닌 마치 전산실과 같이 컴퓨터나 네트워크와 같은 인프라에 문제가 생기면 도와주거나 잡일들을 도맡아 하는 경우도 있다. 이는 SW개발자 입장에서는 반드시 피해야 하는 곳이다.
앞서 얘기 했던 계열사 SI 업체 쪽을 살펴 보자. 대기업 중 고객이 아닌 쪽을 말한다. 여기서 말하는 SI 업체들을 나열 하자면, 빅 3로 불리는 삼성SDS, LG CNS, SK C&C 를 시작으로, 현대오토에버시스템즈, 롯데정보통신, 쌍용정보통신, 아시아나IDT, 농협정보시스템, 신한데이터시스템 등이 있겠다. 아마 일반인이고 관심이 없는 사람이라면, 대기업 그룹명은 익숙하지만 회사명은 다소 낯선 회사들이 대부분일 것이다. 이런 회사들은 대부분 소속 그룹의 계열사들의 시스템을 책임진다. 실은 여기서도 영역이 크게 2 가지로 나눠지는데, SI (System Integration)과 SM (System Maintenance)가 바로 그것이다.
SI는 없는 시스템을 만드는 과정이다. 있는 시스템을 새롭게 전환하기도 한다. 본인 성향이 한 곳에 정착하기 보다는 여러 곳을 돌아다니며 여러 사람들과 일 하고 다양한 기술을 접하는 것을 선호한다면 이 곳이 적성에 맞을 것이다. 필자도 한 상사를 10년동안 한 장소에서 모실 자신이 없는 성격이다. 해서, 이 곳에서 사원, 대리 시절을 보내왔다. SM은 있는 시스템을 장애 없이 잘 운영될 수 있도록 유지보수를 하는 조직이다. 간혹, SW는 개발 비용 보다 유지보수 비용이 더 적게 드는 걸로 오해 할 수 있는 데 절대 그렇지 않다. 개발하는 것 보다 유지보수 비용이 더 들게 마련이고, 개발 부서와 유지보수 부서와의 갭으로 인한 시스템 장애도 아주 흔하다. 여기서 말하는 대형 SI업체들도 SI 보다는 SM 쪽에서 돈을 훨씬 많이 번다. 이 것을 계열사 의존도라고도 한다. 보통 70%를 선회하며, 거의 100%가 되는 회사들도 있다. 만약, 여러분이 한 곳에서 안정적으로 꾸준히 동일한 기술과 사람들과 일하는 것을 선호한다면, 이 곳이 더 적합 할 수 있다.
보통 이런 회사들은 채용 할 때 SI와 SM을 구분하지 않으니, 들어가서 부서 배치 받을 때 선호하는 쪽으로 가면 된다. 이는 대형 SI업체만의 장점이라 할 수 있다. SW개발 및 유지보수에 있어 무척이나 다양한 일을 하고 있고, 많은 일을 배울 수 있으며, 원하면 원하는 일을 찾아서 수행 할 수 있는 가능성이 높다. 계열사도 다양하다 보니, 다양한 비즈니스를 경험 할 수 있다. SW개발자에게 제공되는 폭 넓은 SW교육도 큰 장점일 수 있다. 아직 SW개발이 익숙하지 않은 초보 개발자에게는 더할 나위 없이 좋은 기회를 제공 받을 수 있다.
하지만, 이러한 업체들도 단점들은 존재한다. 가장 큰 부분은 항상 '을'의 입장이라는 것이다. 이 부분이 경험하지 못 한 사람에게는 언뜻 와닫지 않으며, 실은 해외에서는 거의 존재하지 않는 부분이다. 대부분의 일이 '갑'회사 위주로 돌아간다. 본인에게 뛰어난 아이디어와 수행 할 능력이 있다 손 치더라도, 고객을 설득시키지 못 하면 수행하지 못 한다. 심지어는 고객에게 더 적은 비용으로 더 성능이 좋은 시스템을 제안 하더라도, 여러가지 이해 관계에 얽혀 씹히는 경우가 허다하다. (필자는 실은 이런 경험으로 SI 현장을 떠나게 되었다.) 고객은 SI 업체의 도움 없이는 일을 수행하지 못 하는 지경까지 이르지만, 항상 그들보다 현장에 오래 남아있고, 눈치도 보인다. (퇴근이 늦다는 뜻이다.) 연봉도 갑들에 비하면 상대적으로 적다. 고객과 용역을 준 협력 업체의 중간 위치에서 전체 프로젝트를 책임지는 역할을 해야 하며, 책임도 많고 일도 직접해야 하면서 협력 업체 개발자들을 끌고 가야 한다. 쉽지 않은 위치이다. 그리고 다양한 비즈니스 영역을 경험 할 수는 있으나 깊이 이해하기에는 한계가 많다. 그리고 개발자들이 비즈니스를 이해하는 것을 별로 원하지도 않는다. 기술만 하고 싶어하는 경향이 있다. 이 부분은 정말 좋지 않은 면이라고 볼 수 있다. 비즈니스 없는 SW는 세상에 존재하지 않는다. 그리고 이들은 계열사의 비즈니스의 SW영역을 책임져야 하는 이들이다. 아이러니 한 딜레마에 수 없이 부딪친다.
대기업 중에 다루지 않은 회사들이 있다. 직접 개발한 SW로 다양한 서비스를 제공하고 있는 SW전문 업체들이다. 대한민국의 검색 포탈의 절대강자 네이버, 다음을 삼킨 카카오, T맵, T스토어, 11번가 등의 제품을 책임지고 있는 SK플래닛, 근래에 SW쪽에 투자를 많이 하고 있는 쇼핑의 강자 GS숍 등이 있겠다. 이런 업체들은 벤처로 시작해서 어느새 큰 공룡으로 컸거나, 대기업 계열사지만 SI업체라고는 볼 수 없는 회사들을 필자의 기준으로 선택한 회사들이다. 참고로 네이버나 카카오는 법적으로 대기업으로 분류하기 어렵다고 하나, 경우에 따라서는 분류가 되기도 한다. 어찌되었건 국내에서 가장 많은 SW 전문 인력들이 근무하고 있는 것은 사실이다.
필자는 이런 업체들에서 근무해본 경험이 없어서 자세히 설명하지는 못 할 듯 하다. 하지만 확실한건 앞 서 살펴본 대기업의 2개 유형의 장점들이 합쳐져 있다고 볼 수 있겠다. 네이버를 한번 보자. 네이버는 삼성SDS에서 검색 엔진을 만들기 위해서 시작한 이글 프로젝트가 90년대 말에 벤처화가 되어 분사하여 만들어진 회사이다. 그 뒤에 한게임과 합치면서 국내 제 1의 대표적인 회사로 거듭났다. 그 당시 검색과 게임의 합병은 멋진 조화가 되었다. SW기술력은 어느 회사보다도 뛰어나며 대기업에서 분사 할 때 대기업이 가지고 있던 장점만 가져오고 단점들(수직적 조직, 딱딱하고 비효율적인 업무 프로세스 등)을 제거하느라고 노력하였다. 다른 회사들도 살펴 보면, 대기업임에도 불구하고 다른 대기업들에 비해 굉장히 수평적인 문화를 유지하고 있다. 그리고 SW개발자들만을 위한 다양한 이벤트나 존중해주고 배려하는 모습을 쉽게 찾아 볼 수 있다.
이런 회사들의 단점은 무엇일까? 아무래도 대한민국에서 가장 기술력이 높은 사람들이 모여 있는 곳이다 보니 기술적인 경쟁력이 부족하거나, 새로운 기술을 배우는 것에 거부감이 있는 사람이라면 적합하지 않은 선택이 될 수 있다. 그리고 대부분 B2C를 하는 회사들이다. 이는 SW제품의 End User가 바로 일반인이라는 뜻이며, 일반인의 반응에 민감하게 반응해야만 한다. SW 장애에 대해서도 그리 관대하지 않다. 지금 당장 여러분이 카톡을 사용하지 못 하게 된다고 가정 해 보자. 무슨 일이 벌어질까? 이런 부분에 다소 자유롭지 못 한 것이 필자가 보기엔 단점으로 보인다. SW 제품에 대한 라이프사이클이 상당히 짧고, 이로 인해 제품 로드맵에 대한 부담감이 은근히 스트레스가 되지 않을 까 싶다. 매출도 사용자의 반응에 따라 심하게 유동적일 것이다. 그리고 기업이 점점 커지면서 없애려고 하였던 대기업의 단점들이 슬금 슬금 올라오고 있다는 의견도 있다.
지금까지 대기업 들을 살펴 보았다. 다음 글에서는 이러한 전형적인 대기업을 제외한 나머지 회사들을 살펴 보자.
다음 글 : https://brunch.co.kr/@insuk/3