왜 한국은 항상 2류일까?

오래전에 가끔 들어가는 한국 IT 관련 커뮤니티에서 “왜 한국 개발자들이 만들어낸 결과물이 미쿡 애들이 만들어 낸 결과물보다 안 좋으냐?”는 질문이 나왔고, 그에 대해서 수십개의 댓글이 달리는 걸 봤었다. 그 때는 연구에 치여서 길게 못 읽어봤고, 몇 마디 경험담을 읊고 지나간게 전부였는데, 요즘에 한국에서 개발자들 면접보고 IT 업계 돌아가는 방향을 보니까 솔직히 말해서 왜 그런 질문이 나왔는지, 그리고 왜 결과물이 더 안 좋은지가 눈에 보인다. 그리고 같은 스토리가 데이터 사이언스 필드에서 그대로 반복이 되고 있는 것도 눈에 보여서 혼자만의 생각을 좀 정리해보고 싶었다.

우선 경험담 몇 가지를 정리해보자.

1. 비 IT – Deutsche Bank 에서 iBanker 하던 시절

제일 기억에 남는건 우리팀 MD (10년차 이상, 한국팀 대표지만 사실 대기업 부장급)랑 VP (7년차 이상, 이사?라고 불리지만 차장급)가 소위 말하는 “영어만 잘하는” 아이뱅커였다는거다. Finance 101으라고 할 수 있는 재무관리 수업에서 제일 중요하게 배우는 내용이 Miller-Modigliani (MM) 이론이라고, 주식 or 채권 어떤 조합으로 파이낸싱을 하건 상관없이 회사의 가치는 운영에서 나오는 현금 흐름과 프로젝트들이 노출된 위험의 가치로 결정이 된다는 이론이다. MD, VP뿐만 아니라 그 밑에 MBA 다녀온 Associate 분도 이 개념을 이해 못해서 자사주 매입을 하면 회사 가치가 올라간다고 생각했었다. 심지어 N사의 증권 게시판을 가보면 자사주 매입한 회사의 기업 가치가 올라가서 계산이 되어 있(었)다. 실제로는 발행된 주식을 되사들였으니 외부 공개된 주식 숫자가 줄어서 주식 가격이 올라야 방정식의 등호가 성립하기 때문이라는 걸 이해 못 하는 사람들이었다.

저렇게 만들어라는 압박에 꾹 참고 자료를 만들어서 고객사에 들고가면 또 고객들은 그게 맞다고 철썩같이 믿고 간다. 오히려 그렇게 안 가져가면 화를 낸다. 대학에서 경영학과 졸업장 타이틀만 받았지 실제로 재무관리 수업은 아마 “야매”로 학점을 땄나보다. 당연하겠지만 저런 자료를 다른 나라 팀이랑 공유하면 폭풍 비웃음을 당한다. “Fxxxed up”이라는 표현을 노골적으로 들을 때도 있었고, 니네 나라 왜 그러냐고 놀림들은 일도 많았다. 그 자료를 다른 나라 팀이랑 공유할 때는 내가 이걸 알고 있는데, 이상하게 우리나라 시장이 이렇게 돌아가서 이렇게 만들었음이라고 따로 언급을 해주거나, 아니면 짜증나서 영문 버젼은 아예 다르게 만들기도 했었다.

사람들이 학문적으로 잘 훈련이 안 된 부분은 둘째 문제고, 뭔가 일하면서 대충 배운걸로 버틸 수 있다고 생각하는 사람들이 너무 많았다. 한번은 런던 팀에서 에너지 산업에 대한 굉장히 고급스러운 스터디를 한 걸 공유한 적이 있었는데, 그 모델을 똑같이 만들어서 한국에도 적용시켜보라고 VP 분이 퇴근길에 던지시더라. 정말 밤을 꼴딱새서도 그 내용을 제대로 이해하질 못해서 결국은 “가라”로 자료를 만들었던 적이 있다. 성격상 그걸 그냥 넘어갈 수가 없어서 나중에 런던 팀에 담당자랑 이야기할 때 이것저것 물어봤더니 그 친구는 어디서 배웠는지 계량경제학을 제대로 이용해서 그 모델을 만들었더라. 그리고 런던 오피스 안에 그런 모델 만들 수 있는 사람들이 하나 둘이 아니라 여럿 있었다.

