삼성전자의 소프트웨어 개발자 역량

[임백준 칼럼]반가운 자기성찰과 두 가지 제언

전문가 칼럼입력 :2016/06/22 09:42    수정: 2016/06/23 14:12

임백준 baekjun.lim@gmail.com

삼성전자의 자기비판이 화제다. 사내방송에서 삼성전자 개발자들의 SW 역량을 짚어보는 다큐멘터리를 보여주었다고 한다. 삼성전자같은 헤비급 선수가 자기성찰을 한다는 소식은 반갑다. 사실 국내 대기업의 지나친 하드웨어 우선주의는 비밀이 아니다. 눈에 보이는 하드웨어에 집착하기 때문에 소프트웨어는 하드웨어의 부속물로 간주한다. 그런 환경에서 개발자의 역량이 퇴보하는 것은 이상한 일이 아니다.

삼성전자의 사내방송은 소프트웨어를 비즈니스의 중심 영역으로 끌어올리지 않으면 글로벌 시장에서 경쟁력을 갖출 수 없고, 살아남을 수도 없다는 현실을 인식한 반증으로 보인다. 그런 면에서 후한 점수를 주고 싶다. 문제의 방향을 제대로 짚었다. 다음으로 고민할 부분은 하락세를 면치 못하고 있는 소프트웨어 역량을 반등시키는 방법이다. 그게 중요하다. 많은 이야기가 가능하겠지만 여기에서는 두 가지를 말하고 싶다. 문화와 개방이다.

언론에 보도된 자아성찰의 내용을 보면 이런 이야기가 나온다.

"구글에서 필수적으로 보는 문제해결(problem solving) 능력을 우리의 역량 테스트 등급에 대입해보면 최소 프로페셔널 이상의 수준일 것으로 추정된다. 이는 실제 우리 인력 중 상위 6%에 해당한다"

그리고 이런 이야기도 있다.

"삼성전자 SW 엔지니어는 문제해결 능력에 대한 훈련을 많이 한 것 같지 않다. 지금 당장 문제해결 평가 방식으로 구글 입사를 시도 한다면 1~2%만 제외하고는 어렵지 않을까 생각한다."

삼성 내부에서 나온 이야기니까 정확할 거라고 본다. 입사과정에서 꼼꼼하게 코딩테스트를 실시하는 것은 구글만이 아니라 미국 회사 대부분이 따르는 일반적인 관행이다. 문제풀이의 수준도 다양하다. 예를 들어서 팔란티어(Palantir) 같은 작은 회사에서 실시하는 코딩테스트 수준은 구글의 그것보다 어려운 것으로 소문이 나 있다. 그런 회사가 드물지 않다. 골드만삭스나 모건스탠리 같은 금융권의 IT 부서도 수준높은 코딩테스트를 통과하지 않으면 입사하기 어렵다.

그렇게 힘든 과정을 거쳐 입사한 직원에게 매니저는 이렇게 말한다.

"You should earn credits from your peers. It's not me. 동료들에게 신뢰를 받도록 하세요. 내가 어떻게 생각하는가보다 그게 더 중요합니다."

여기에서 신뢰는 물론 코딩실력에 대한 신뢰다. 목적을 공유하는 개발자들이 동일한 코드베이스에서 작업을 하면 서로의 실력을 금방 투명하게 파악한다. 한 달도 걸리지 않는다. 숨거나 달아날 공간이 없다. 시험공부하듯 알고리즘 문제를 열심히 풀어서 코딩테스트를 통과해도, 입사 후에 겪는 "동료들의 시선"이라는 테스트는 진짜 실력이 없으면 통과할 수 없다. 코딩테스트는 스파링에 불과하며 이게 진검승부다.

축구를 보면 프로 선수끼리도 어떤 선수에게는 패스를 잘 하지 않고, 팀의 에이스에게는 열심히 패스를 한다. 이건 선수 사이에 존재하는 개인적인 감정 때문이 아니다. 프로 선수는 팀의 승리라는 공통의 목표를 위해서 뛰기 때문에 누구에게 패스를 하는 것이 목적달성에 유리한지를 무의식적으로 판단한다. 에이스에게 패스가 쏠리는 것은 그런 판단의 결과다.

