데이터 과학자 1만명을 1개월만에 만들어내는 방법

2101

우리 회사 개발 팀장님은 6개월 속성 개발 학원, 특히 그 정부 지원 학원들을 극혐하신다. 그런 학원 출신들이 첫 질문에 어버버거리는거보고 벌써부터 표정 안 좋아지고, 3개 연속으로 대답 못하는걸 보고는 예의 잘 차려서 집에 보내줘야겠다는 표정으로 바뀌시는게 보인다.

처음 회사 오실 때부터 좀 공학도의 곧은 자존심을 갖고 있으신 분이라고 생각했었는데, 평소에 프로젝트에 해야할 일들 리스트를 잡는데서부터 15년차 짬밥에서 나오는 설계 만렙의 고민이 보이는게 이미 존경스럽지만, 무엇보다 가장 존경스러운 부분은 전공자들이 가지고 있어야만 하는 몇몇 능력들을 제대로 갖추고 있는지를 굉장히 꼼꼼하게 따져보는, 기본기를 중심에 놓는 철학이다.

실력자들 누구에게나 그늘이 있을텐데, 본인의 실력이 뛰어나신만큼, 그런 비전공 신입을 양산해내는 학원들을 극혐하시고, 그런 인력 유입 때문에 소프트웨어 개발이 3D업무 취급 받는 것 같아서 자기 직업이 무시당한다는 감정에 항상 불만이 많다는게 느껴진다. (그래서 프로젝트 이야기 꺼낼때 항상 조심한다.)

 

IT업계의 거대한 착각

머신러닝 강의를 몇 달만 들으면 전문가가 될 수 있다는 말을 하는 사람들이 아직도 많이 있다. 우리 개발 팀장님이 6개월 학원 출신들에게 아예 기대를 하지 않으시는 것 이상으로 필자 역시도 그런 거짓 전문가 분들을 외면한다. 이미 파비 블로그에서 고압적인 논조의 글을 여러차례 봤을 것이다.

왜 이런 강의들이 우르르 쏟아질까에 대한 결론도 이미 나왔다. 우리나라 공학도들은, 특히 IT업계에 있는 개발자라는 사람들은 석, 박 과정에서 배우는 하드코어 수학 + 모델링이 얼마나 지적으로 심한 도전이 들어가는 업무인지 모르거나, 이해할 수 있는 능력이 없는 사람들이다. 덕분에 그 진짜 가치를 이해하질 못한다. 그래도 상관없는게, 오픈소스 코드만 믿고 구글링 열심히해서 뭔가 만들어내면 그게 개발아니냐고 생각하면서 살아도 바보 취급당하지 않는 고만고만한 실력자들이 이 업계의 주류가 되어 있기 때문이다.

지난 20년간 나라의 주요 성장동력이 IT였던지라 정부 기관부터 일선 중소기업까지 그들만의 카르텔이 형성되어 있기까지 하다. 그들의 9할이 사실은 코드복붙 전문가라는 사실은 비밀중에 안 비밀이다. (개발 팀장님이 경력직 뽑을 때 코드복붙 전문가 걸러내려고 날카로운 질문들 던지시더라. 정말 많이들 썰려나갔다.)

 

정부 관계자들의 잘못된 접근

가끔은 정부 기관들에서 뭔가 도와달라는 식으로 연락이 온다. 인공지능, 머신러닝, 블록체인 등등 Buzzword들을 읊어대는데, 이해도 0인게 눈에 선하게 보인다. (아, 또 세금낭비 되겠네ㅠㅠ) 그러면서 대부분은 날 무슨 기술자 취급하고 1시간 남짓 가르쳐주면 더 이상 돈주고 배워야할 지식이 없는 인간 대접하는 투가 역력하다. 개발 팀장님이 소프트웨어 개발이 3D업무 취급당하는데서 느끼시는 불만에 절절히 공감하는 순간이다. 몇 번 겪어보곤 바보들에 대한 살인 욕구를 억누르는데 실패해서 사회적으로 용인되는 경계선을 넘을까봐 아예 미팅 요청이 오면 무조건 거절해버리기 일쑤였다. 그러다보니 더더욱 그런 짝퉁 전문가들이 활개를 치고 다니더라.