시장 수준이 낮으면 사실 일하면서도 충분히 배울 수 있다. 특별히 복잡한 수학이나 통계학이 들어가질 않으니, 누군가에게 이야기를 듣고, 혼자서 앉아서 가만히 생각해보면 열에 아홉은 그 도리를 깨칠 수 있다. 옛 말에 “독서백편의자현(讀書百遍義自見)”이라고 하던데, 백번 읽으면 그 의미를 알 수 있다는 말이 여기에 잘 적용되는 것 같다. 다만 백번 읽어서 이해하려면 그 시절에는 한자가 무슨 뜻인지를 알아야했고, 뱅킹시절에는 (최소한) 학부 재무관리 수준의 지식은 있어야했다. 그걸 모르고 남들이 만든 자료에 자신의 상식을 결합한 수준으로 직장 생활을 하고 있으니 일하면서 배운다는게 고만고만한 내용밖에 안 되는 것이다.

2. 비 IT – 증권사 Research 팀에 있던 친구의 도전

런던가서 손에 굳은 살이 배길만큼 공부에 몰두하던 시절, 국내의 모 유명 증권사 리서치 팀에 있는 매우 가까운 친구 하나의 전화를 받았다. 모교의 어느 교수님이 우리 나라 산업별로 생산성 분석을 하신게 있는데, 이 자료를 어떻게 만드는지 설명해줄 수 있냐고 묻더라. 거시경제학에서 Productivity를 분석할 때 가장 많이 활용하는 방법은, 전체 생산 (보통 GDP 활용) 증가분 중에서 노동과 자본으로 설명할 수 없는 나머지 잔차 (Residual)을 생산성이라고 보는 경우가 많다. 그 교수님 논문에 몇 가지 특이한 사항이 있기는 했지만 어찌됐건 계량경제학을 적용하는 방법은 굉장히 유사한데, 그 팀의 어느 누구도 그 연구를 복제해낼 수가 없었다.

복제해낼 수 없고, 또 그 자료를 써야한다면 외주 프로젝트를 만들어서 그 교수님께 지적인 노동에 대한 비용을 지불해야할텐데, 내 기억에 따르면 그 친구는 같은 방법을 포기하고 쉽게 덧셈, 뺄셈을 하는 대안을 택했다. 아마도 증권사에서 나오는 자료를 읽을 기관 투자자들 중에 저런 Productivity analysis를 이해할 수 있는 사람도 극소수였을 것이다.

저런 내용은 백번 읽는다고 해결되는 문제가 아니라, 따로 수학과 통계학을 공부해야 이해하고 유사한 스터디를 할 수 있다.

3. 개발자 면접을 보면서

필자의 사업에 요즘 가장 큰 화두는 데이터 베이스 관리 및 연동이다. 하나는 데이터 베이스를 회사의 데이터 작업 시스템과 연동시켜서 필자의 단순한 아이디어도 테스트해보고, 때때로 간단히 장난감 만지듯이 테스트도 해 본다. 다른 하나는 RTB (Real-Time-Bidding)이라고 해서, 광고 지면을 파는 회사에서 받은 AD ID와 내 데이터 베이스에 저장되어 있는 AD ID를 매칭시켜, 내가 갖고 있는 데이터를 바탕으로 그 광고 지면을 살지말지를 70ms 안에 자동으로 결정하는 시스템이다. 앞 부분이 더 간단해 보이고, 뒷 부분은 온라인 광고 시장에서 짬이 좀 있는 사람이 아니면 잘 이해를 못할 내용이라고 생각하고, 실제로도 후자쪽이 공부해야하는 자료가 굉장히 많다. 전자는 (약간 과장법을 쓰면 ) 시간낭비에 가까울만큼 순수하게 코딩으로 시간을 쏟아붓는 일이라면, 후자는 데이터 베이스 연동에 대해서 이론적인 지식이 좀 뒷받침이 되어야하기 때문이다.

개발자 면접을 보던 중에, 이 회사에서는 어떤 일을 하냐고 묻길래 RTB에 관련된 오픈소스 API를 하나 보여줬다. 모델이 작동하는 방식을 간단하게 설명하고, 데이터 베이스를 어떻게 만들어야 쉽게 연동을 시킬 수 있는지 내 아이디어를 설명하고, 면접자의 이해&의견을 구해봤다. 예상대로 표정이 @.@ 상태더라. 좀 모르겠다가 아니라, 아예 모르겠다는 뜻이다. 차라리 아는체 하면서 나한테 자꾸 찔러보기하는 악당들보다 낫다는 생각에 관련된 자료들을 더 보내주면 스터디해서 올 수 있겠냐, 그래서 내가 만드는 걸 옆에서 도와줄 수 있냐고 물어봤다.