팀이 스스로 에이스를 식별하고, 기술적인 탁월함(technical excellence)을 중심으로 움직이며, 인사고과자와의 관계가 아니라 철저하게 코드의 품질과 생산성에 의해서 평가받는 문화. 소프트웨어 역량을 강화하려면 그런 문화를 만드는 것이 핵심이다. 그런 문화에서는 기술적으로 역량이 부족한 사람이 운좋게 코딩테스트를 통과해도 제스처를 취하기 어렵다. 숨을 공간이 없기 때문에 자기 역량에 맞는 역할을 찾을 수밖에 없고, 팀은 그런 사람을 도울 수 있다.

중앙집중적인 방식으로 치르는 시험은 이런 문화에 역행한다. 개발자들이 시험공부에 집중하기 때문에 '동료들의 시선'이라는 그물망이 찢어진다. 팀이 스스로 판단하고 기술적 역량을 중심으로 움직이는 문화가 생기지 않는다. 시험을 강조하면 대한민국 최고 삼성의 프로페셔널 개발자 수준이 구글 같은 회사에 입사하기 위해서 알고리즘 문제풀이에 집중하는 미국 대학생 수준으로 전락한다. 개발자 특유의 창의성이나 발랄함도 발디딜 공간이 없다. 그래서 시험이 아니라 문화다. 문화가 핵심이라는 점을 기억해야 한다.

문화에 못지않게 중요한 것은 개방이다. 문화가 내부를 향한 혁신이라면 개방은 외부를 향한 혁신이다. 얼마 전에 팟캐스트 방송에 LG전자 개발자 두 명이 게스트로 초대되었다. 함께 대화를 나누는 과정에서 LG라는 대기업과 대기업 바깥 세상 사이에 보이지 않는 벽이 존재하는 것을 느꼈다. 삼성전자도 마찬가지일 것이다. 국내 대기업은 자급자족이 가능하기 때문인지 모든 문제를 내부에서 해결하려고 한다. 소프트웨어 개발과 관련된 라이브러리나 프레임워크도 자체적으로 만들어서 사용하고, 외부와 담을 쌓는다.

그러다보니 대기업 바깥에서는 담장 안에서 일어나는 일을 모르고, 대기업 내부에서는 외부의 일에 관심을 두지 않는다. 소프트웨어 개발 생태계의 갈라파고스화가 진행된다. 대기업은 아이디어, 창의력, 생명력 같은 샘물이 고갈되고, 대기업 바깥에서는 음식이 부족해서 굶어죽는 사람이 생겨난다. 서로 이기는 윈윈이 아니라 다 같이 공멸하는 루즈-루즈의 상황이다.

삼성전자와 같은 대기업은 내부에서 개발해서 사용하고 있는 소프트웨어를 전폭적으로 공개하고, 내부의 소프트웨어 개발자들을 외부 행사에 적극 참여시키고, 개발자들의 행사를 전면적으로 지원해야 한다. 더 나아가서 중소기업이나 스타트업의 생태계를 비옥하게 만드는 것이 장기적으로 삼성의 이익에 도움이 된다는 점을 인식하고, 그들을 돕는 방법을 강구해야 한다. 단기적인 이익을 추구하여 자기 발 밑의 땅을 파는 우를 범하지 말아야 한다.

관련기사

삼성바깥에 있는 실력자들이 흔쾌히 삼성전자에 입사하고, 삼성에 있는 훌륭한 개발자들이 즐거운 마음으로 중소기업이나 스타트업 회사에 발을 들여놓는 생태계가 구성될 때, 비로소 삼성전자 소프트웨어 개발자 역량이 구글 개발자의 역량과 비교될 수 있는 기본 토대가 마련된다. 구글 개발자들의 역량은 구글이 키운게 아니다. 구글은 실리콘밸리로 대표되는 미국 전체 소프트웨어 개발자 역량의 거울일 뿐이다. 그렇기 때문에 삼성전자가 국내 개발자 생태계 일반의 상황을 무시하고 홀로 개발자 역량을 키우겠다는 것은 말이 성립하지 않는다. 함께 가지 않으면 불가능한 일이다.

삼성전자에 다니는 개발자들이 알고리즘 문제풀이집 10권을 열심히 공부해서 구글 코딩인터뷰 문제를 척척 풀어낸다고 하자. 팔란티어 문제도 다 풀어낸다. 그래서 뭐? 문화와 개방으로 표상되는 진짜 혁신이 없으면 그런 문제 좀 푼다고 해서 달라질 것이 정말이지, 아무 것도 없다.

*본 칼럼 내용은 본지 편집방향과 다를 수 있습니다.