평창올림픽 국뽕에 취해 있던 어느 날….
느닷없이 SNS에 공유된 몇몇 지인들의 기사링크를 보면서 든 생각은 “에휴… 또 몇명 죽어 나가겠구나…”였다. 대표적인 2개의 기사를 꼽아 보자면 다음과 같다.
- 「우리은행, 설연휴 금융거래 정상가동… 차세대 시스템 연기」, 한국경제
- 「우리은행 차세대시스템 도입 돌연 연기… 왜?」, ZDNET
이 외에도 엄청나게 많은 기사가 있으나, 사업주 또는 개발자 어느 한쪽의 입장에서 이 거대하고 고착화된 문제의 핵심을 짚기에는 그 골이 너무 깊지 않나 싶다. 또한 IT 3대 막장이니 갑을병정이니 이런 이야기는 너무 고루하지 않나 싶기도 하다.
다 아는 이야기 또 하면 타이핑하는 손가락만 아프다. 길게 다닌 건 아니지만 미쿡 회사 3곳, 일본 회사 1곳 그리고 아주 길게 일한 한국회사를 비춰보면 막연히 짐작하는 수준에서 끝나는 게 아니라 이 문제가 어디서 시작되고 어디서 끝이 나는지 이야기할 수 있지 않을까 싶다.
먼저 트랜드 이야기부터 해보자. 조금 생소하겠지만, 한국도 도입하려는 F-35 스텔스 전투기 개발 이야기이다.
소프트웨어의 크기를 측정하는 여러가지 방법 중에 가장 간단한 방법이 Line of code이다. 아무 생각 없이 코드의 라인 수를 세면 된다. 복잡한 셈법도 필요 없다. 이걸 기준으로 했을 때, 구닥다리 전투기와 최신 F-35의 소프트웨어 규모는 하늘과 땅 차이를 보인다.
여기까지는 최신 전투기이니까 그럴 수도 있다고 치자. 더욱 쉬운 이해를 돕기 위해 전체 요구사항(Requirement, 구체적인 구매조건을 기반으로 ‘인수시험’이라는 단계를 거쳐 요구사항 만족도를 측정한 뒤 최종 구매대금을 지불한다) 중 소프트웨어가 차지하는 비율을 살펴보자.
속도가 어떻게 되고, 몇 인승이고, 미사일은 뭐 달고 등등, 1960년대 F-4 전투기의 전체 요구사항 중 소프트웨어가 차지하는 비율은 8%였다. 1970년대 F-16에서는 이 비율이 45%로 급상승했다. 1980년대 지구최강 전투기라 불리는 F-22는 80%로 다시 2배가량 뛰었다. F-35는 도대체 얼마나 되는지 모른다.
단지 알려진 바로는 작년에도, 올해도, 내년에도 계속 소프트웨어가 추가되고 있다. 다른 산업에서는 알려진 자료가 없지만, 테슬라 자동차와 다른 차량을 비교해봐도 이 트랜드는 별반 다르지 않을 것이다.
소프트웨어의 비중이 점차 커지다 못해 이제는 하드웨어 요구사항을 압도하는 이 현상은 어디서 비롯된 것일까? 근본적인 원인은 하드웨어 성능 개선의 한계 때문이다. 한때 1~2년에 한 번씩 업그레이드하던 CPU는 어느 순간 몇 년째 같은 컴퓨터에 장착되어 있고, SSD를 교체하는 걸로도 충분히 빨리지는 세상이 되었다.
경쟁력이 생존에 필수인 세상에서 차별화는 필수 요소다. 새로운 에너지원과 새로운 활용법을 찾지 못한 사람들의 눈에 띈, 그래서 개선할 영역이 아직 많이 남아 보이는 영역이 소프트웨어인 것이다. 예를 들어 가까운 미래에 만약 UFO와 같은 반중력 엔진이 개발되고, 수동으로 조종해도 모든 전투기를 압살하는 성능을 보유했다면, 비싸고 결과를 예측할 수 없는 소프트웨어는 저렴하고 예측이 가능한 인간 조종사로 대체될 것이다.
이제 다른 나라는 어떤지 돌아보자. 거의 모든 개발자가 꿈에도 그리는 실리콘밸리가 어떻게 돌아갈까? 미국이나 일본은 일명 개발자 지옥인 SI 산업이 없는가? 그곳에서는 어떻게 관리가 되는가?
결론부터 말하자면 SI 산업은 어디에나 존재하며, 한국과 많이 다르지 않다. 야근도 비슷하고, 주말 근무는 일상이고, 소스 관리 안 돼서 박살 나 있는 것도, 상대적으로 저연봉인 것도, 일부 몰지각한 매니저가 완장 차는 것도, 개발자가 수시로 바뀌는 것도 비슷하다(오하이오로 출장 갔던 사장이 3일 만에 머리가 하얗게 세서 돌아온 걸 목격한 적도 있다).
그럼에도 누군가 내게 한국과 미국 둘 중에 한 곳을 선택하라고 한다면, 온갖 구박 다 받으면서도, 말도 잘 안 통해 좌절하면서도, 벌이도 시원찮음에도, 기타 등등 불리한 여러 가지 사유에도 SI회사만큼은 미국이나 일본이다.
기본적으로 미국은 한국처럼 업체 전체 또는 팀을 상주시키는 일을 하지 않는다. 깔끔하게 계약서에 명시된 일을 하고, 시스템을 고치거나 유지보수하는 일에 대해 정당한 대가를 지불한다. 물론 계약서에 명시된 일을 제대로 못 했을 때는 하청 회사를 깔끔하게 탈탈 털어버리고, 근로자의 경우 레퍼런스 체크에서 불이익을 줘 이 바닥에 발을 못 붙이게 한다.
계약직 고용도 미국은 한국과 다르게 자신들의 필요에 의해서 파견(Staffing) 회사에서 인력을 공급받아 자신들이 관리하는 경우나 계약직(Contract)으로 뽑아서 쓰다가 계약 만기하거나정규직(Full-time)으로 전환한다. 기본적으로 회사나 팀 전체를 자신의 회사에 파견하여 수족 부리듯 하는 경우는 없다고 보면 된다.
(계약직은 시간당 얼마씩 받는다. 물론 유급휴가나 건강보험 따위는 없고 일한 만큼 받으며, 오버타임 역시 일한 만큼 받는다. 그러다 보니 잦은 오버타임은 저성과자로 찍히는 지름길이다. 물론 정규직은 각종 혜택을 다 받는다. 단 2016년에 개정된 캘리포니아 주법에 따라 13만 4,000달러 이상의 고액연봉자는 오버타임 수당이 없다.)
일본은 미국과 한국의 중간쯤이다. 단 한국과 다른 점이 있다면 팀 또는 회사가 고객사에 상주하면 교통비, 식비 등 일체의 체류 비용을 다 고객사가 부담하니 비용이 오히려 비싸진다.
그럼 한국은 어떠한가? 결론부터 말하면 받아야 할 비용을 안 받고, 그 비용을 “우리가 남이가?”라는 명목하에 약자에게 전가하는 구조다. 결국 받지 않은 비용은 을, 병, 정으로 이어지는 점점 작은 규모의 회사가, 그리고 거기에 속한 근로자, 프리랜서가 1/n로 부담하게 되는 거다. 그러니 힘들 수밖에…
문제는 여기서 그치지 않는다. 말썽 많은 용역구조는 왜, 무엇 때문에 하는 걸까? 자체 개발 능력을 상실한 ‘전산실’에서 모든 문제가 기인한다. 자체 개발 능력이 있어도 프로젝트 실패에 따른 책임 전가 + 알파 때문에 자체 개발 능력 없음으로 포장하기도 한다.
구체적인 예를 들면, 캘리포니아 교통국(DMV)에서 배포하는 안드로이드, iOS에서 구동되는 앱은 자체 개발팀이 만들어서 배포하는 거다. 다른 앱이나 웹 어플리케이션도 마찬가지다. 자체 개발팀에 필요한 사람을 뽑아서 직접 개발하고 운영한다. 이게 기본 마인드이다. 빠르게 변하는 맛은 없지만, 대신 천천히 올바른 방향으로 변화한다.
민간의 예를 들어보자. 흔히 미국에서 잘 나가는 기업으로 넷플릭스·구글·아마존·페이스북 4대장을 뽑는데, 이 회사들 역시 마찬가지다. 외주 개발보다는 인하우스 즉, 내부 개발을 원칙으로 한다(넷플릭스는 최우수 고과가 아니면 레이오프 대상이다. 대신 다른 회사 연봉 2배를 주고, 철야는 기본으로 하는 걸로 소문나 있다).
이제 한국으로 가보자. 비록 욕 많이 먹지만, 네이버·넥슨·NC Soft·한컴·안랩·TMAX 등 아웃 소싱이 거의 없는 회사가 SI 회사처럼 “대규모 프로젝트가 실패했다”거나 “폐를 잘라 냈다”거나 “1년 356일 월화수목금금금”했다는 이야기 들어본 적이 있는가?
둘 사이는 어찌 보면 종이 한 장의 인식 차이에 불과하다. 한쪽은 이미 소프트웨어를 기반으로 비즈니스를 하는 전형적인 ‘소프트웨어 기업’이고 다른 한쪽은 소프트웨어로 하드웨어를 보조하는, 그래서 소프트웨어는 불필요한 지출이라고 생각하는 ‘하드웨어 기업’이다.
당연히 소프트웨어 기업은 자신들을 위한 소프트웨어를 만들고 그걸 유지, 보수하면서 끊임없이 재개발하는 과정을 거친다. 하지만 하드웨어 기업에서의 소프트웨어 개발자는 단 1번의 프로젝트 후 다시 새로운 프로젝트로 떠나는 삶을 살게 된다. 즉 숙련도와 업무 이해도가 다르다.
매번 새로운 프로젝트에 길들어 낮은 숙련도와 업무 이해도를 가진 인재에게 무엇을 바랄 수 있을까? 느는 건 ‘관리 능력’과 ‘정치 능력’ 뿐.
어떤 사회든 그 구성원의 수준을 초월할 수 없다.
혹자에게는 우리은행 차세대 시스템 사건이 그냥 일상이 되어버린 또 하나의 사건일 수 있지만, 내게는 우리 속에 가득했던 ‘완장’ 문화의 폐단으로 보여 속 깊은 곳에서 아련함이 밀려온다.
가장 큰 문제는 이러한 문제를 문제로 바라보지 않는 사회적 인식에 있다. 회사의 크기가 내 인생의 크기를 결정해버리는 사회에서 어떤 변화를 기대할 수 있을까?
물론 정부의 노력이 없었던 것도 아니다. 이러한 구조를 깨고 계약구조상 약자를 보호하기 위해 하도급법, 공정거래법, 파견근로자 보호법 등 수많은 법령으로 대기업 위주의 SI 업체를 감시·관리하고 있다. 하지만 여전히 M/M(Man month: 월에 몇 명 투입하면 머리 하나당 얼마로 계산하는 규모 추정법) 기반으로 계약을 수주하고 진행하는 현실 앞에서 문제 해결은 요원하기만 하다.
더 심각한 문제는 한국 IT산업 전체가 SI의 나쁜 관행으로 인해 매도되는 현실이다. ‘제니퍼’처럼 가고 싶어도 못 가는 좋은 회사가 한국 IT를 대표해야 함에도 대기업의 위상을 등에 업은, 매출 규모만 코끼리 같은 한국 SI 산업이 한국 IT전체를 대표한다. 그래서 개발자 스스로 자신의 꿈을 접어버리거나, 이공계 기피 현상 등의 부작용을 낳는 게 아닐까?
이 글을 마치며 딱 하나 작은 바람이 있다면 한국 정부, 정치권 주도하에 사회적 혜택을 많이 받을수록 더 많이 대가를 지불하는 ‘징벌적 손해배상’이라는 자본주의의 상식적인 제도를 도입해야 한다는 거다. 비록 낮은 가능성이겠지만 약자가 강자에 대항하는 무기 하나쯤 가지고 있어야, 약자도 화나면 같이 가는 수가 있다는 걸 시스템으로 보증해줘야 한다는 것이다. 그래야 드러운 꼴, 아니꼬운 꼴 안 보고 살 수 있지 않을까?