한번은 행시 합격한 어느 5급 사무관이 인공지능 관련 프로젝트 보고서를 써야겠는데 파비 블로그를 소문듣고와서 봤더니 무슨 말인지 하나도 모르겠다, 자기가 머리 좋은걸로 어디가서 무시 안 당하고 살았는데, 읽어도 뭔 말인지 모르는 글은 처음 읽었단다. 세상 모든 지식이 “고시같이 어려운 시험을 합격한” 자기 눈엔 한번에 들어와야하나보다ㅋㅋ 당장 의학, 생물학 용어 잔뜩 들어간 전공서적이나 천체물리학 교과서들 한번 읽어보라고 하고 싶다.

고시라는 시험이, 필자의 학부 기준으로 박사 유학갈 수 있는 수학 공부는 안or못 하지만 달리 세상 살아갈 능력없는 공부 샌님들이 도전하는 시험이다. (이렇게 말해서 미안한데, 학부 동기 출신 사무관들 중에 샌님 아닌 친구가 딱 1명 밖에 없다.) 머리가 좋다는 증거는 되겠지만, 그걸로 저런 수학적인 모델을 이해할 수 있는 능력이 하루 아침에 갖춰지는건 아닌데, 자만심 만렙이다보니 이해를 못하더라.

머리만 똑똑하다고 무조건 할 수 있는 일이 있고, 그렇지 못한 일이 있다.

참고로 필자의 학부시절, 공부 시작 2년만에 행시 재경직 합격, 졸업학점 4.0/4.3인 어느 과 친구 하나가 수학 수업 하나도 안 듣고 유학 지원했다가 올 리젝 (다 떨어짐)을 당했다. 자기는 머리가 천재니까 박사과정 그게 뭐 대수냐고 생각했을텐데, 그런 수학적 사고와 행시 공부는 완전히 다른 세상의 공부고, 행시 같은 국가 고시는 그런 수학적 모델링 사고를 할 수 있는 능력을 담보해주지 않는다. 심지어 그 행시교재들엔 경제학계에서 오래전에 갖다 버린 IS-LM모델이 정운찬 교수님의 책에 있다는 이유로 초핵심 키워드인 수준이다. 그런 공부 했으면 행시 합격한 친구들은 학문하는 석박사대신 MBA나 MPA 같은 직업전문 석사를 가야지. 한국에도 인문계 고등학교 말고 전문 기술자 양성 고등학교 많이 생겼더만.

차라리 퀀트할껄, 괜히 바보들한테 스트레스 받지말고…

사업 때문에 본의 아니게 IT업계 사람들과 어울리면서 이 사람들 대부분이 수학 모르는 공학도라는 사실을 깨닫게 됐다. 학부 친구들 중에 수학 수업가서 살아남고 박사 유학갈 수 있는 수학적 체력을 다질 수 있는 친구가 채 20%가 안 됐던 것 같은데, 공대도 비슷한 모양인 것 같더라. 금융업계에 나가있는 동기들 중 경제학 고학년 과목 지식이 없는 친구들에게 경제학과 타이틀 떼고 경영학과라고 하고 다녀라고 무시하는 것처럼, 공학도 대부분도 연구자/기술자 타이틀 떼고 기능직이라고 무시당해야 될 사람들이더라. 기초부터 쌓인 지식 없이 응용된 결과값들만 “전문가”라는 사람이 해석해주면 따라서 읽고 쓰기 바쁜 사람들이 어떻게 한국 사회 전체에 널리퍼진 무능 덕분에 실력자로 착시되어 보이는 것일 뿐이다.