예상했던대로 그 다음부터 전화를 안 받더라. 그런데 저런 경우를 벌써 한 손으로 못 헤아릴만큼 겪었다.

그 중 두 명이 가까운 지인을 통해서 만났던 분들이라 뒷 이야기를 좀 들었는데, 자기들은 그렇게 수식이 복잡하게 들어간 거를 만들어 본 적이 없단다. 데이터를 이용해서 광고에 적용하는 사업이라고 들었는데, 정작 하는 일은 “이상한” 수학 쓰는 일이더라면서, 자기가 잘못 알고 찾아갔던 것 같단다. 스타트업에 관심을 갖고 면접을 보는 분들이면 뭔가 도전적이고 진취적인 분들일 줄 알았는데, 필자가 근본적으로 잘못된 기대를 갖고 있었던 거다. 비단 그 두 분 뿐만 아니라, 우리나라에서 대부분의 개발자들이 수학으로 문제에 접근하는 훈련이 전혀 안 되어 있다는 사실을 요즘 조금씩 조금씩 깨닫고 있다.

심지어 증권사에서 현금흐름으로 모델 만들 때도 손으로 수식 써가면서 작업했고, Data analyst 일을 하고 있을 때도 평소에 간단한 수식을 쓰면서 작업을 하는 일이 흔하다. RTB가 돌아가는 메카니즘은 2nd price auction이라고, 좀 난이도 있는 경제학 개념이니 어려워하는게 이해되지만, 위에 말한 오픈소스 RTB API에 들어가는 수식이라고 그래봤자 중학교 때 봤던, 선 3개로 6개 점을 잇는 방법 같은 기본적인 네트워크 모델링과 그걸 풀어낼 수 있는 고등학교 2학년 수준의 1차 미분 밖에 없다.

더 놀라운 사실은 영어로 된 자료들에 경끼를 일으키고, 무슨 말인지 몰라서 Google Translator에 넣어서 어설픈 한국말로 읽는 개발자들이 그렇게 많다고 한다. 우리가 지식을 생산하는 나라가 아니라, 열심히 쫓아가는 나라인데, 영어를 못하면 어떻게 지식을 습득할 수 있을까…

4. IT 커뮤니티

문자 메세지 대체재가 아닌 모든 SNS를 끊고 산지 몇 년 되었다. 그러다가 그래도 강의하고 홍보하려면 Fxxxbook 계정은 하나 만들어야되지 않겠나는 생각에 회사 이름으로 SNS 계정을 하나 만들고 데이터 사이언스에 관심을 가질만한 사람들이 있는 커뮤니티 활동을 좀 해보려고 했다. 그런데 그 커뮤니티들에는 코딩을 어떻게 하는지, 코딩 에러는 어떻게 해결하는지에 대한 기초적인 질문만 가득 있더라. 보통 필자가 이런 질문이 생기면 구글링을 해서 답을 찾는데, 필요한 대답의 대부분은 stack overflow가 stack exchange에서 찾는다. stack overflow는 코딩 관련된 내용 위주고, stack exchange는 여러 학문에 대한 깊이 있는 답변들이 공유되어 있다. Fxxxbook 커뮤니티에 올라온 코딩관련 질문들은 구글링하면 길어봐야 5분안에 답을 찾을 수 있는 내용이 거의 대부분이다. 그리고 stack overflow에 답이 있는 경우가 압도적으로 많았다. 말을 바꾸면, 학문적인 질문이 아니라 코딩에 관련된 질문 밖에 없었다. 

끽해봐야 “왜 주식가격은 머신러닝 모델로 예측 못 하나요?” 같은 질문인데, 자기 상관성이 없는 데이터에서 무슨 짓을 하건 어떻게 패턴을 찾나? 아주 특정 기간에 모멘텀이 있어서 찾아냈거나, 아니면 거짓말이겠지. 자기상관성이 뭔지 알고, 데이터가 그렇게 생겼다는 걸 알면 애시당초 시간을 쓸 주제가 아니다. 뭔가 고민하고 나오는 질문이나 연습의 수준이라는 것이 수리 통계학 공부를 안 한 테가 너무 심하게 났다. 

물론 저기보다 더 심한 영문 커뮤니티들도 있다. 거의 홍보 자료 올라오는 거 막기에 바쁜 커뮤니티도 봤고, 올라오는 질문들이 공부할 수 있는 교재 추천해달라는 이야기 위주인 커뮤니티도 꽤나 보기는 했다. 그런데 그런 커뮤니티에는 뭐 좀 하는 사람들이 다 떠난다. 와서 얻을게 없으니까. 나랑 같은 전공 했던 사람들한테 주가를 RNN의 LSTM으로 예측할 수 있다고 헛소리를 잔뜩 늘어놓는 인도인 유투버 영상을 보내줬더니 이런데다가 시간 쓰는 사업하고 교육하느냐고 비웃더라. 쩝~ 참고로 그 인도인 유투버 영상은 지금도 엄청나게 인기를 몰고 다니는 영상이다.

지금 시장에서 머신러닝을 배우겠다는 사람들, 데이터 사이언스를 배우겠다는 사람들이 딱 코딩 소화하기에 바쁘고 ,그걸로 만족하는 사람들로만 구성된 IT 커뮤니티를 만들고, 자기들끼리 코딩 지식을 공유하고 있는 수준인 것이다. 그리고 영어로 검색은 안 되고, 대답 잘 해주는 것 같으니까 한국말로 운영되는 Fxxxbook 커뮤니티에 질문 올려보는거다.

저 위에 개발자들 수준에 대해서 필자가 씁쓸했던거랑 너무너무 유사한 문제점이 그대로 반복되고 있다는 증거가 아닐까? 근데, 그렇게라도 코딩 많이 배우면 좋은거 아니냐고?

5. 코딩 기계를 양산하는 시스템

글 처음에 언급한 그 IT 게시판의 글로 돌아가보자. 글 내용인즉, 우리나라 초특급 개발 인재들(“KAIST, SNU 같은 명문 컴공 출신” 이라고 하심)이 평소에도 죽어라 공부하고, 밤을 새어가면서 만든 결과물인데, 대학 졸업 때까지 컴퓨터 언어로 코딩은 해 본적도 없고, 어디 코딩 부트캠프 몇 달 다니고 나온 애들이 만들어낸 결과물보다 안 좋아서 너무 충격먹었다는 내용이다. 

답 글들을 보면 결국 코딩 실력이 문제가 아니라, 시스템의 문제이고, 그 시스템이 SUM(코딩실력)으로 끝나는 것이 아니라, 최초 프로젝트 디자인부터 마지막 단계의 QA까지 전체를 다 아우를 수 있는 능력이 있어야된다는 이야기가 주류이다. 특히 필자의 시선을 잡았던 부분은 코더가 필요한게 아니라 프로그래머가 필요한 작업이 우리나라에서 과연 얼마나 있냐? 대기업들은 대부분 단순 코더를 원하지 새로운 걸 만들어내는 능력을 요구하지 않는다는 문구였다. 당장 개발자 연봉을 보면, 새로운 걸 만들어내는 사람이 받는 연봉이라고는 납득하기 힘든 숫자다. 필자도 그런 푼돈을 주고 쓸 사람을 구하는 것도 아니고, “사업 파트너”가 될 만한 분을 찾고 있는데, 애시당초 뭔가를 “카피”한 경험이 있는 사람은 많아도 “만들어”본 적이 있는 사람이 나올 수 있는 사회 구조가 아니라는 거다.

iBanker 시절 현금흐름으로 Valuation 모델을 scratch부터 만들었다고 그러면 “뭐하러 시간 낭비하냐?”, “니네 보스는 모델 공유 안 해주냐?”, “할 일이 그렇게 없냐?” 같은 질문을 받았는데, IT업계도 토시하나 다르지 않은 방식으로 작동되고 있다는 뜻이다.