헤지펀드에서 퀀트되는 길로 계속 나갔으면 어떻게 됐을까? 최소한 이렇게 허접 수학 실력으로도 뭔가 전문적인 업무를 할 수 있다고 우기는 사람들을 만나는 스트레스는 없었겠지? 퀀트들이 쓰는 기본 수학이 Stochastic Calculus인데, 이 수학을 모르는 사람을 증권사에서 뽑지도 않을 것이고, 도전하는 “개발자”라는 사람도 없을 것이다. 근데 오픈소스가 좀 나와있다는 이유로, IT 직업군으로 분류된다는 이유만으로, 개발자들이 비선형 회귀분석도 모르면서 머신러닝 전문가라고 우기는 꼴을 보고 있으니, 내 직업이 무시당한다는 감정에 불만이 쌓일 수 밖에 없다.

좀 나이드신 분들이 주최하는 자리에 소개를 받고 찾아가면 필자를 “데이터 분석가”로 소개하는데, 순간 그 용어로 필자를 소개하신 분께 살의가 돋을 정도다. 왜 내가 경영학과 학부생들 수준 업무하는 사람들이랑 동류 취급을 받아야되는데?

겸손을 미덕으로 살고 싶지만, Data Engineer나 Data Analyst들이랑 Data Scientist를 동급으로 내려놓는 발언하는 무리에 섞여야할 이유는 없다. 우리 개발 팀장님이 3D개발자들과 한데 묶이는 곳을 피하시듯이.

어느 정부 기관의 질문

며칠 전엔 국가과학기술인력개발원이라는 곳에서 연락이 왔다. 머신러닝 교육을 제대로 시키는 커리큘럼을 알아보고 일선 기업에게 알려주고 싶단다. 또 시간 낭비일 것 같은데, 그래도 배우려는 의지는 갖추고 있는 것 같아서 한 발 양보를 했다. (그리고는 바로 후회했지만)

이 분들 나름대로는 정말로 열심히 찾아보셨으니 이름없는 조그마한 회사까지 찾아내서 연락온 것일테다.  보통 서울시청, 과천의 정부기관, 정부소속 연구소 등등에서 “니가 날 알현할 기회를 주겠노라. 내가 너에게 배우지만 니가 나에게 돈을 내지는 않아도 된다.” 같은 투로 메일 오는거 생각하면 최소한의 상식은 갖췄다고 생각했다. 그런 국가 기관들은 어디 정부 돈 받고 있는 조직에다가 자료 만들어달라고 공문 하나 보내서 일처리하는걸로 마무리하는 공무원들 투성이라는건 익히 알려진 사실이니까.

그럼에도 불구하고 질문하는 내용들을 보면 저 위에 우리 개발팀장님이 싫어하는 그 IT업계에 대한 착각, 필자가 파비 블로그파비 클래스를 장기간 운영하도록 만든 분노의 원인이 물씬 묻어난다.

  • 초기 기획 문서에서는 기초 과정을 수학 관련 내용으로만 넣겠다고 했다가, 몇몇 보직자 분들께서 실정을 너무 모른다고 비판하셨던 적도 있습니다
  • 실제로 현업에 적용하셨다고 하는 연구자 분들을 인터뷰 하면서 과연 스탠포드 Andrew Ng 교수님 머신러닝 수업을 들으면, 홍콩과기대 김성훈 교수님 강의를 듣고 나면,  즉시 연구과제에 적용해서 데이터 분석을 하실 수 있는 것인가하는 의문을 많이 가진 것도 사실입니다
  • 최근 다양한 연구 분야에서 머신러닝/딥러닝 알고리즘을 적용해서 분석했다는 논문들이 많이 나오고 있는데연구자들이 데이터 과학자가 되지는 못하더라도 적어도 그 내용이 진실인지, 아니면 진실처럼 보이는 거짓인지를 알 수 있는 눈은 가지고 있어야 하지 않을까? 하는 생각도 하고 있습니다

실정을 누가 모르는걸까? 실정을 안다는 당신들이 가지고 있는 그 쥐꼬리만한 지식으로 우리나라의 미래를 책임질 수 있나? 당장 질문 3개만 던져도 실무가 어떻고 하며 말 돌릴 줄이나 알고 제대로 답을 못하는 주제에 실정을 모른다니. 당신들이 만든 사기꾼들의 세상을 모르는거겠지.