모르긴 몰라도 그 프로젝트에 투입된 인재들의 능력치를 보면 코딩을 제외한 다른 모든 능력치들은 어디 코딩 부트캠프 몇 달 다니다가 나온 사람들이 훨씬 더 뛰어났을 거라고 생각한다. 어차피 코딩으로 프로그램을 만든다는 건, 건축에서 집을 짓는 것과 같은 방식인데, 벽돌을 1층에서 100층까지 빠르게 실어나를 수 있다고해서 집이 더 잘 지어지는 건 아니다. 굳이 따지면 시간이 좀 덜 걸릴 뿐이다. 진짜 집을 잘 지으려면 설계도의 도면 자체를 이해하는 것 뿐만 아니라, 왜 그런 설계를 했을지에 대한 고민을 설계도면 만든 사람보다 훨씬 더 깊은 수준에서 이해를 해야한다. 좋은 논문을 그대로 따라가면서 복사한 모델을 만들다보면 어느 부분에서 어떤 고민을 했을지가 눈에 보이고, 그 논문을 썼던 사람보다 훨씬 더 많은 지식을 갖추고 나면 그 문제를 해결할 수 있는 다른 방법이 보인다. 일에 대한 태도가 이런 사람과, 이걸 최대한 빨리해서 오늘은 밤을 새고 싶지 않다고 생각하는 사람과의 결과물은 어떻게 차이가 날까?

IT 커뮤니티에서 코딩 열심히 배워봐야 위에 말한 프로젝트 같은 사태가 일어날 것이다. 좀 더 나가면 필자가 학부 갓 졸업하고 갔던 그 외국계 증권사 때처럼, 외국 애들하고 만났을 때 니네는 왜 이렇게 작업하냐는 식의 은근한 비웃음에 직면하는 일도 생기겠지.

나가면서

좀 더 깊게 들어가면, 이 모든 문제는 문화와 교육의 종합적인 산물이다.

평소에 논문 쓰고, 남의 논문을 까는게 내 일과였던 박사 과정을 돌이켜보면, 시험은 기똥차게 잘 치는데 정작 논문 주제는 못 가져오고, 탈고까지 못 밀고 나가는 아시아인, 특히 한국인 학생들을 정말 너무너무 많이 봤다. 주제라고 가져가는 걸 보면, 그거라도 빨리 쓰고 졸업할 수 있으면 다행이겠다, 교수님이 착해야지 졸업시켜 줄텐데라는 생각이 들고, 지도교수님한테 연구 중간에 까이고 나면 뭘 해야될지 방향 설정도 잘 못 잡는 경우가 대부분이다. 이게 흔히 말하는 주입식 교육의 결과물, 남들이 보여주는 것만 잘 카피하면 성공하는 교육 문화에서 자라왔기 때문은 아닐까? 학창시절에 미시와 거시경제학에서 만점을 받았던 과 친구 하나가 모 금융권 공사에서 낸 보고서를 보면 거시경제학 수업 시간에 교수님이 틀렸다고 몇 번이나 강조했던 유동성 함정 – LM 커브 논리를 그대로 갖다 썼더라. 카피 능력은 만점인데, 이해능력과 응용능력이 제로라는 이야기다.

런던에 유학가서 한번은 만점이라고 생각했던 시험지에 60점이 찍힌 걸 보고 충격먹은 적이 있었다. (참고로 영국의 대학원 과정에서 80점을 넘기면 과 탑을 노릴 수 있을만큼 채점이 짜다) 수업 조교와 앉아서 하나하나 복기를 해보니, 수학 과목이 아니라 경제학 과목인데 왜 수식만 있고 경제학적 함의는 안 적혀 있냐, 니가 여기서 최소한 10점 이상 날렸다, 그리고 가르쳐 주신 내용만 쓸 게 아니라, 니 나름대로 배운 내용이 있을텐데, 그런 내용이 들어가야 가산점을 준다는 식으로 이야기를 들었다. 그 학교 다니는 내내 필자가 제일 잘 친 과목 점수가 79점이었던 걸로 기억하는데, 죽어라 노력해도 주입식 교육의 한계를 완전히 벗어날 수는 없었나보다.

며칠 전에 어느 출판사에서 데이터 사이언스를 수학적으로 다루는 책을 한 권 쓰자고 연락이 왔다. 위에 쓴 것처럼 수학에 관심도 없는 사람들이 대다수인데 뭐하러 책 쓸까, 돈 안 되고 귀찮은데 굳이 하고 싶나요라고 답장을 드렸더니, 자기네들도 돈 안 되는거 알고 있단다ㅋㅋ

그래도 내가 한국의 주입식 교육에서 벗어나볼려고 발버둥을 쳤던 사람인데, 10년동안 발버둥친걸 반년 동안 페이지에 꾸역꾸역 우겨넣으면 누군가는 읽어보겠지, 그래서 코딩 부트캠프만 하고 나와서 정작 더 좋은 결과물 만들어내는 애들이 생기겠지라는 생각으로 책 쓰겠다고 결심을 했다.

 

 

X