그리고 그런 MOOC수업 하나 듣고 어디에 적용을 한다고? 남들은 몇년 동안 학위과정에서 공부해야 겨우 할 수 있는걸? 근데 저 공부하고 경영학과 애들이나 할 데이터 “분석” 수준의 업무를 하겠다니? 데이터 Science 배우려는거 아녔음?

Andrew Ng 교수님이나 김성훈 교수님 수업 들어보면 공학도들이라 수리통계학 공부가 부실한 티가 팍팍난다. (ex. 데이터가 많으면 딥러닝 쓰면 된다.) 실제로 데이터 까서 작업하다보면 직관적으로 결정을 내려야 할 구석들이 허다한데, 이론 기초가 잘 되어 있으면 그럴 때 엄청난 차이가 날 수 밖에 없건만, 그런 격차를 겪어본 적이 없으니 이해가 될리가 있나? 그 공대교수들 강의 이해했다며 거만한 마음으로 Coursera에 있는 러시아 학교들 학부 고학년 or 대학원 레벨 고급 머신러닝 수업 하나만 들어봐라. 무슨 말인데 아예 한 마디도 못 알아먹을꺼다.

경제연구소들에서 박사님들이 쓰신 어떤 보고서가 나왔는데, 그걸 경제학 학부 출신에게 제대로 된 연구보고서인지 평가해라고하면 할 수 있는 학부생이 누가 있을까? 퀀트 박사들이 만든 복잡한 트레이딩 프로그램을 Stochastic Calculus중 가장 기초인 Ito’s lemma 문제 몇 개 풀어보고 모델링이 뭔지 들어본 적도 없는 금융공학 석사 출신들이 어떻게 평가할 수 있을까?

이런 지식을 학부 3학년 수준의 MOOC 수업 하나 듣고나면 전부 다 이해할 수 있을거라는 저런 오만한 태도는 어디에서 출발하는걸까? 개발학원 6개월 다니고나면 개발자되는거지? 그지? 2천만원 3달 쓰면 (완전무결한) 앱 나오는거 맞지 그지?

 

매우 간단한 해결책

그럼 다 데이터 사이언스 박사 과정에 보내야되냐고? 아니 그럴 필요없다. 정말 쉽게 1달만에 1만명의 데이터 사이언티스트를 만들 수 있는 방법을 소개한다. (참고로 일본의 주요 대학들이 이 방법을 썼다. 파비 클래스도 이 방법에 기반한 강의를 운영하고 있고.)

어차피 계산통계학이라는게 뭔가 대단한게 아니라, 수리통계학과 비슷한 통계적인 테크닉을 다른 관점, 다른 맥락에서 적용하는 응용통계학의 한 분야에 불과하다. 전문가를 대량으로 양산하고 싶다면,

  • 수리통계학으로 잘 준비가 된 분들을 모아놓고,
  • 계산통계학이 쓰고 있는 약간의 다른 철학, 다른 적용처를 알려주면 끝난다.

Ex1) 경제학 박사들 중심의 모 국책 연구소에서 강의했을 때도 목격했던 일이고, 파비 클래스에 찾아온 서울대 경제학 석사 졸업 후 유학 포기하고 취직한 학생에게서도 겪은 일이다. 모르는 일반인들은 문과라고 무시하겠지만, 경제학을 박사과정까지 공부하면 통계학으로 어지간한 공학 박사들을 무시할 수 있는 수준이 된다.

머신러닝 이거 별거 없네요? 그냥 계량(경제학) 좀 이상하게 쓰는거네요?

라는 말이 나오는게 당연한 일이다.

이게 경제학자들이 통계학을 잘해서가 아니라 공학도들 대부분이 통계학을 진짜 못하더라. 충격이었다. 필자에게 “우와~ Neural Net 그거 진짜 잘 맞던데요? 근데 그게 통계학이랑 무슨 상관이에요?” 라던 K대 공대 교수님? 파비 클래스 듣고 간 학생에게 PCA를 책 읽어가며 가르치다 잘못 설명해서 광탈 당하신 다른 K대 교수님?

Ex2) 기계공학 석사 출신인 분이 수업 오기 전만 해도 K대 어느 연구실에서 냈다는 보고서를 대단하다고 생각했다가, 한 달 강의 듣고 다 틀린 내용 밖에 없는 싸구려 보고서라는 사실을 깨달았다고 하시더라. 그 분도 수리통계학 훈련이 잘 된 분이니까 겨우 한 달짜리 짧은 파비 클래스 강의듣고

적어도 그 내용이 진실인지, 아니면 진실처럼 보이는 거짓인지를 알 수 있는 눈

을 가지게 되었을 것이다.

Ex3) 이런 내용을 학부생들에게 강의하고 나면

1-2학년 때 왜 수학 교육을 그렇게 시켰는지 드디어 이해가 된다

무슨 공부를 해야되는지는 알았는데, 앞 길이 까마득하다

는 반응이 나오기도 하고, 이제 다 알았다고 까불다가 필자에게 방향 하나도 제대로 안 잡힌 질문만 왕창 던지는 메일을 쓰게 되기도 한다.

이래서 실리콘밸리를 가면 이미지 인식 같은 특수 분야 몇몇을 제외하고는 물리학 박사, 수학 박사, 통계학 박사, 경제학 박사 같은 사람들이 데이터 사이언스 팀에 앉아있고, 면접 질문도 모조리 수학, 통계학에 관련된 내용 밖에 없는 것이다.

이걸 학부 공돌이들한테 가르쳐서 데이터 사이언티스트를 키우려고 하지말고, 다른 전공 석박들에게 가르쳐서 데이터 사이언티스트로 “전향”을 시키는게 가장 빠른 해결책이다. 이미 필요한 수학을 다 공부한 사람들이니까. 수학이라는 엄청난 허들을 뛰어넘으신 분들이니까.

그 수학을 못해서 고시, 로스쿨, 의전원이나 취직으로 도망가는 학부생들이 서울대 기준으로도 8할이 넘는다는 점을 감안해 볼 때, 개발자 9할 9푼이 수알못이라는 사실을 감안해 볼 때, 괜히 학부 공돌이들한테 이걸 가르쳐서 키우려고 하는건 아까운 국가적 인력 낭비, 돈 낭비 밖에 안 된다.

정리하면, 1달 교육만으로 데이터 사이언티스트가 될 수 있는 사람은

  • 머리 좋은 학생들 (X)
  • 공학도들 (X)
  • 수리통계학 훈련이 잘 된 분들 (O)

(이 책 한 줄 요약: 어제와 오늘은 다른 날이다. 끊임없이 배워라.)

나가며 – What got you here won’t get you there

우리나라 IT업계의 몇몇 거인들 덕분에 한국이 이 만큼 발전했고, IT 인프라가 이만큼 갖춰진 나라가 되었다는 사실을 부인하지 않는다. IT 1세대 분들의 노고에 깊은 감사를 드린다.

그러나, IT업계가 지금까지 해 왔던 인력 수급 방식을 앞으로도 계속 쓸 수 있는지는 잘 모르겠다. 사실 6개월짜리 개발학원 출신중에 5년후에도 실력파 개발자로 남은 인력은 0명에 수렴할 것이다. 최소한 우리 개발팀장님께 10분안에 밑천 다 드러날 꺼라고 꽤나 장담할 수 있다.

대학 후 2차 교육이 그나마 작동할 수 있었던게 지난 20년간의 IT업계 상황이었다는 이유로, 데이터 사이언스처럼 수학적인 지식이 고도로 요구되는 분야마저도 IT의 고리타분한 인재 양성 방식이 먹힐 것이라고 생각하지는 말아주셨으면 한다. 책상 앞에서는 성공적이었던 그 양성 방식마저도 필드에서는 무시당했었다. 15년차 개발자 마스터가 자기 직업을 혐오하게 될만큼.

지금까지 성공했다는 이유로 상황이 바뀌었음에도 그 방법이 성공하리라는 법은 없다.