개발자 채용 중 특정 학원 출신인 분을 여럿 뵈었던 적이 있다. 신입 개발자 지원하는데 포트폴리오가 너무 좋아서 신입치고 높은 희망연봉을 제시해도 면접을 진행했었는데, 그 학원 출신 분들 몇몇을 뵙게 되면서 포트폴리오의 화려함만큼 기초 실력이 탄탄한 분들이 아니라는 사실을 인지하게 되었다. 오랜고민 끝에 결국 채용하게 된 개발자 분은 포트폴리오가 화려하지도 않고, 경력이 긴 분도 아닌, 학부 시절 관련 전공으로 열심히 공부했던 분이었다. 학부 전공을 열심히 듣고 혼자 잘 훈련만 했으면 충분한 면접 질문들이었는데, 왜 포트폴리오가 화려한 그 학원 분들은 제대로 대답을 못하셨을까?

그 지원자들과 비슷하게, 문과인데도 N모사 개발자 프로그램을 거쳐 매우 뛰어난 개발자로 살고 있는 자랑스런 친구가 하나 있다. 귀국 후 처음 그 친구 소식을 들었을때만해도 그냥 재밌게 사는 친구라고만 생각했는데, 이번 채용 프로세스를 거치면서 비전공자에 외부 학원을 거쳐서 뛰어난 개발자가 되는 사례가 참 드물다는 사실을 새롭게 인지하게 됐다. 원래도 재밌으면서도 대단한 친구라고 생각했는데, 새삼 그 친구가 더 대단해 보인다 ^^

요즘 이곳저곳에서 데이터 사이언티스트 채용에 관련된 질문을 받는데, 원래부터도 대학원 출신, 통계학을 제대로 배운 전공자를 뽑으라고 그랬지만, 위의 개발자 면접 프로세스를 거치면서 그런 경향이 더 심해진 것 같다. 좋은 학원과 훌륭한 선생님이 세상에 참 많다는 사실을 충분히 알고 있지만, 아주 예외적인 경우가 아니라면, 전공자들이 학부, 대학원동안 머리를 쥐어짜며 쌓아올린 내공을 아무리 좋은 학원이라도 단번에 주입시켜주기란 매우 어렵지 않을까? (그리고 그 개발자로 커리어 전환하고 잘나가는 친구가 그동안 얼마나 많은 노력을 쏟아부었을지 상상해보면…)

(Source: Iron Triangle)

 

어느 교수님의 응원 메일

회사 운영 중에 짬을 내서 관리하는 블로그라 여러가지로 부족한 점도 많고, 때때로 여러 공격에 좌절하는 일이 많지만, 그래도 가끔씩 진심이 담긴 응원 메일을 받고나면 힘이 부쩍 솟는다. 모든 응원 메일을 다 공유해보고 싶지만, 이 글을 쓰는 시점에 받은 어느 공학과 교수님의 응원 메일 일부를 공유할까 한다.

(중략)… 블로그 내용을 보니 한 20여년 전이나 지금이나 별반 다르지 않은 것 같아서 세월의 차이가 느껴지지 않습니다…

(중략)… 여기 고객사로 있는 기업에서 예전에 있었던 일이 생각나더군요. 한참 데이터웨어하우스 붐이 불어 개발하던 와중에 XX가격 의사결정모형 자문을 해 주었는데, 학부출신 한 명이 어디서 배웠는지 모르나 신경망으로 데이터 피팅하니 적합도가 90%가 넘으니 이걸 사용해야 하는 것 아니냐고 집요하게 우겨서 그냥 웃어 넘겼습니다. 피팅이 잘 된다고 예측이 잘 되는 것도 아니고, 설명 이론이나 모형도 없으니 가격의사결정에도 쓰기도 마땅하지 않고. 그래서 함부로 신경망 같은 것을 가르치는게 아니구나 하는….

당시에 잠시 과학원에서 계량마케팅을 박사과정을 대상으로 강의한 적이 있는데, 다들 배경지식이 없어 힘들어하고, 수학이니 경제학이니 통계학이니 하는건 어려우니 소비자 행동쪽만 학생들이 선호하고… (중략)

예전의 신경망 일도 있어 제가 강의하는 통계학 관련 과목에서는 차이점이나 설명하고 자세히 언급하지 않았는데, 새로 강의를 개설하려다 보니 하지 않을 수 없겠더군요. (중략) 잘못 가르치면 남용하거나 copy & paste나 하게 만들지 않을까하는 우려가 생깁니다. (중략)

위의 메일 내용에서 뽑아내고 싶은 포인트는 크게 3가지다

  • 박사과정 생들에게도 수학, 통계학 기반의 모델링 강의는 쉽지 않다
  • 20여년 전이나 지금이나 크게 다르지 않은 상황이다
  • 신경망 모델에 대한 맹신을 막기 위해 학교 교육이 변화하고 있다

첫번째 포인트는 Pabii의 데이터 사이언스 강의에서도 여러번 느끼는 일이 많다. 수강생 중에 석박사 출신도 많고, 교수 or 연구원으로 재직 중이신 분들도 가끔 뵐 수 있다. 그런 분들도 “머신러닝 이거 다 통계학이었네요”, “전생(?)의 기억을 되살리느라 따라가기 힘들었다”라고 말을 하시면서 기억을 되살리려 고민하는 분도 있고, “수식을 이런 방식으로 직관적으로하는 해석은 처음 들어본다”고 놀라고 가시는 분들도 있었다. 필자도 그랬었지만, 대부분의 박사과정 공부 중에는 수식에 파뭍혀 그 수식의 함의를 꼼꼼하게 짚고 넘어가기가 참 힘들기 때문이다. 그래서 더더욱 데이터 모델링을 할 수 있는 레벨의 지적 훈련을 받은 사람을 찾기가 참 힘든 것 같다.

두번째 포인트에서 공부가 어려운 건 20년전이나, (200년전이나, 2000년전이나…) 지금이나 다 똑같겠지만, 저 교수님께서 말씀하시는 상황은 깊이 있게 공부한 사람들이 이끌어가도 시원찮을 분야를 학부출신 한 명이 집요하게 우기기를 시전하고 있는 상황이 안타깝다는 말씀이실 것이다. 필자가 귀국하고 처음 만났던 자칭 데이터 사이언티스트 분들을 생각하면 상황이 조금 더 나아지기는 했지만, 여전히 매우 많은 사람들이 적당히 신경망 코드 구해서 돌리면 이미지 인식도 하고, 자연어 처리도 되는데 무슨 모델링 같은 소리하냐고 필자와 맞서려고 하는 일이 비일비재하다. (이 블로그에서도 많이들 보셨을 것이다.)

그런 “맞서려는 분들”에 대한 분노가 어이없음으로 바뀌며 좌절감에 조금씩 지쳐가던 중이었는데, 세번째 포인트에서 새로운 희망을 찾고 있는 중이다. 몇몇 세부 전공 분야를 제외하면 그동안은 학교에서 신경망을 굳이 꼼꼼하게 가르쳐야할 필요성을 못 느꼈을 것이다. 이게 수학적으로는 “꼼수”에 불과한 계산 작업이기 때문이고, 특정 분야를 제외하면 Computationally inefficient + Overfitting이라는 양쪽 폭탄을 다 맞는 계산법이기 때문이다. 통계학 박사들 중 상당수는 이런식의 꼼수 계산을 받아들이는 상황을 지적인 자아의 붕괴로 받아들이는 경우도 있을 정도다. 그럼에도 불구하고 워낙 많은 사람들의 입에 오르내리니 이제 제대로 통계학 교육을 받으신 분들이 학교 수업에 신경망 계산이 뭐라는 걸 구체적으로 설명하는 섹션을 포함시키시려는 것 같다. 뭔가 속이 뻥~ 뚫리는 기분이다.

그 동안 Pabii에서 데이터 사이언스 강의를 했던 가장 큰 이유가 “신경망에 대한 맹신”, “머신러닝/딥러닝에 대한 잘못된 이해”에 대한 반박이었는데, 학교에서 이렇게 나서서 시장을 정화시켜주신다면 굳이 Pabii에서 길게 강의를 해야할 이유가 있을까?


신 교수님, 응원 메일에 다시한번 고개숙여 감사드립니다. 교수님 제자분들이 한국의 데이터 사이언스 인력 풀 수준을 한 단계 더 높일 수 있게 되기를 간절히 바랍니다.

(Source: 동아일보)

 

데이터 사이언스 학원들

Pabii의 데이터 사이언스 강의에 “스파이”가 몇번 왔다간 적이 있다. 특히 지난 여름의 수학 & 통계학 마지막 오프라인 강의에 강남 일대의 “데이터 사이언스 학원” 관계자임을 확신할 수 밖에 없는 분들이 다녀가셨다. 심지어는 필자가 간단하게 요약한 그 수학 & 통계학 강의 (Quantitative 석사 과정 이상의 공부를 했다면 누구나 충분히 알만한 그런 내용의 강의)를 한국에서 제일 잘 아는 교수님이 누구냐는 질문을 하셨는데, “어느 학교 학생이에요? 그 학교에 괜찮은 교수님 강의 추천해드릴께요”라고 하니 빛의 속도로 사라지시던 그 분들… 한국에서 제일 잘 아는 교수님 이름을 가르쳐주면 강사로 영입하려고 그랬을 듯ㅋㅋ

그 “스파이”분들이 기획하신 강의 페이지를 가 보면, 국내에 있는 다른 강의들을 벤치마킹했다고, 자기네 수업의 수학 & 통계학만 이해하면 된다고 열심히 썰을 풀어놨다. 강의 기획안을 봐도, 실제로 그 수업을 들었던 분들의 뒷 이야기를 들어봐도 강의 기획자 분들이 아직도 데이터 사이언스가 수학과 통계학으로 이루어져 있다는 사실을 잘 인지하지 못한 것 같다. 애시당초 데이터 사이언스가 말 그대로 수학&통계학을 쓰는 “Science”라는 사실을 이해못한채, 기초 통계학만 가르친 다음 “Engineering”스러운 부분을 적당히 섞으면 데이터 사이언스라고 착각하시는듯.

그런 커리큘럼 설명 끝에 3달, 6달의 교육 과정을 거치면 데이터 사이언티스트 “1년차”가 된다는 표현이 있던데, 이 부분만큼은 꼭 짚고 넘어가보고 싶다.

1. 3달, 6달의 교육과정

어느 노 교수님 한 분이 Pabii의 데이터 사이언스 수업 3수강 (재수강도 아니고!)을 하고가시면서 남기신 말씀이, “다들 깡통은 아니니까, 모자라는 부분만 채워넣으면 되지 않을까?”였다. 수학&통계학 모델링을 잘 하는 사람은 코딩 쪽 훈련을 더 받고, 코딩 훈련이 잘 된 분은 수학&통계학 모델링을 더 공부하면 된다는 관점이었을 것이다.

우선 업무 중 느끼는 것들을 정리해보면, 수학&통계학 모델링을 잘 하는 사람이 데이터 사이언스 관련 업무를 위해 써야하는 코딩의 수준은 굳이 코드를 잘 짜는 10년차 개발자 수준이어야할 필요가 없어보인다. 어차피 수학적으로 더 elegant하게 모델을 만들면 코딩은 몇 줄로 끝나버릴 수도 있으니까. 백엔드 개발자들에게 던져줘야하는 결과물 몇 개 때문에 서버/DB관련된 지식을 배워야하는 부분도 크지 않다고 생각한다.

반면, 수학&통계학 훈련이 안 된 분들이 새로 이 지식을 배우는건 거의 불가능에 가까운 것 같다. 사실 고교 시절에 수학 못하던 친구가 재수, 삼수를 해서 수학 실력이 일취월장하는 경우도 거의 없지 않은가? 하물며 과학원의 박사과정생들에게도 힘든 수학, 통계학 기반의 모델링을 수학 손 놓은지 몇 년이 지났고, 원래부터 수학에 큰 관심이 없었던 수알못인 분들이 따라가기는 쉽지 않을 것이다.

실제로 200명 남짓의 학생들을 대상으로 한 강의에서도 같은 결론을 내리고 있다. 아무리 수식 제외하고 직관 위주로 강의해도 원래부터 수알못이었던 분들은 탈락할 수 밖에 없더라.

2. Data Scientist N년차

“N년차”, IT쪽으로 사업을 하겠다고 개발자 커뮤니티와 접하면서 처음 들어보기 시작한 표현이다. “안드로이드 개발 5년차”, “웹 프론트 개발 8년차” (더불어 “풀스택 개발자/디자이너”라는 표현도 이 동네에 와서 처음 들었다.)

하나만 물어보자. 수학&통계학 공부가 전혀 안 된 분이 데이터 사이언스 관련 업무를 10년정도하고나면 수학&통계학을 자연스럽게 이해하고 쓸 수 있게 될까? 자기가 매일 보던 숫자에서 “감”을 잡는 Domain knowledge 부분은 시간과 내공이 어느정도 정비례 관계를 갖게 될 것이라고 충분히 공감하겠지만, 그런 “Data Analyst” 업무는 수학적인 머리를 써야하는 부분이나 경험이 쌓여야하는 부분보다, 비지니스 센스와 더 깊은 관련이 있다.

개발자로 년차가 올라가면서 웹, 앱, 서버, DB 등등 다양한 플랫폼을 연계시킬 수 있는 경험이 쌓이고, 또 웹, 앱 각각에서도 높은 Tech를 타는 엄청난 레벨의 개발자가 될 수 있다는 사실은 인력 채용을 겪으며 매일같이 보고, 배우고, 느끼고 있다. 더불어, 굳이 전공자가 아니어도 충분히 본인의 노력으로 극복할 수 있는 부분이 있다는 것도 인지하고 있다. (우리 회사 채용은 전공자에게 가산점을 줄 수 밖에 없는 구조로 진행되었지만)

하지만, 수학&통계학 기반의 모델링을 알고 모르고는 완전히 다른 종류의 인력, 다른 직군에 대한 이야기가 된다.

그 학원들이 쓰는 표현, 타겟하고 있는 직군을 좀 더 정확하게 바꾸자면 “Data Analyst N년차”가 맞지 않을까?

3. Data Analyst N년차

그 학원 수강생들이 어떤 커리어를 밟고 있으신지 잘 알지는 못하지만, 보고 들은 강의 커리큘럼만 봤을 때는 Business Analyst(BA), Business Intelligence(BI) 같은 직군에 지원하실 수 있는 훈련을 받았다고 판단된다. 2000년대 중후반에 학부 졸업무렵 필자가 봤던 인력 시장에서 그런 자리들에 갔던 친구들은 수학, 통계학 같은 자연계열 학부 전공을 한, 좀 유명한 학교 출신인 친구들이었다.

요즘 DSP 회사들에 가보면 비슷한 일들을 Account Strategy (속칭 AS, 광고주의 광고 전략에 맞춘 관리해주는 세일즈 인력) 분들이 하고 계신다. 아마 우리 Pabii도 광고주 영업을 뛰어야하는 시점이 오면 AS분들을 뽑을 때 예전에 BA, BI 직군이 타겟했던 분들을 뽑을 것 같은데, 학부 출신 신입이면 한 달동안 Tableau와 우리회사 내부 솔루션 가르쳐서 쓰는게 더 낫지, 굳이 저 위에서 말이 나온 “Data Scientist 1년차” 만들어 준다는 학원 출신이신 분들을 뽑고 싶지는 않다. 그런 학원의 수학&통계학 교육 수준이 높기 어렵다는 사실을 알기 때문이고, 그 정도 수학&통계학 훈련만 받은 분께는 아무리 경력이 쌓여도 Data Scientist라는 직함을 줄 생각이 없기 때문이다. 학생 선발 과정에서 이미 우리나라 최상위권의 수학&통계학 훈련을 받은 인재들만 받았을 과학원에서 박사과정생을 대상으로 가르쳐도 힘들었던 지식을 그 학원에서, 아니 어지간한 일반 IT학원에서 비슷한 수준으로 가르치는건 거의 불가능에 가깝지 않을까?

애시당초 데이터 사이언티스트 “N년차”라는 표현을 쓰는게 개발자 중심의 사고방식에서 한발자국도 벗어나지 못했기 때문인 것 같다는 생각도 든다.

(Source: 슬램덩크)

 

나가며 – 그냥 대학원 가세요

학원 출신의 개발자 신입 면접을 보고나서 우리 개발자 분들이 입을 모아서 그러시더라. “포트폴리오에 있는건 아는지 모르겠는데, 그런 퀄리티 결과물을 만들기 위해서 알아야하는 개발 일반 지식을 하나도 모르는 것 같다”고.

데이터 사이언티스트 만들어준다는 학원의 커리큘럼을 보면 비슷한 생각이 든다. 저런 학원 출신이신 분들이 Data Scientist라면 기초적으로 알아야할 대학원 수준의 수학 & 통계학을 얼마나 알고 있을까? 필자는 매우 회의적이다. 증권사 Quant 뽑는데 학위과정에서 제대로 Hard-training을 받으신 분이 아니라, 강남에 있는 학원에서 3개월동안 훈련 받은 분 뽑는다고하면 어떻게 될까? 그 분이 Outlier라면 또 모를까, 애시당초 resume screening을 당했거나, 운이 좋아서 면접을 봤다고해도 윗 분들이 “어디서 이런……?” 같은 말로 인터뷰 프로세스를 중단할 확률이 100%에 수렴할 것이라고 자신있게 이야기할 수 있다.

위에서 말했듯이, Pabii에서 저 학원과 비슷한 교육을 받으신 분께 드릴 수 있는 포지션은 Account Strategy지 Data Scientist가 아니다. 우리회사는, 아니 어지간한 DSP는 이제 Account Strategy가 Data Analyst를 해야하는 시장이 되었기 때문이다. 거기다 그 학원 출신이어서 AS 합격될 가능성이 높아지기 보다는, 그냥 좋은 학교에서 괜찮은 수준으로 수학&통계학 훈련을 받은 학부 졸업생이 더 일을 잘할 것 같다. Data Scientist Intern 지원자들을 보면 거의 대부분 수학 실력에 따라 사고의 깊이와 모델의 깊이가 결정되는 걸 보고 있기 때문에 더욱 그렇게 생각한다. 그리고, Data Analyst가 아니라 Data Scientist 뽑고 싶으면 그냥 통계학 공부 많이하고 모델링에 고민 많이 해 봤을 대학원생을 뽑아서 사내 교육을 시키는게 더 맞을 것 같다.

Pabii의 Data Science 강의를 들으신 분들 (중 학부 출신이신 분들) 대부분이 “이제 뭘 공부해야하는지 알게됐다”, “수학을 왜 배우는지 몰랐는데 이렇게 쓰인다는 걸 알게되어 다행이지만, 앞으로 갈 길이 까마득해 보인다”는 말씀을 하시는 것도 같은 이유일 것이다.

특별히 Pabii가 국내외의 좋은 회사들보다 인력을 찾는 눈이 더 까탈스러울 것 같지 않다. 어차피 사람보는 눈은 거기서 거기니까. 우리가 이렇게 생각하고 시장에 접근한다면, 아마 다른 잘 나가는 회사들도 크게 다르지 않을듯.

저 위에 소개해드린 응원 메일에서 모 대학 공학과 교수님께서 말씀하셨듯이 그동안 통계학 훈련을 받은 분들이 “꼼수”라고 외면했던 계산방법론들을 학교에서도 제대로 가르치려고 하시는 교수님들이 많아졌다. (그 분들이 몰라서 안 가르쳤다기보다, 이게 “꼼수”고 학문적인 접근법이 아닌 경우가 많기 때문에 외면했던 계산법에 불과하다는 사실을 다시 한번 상기해드린다.) 본인이 수학적으로 잘 훈련된 인재라고 생각하신다면, 그런데 정말 Data Scientist가 되고 싶다면, Entry barrier로 수학&통계학 훈련에 대한 강조를 많이하는 석,박사 프로그램을 찾아가서 원리부터 차곡차곡 이해하는 훈련을 받고 나오시길 바란다.

 


공지1: 2019년 3월 29일을 끝으로 데이터 사이언스 주제의 포스팅은 종료됩니다. 이 후에는 파비의 스타트업 운영 관계된 포스팅만 월 1회 작성됩니다.

공지2: 위와 같은날을 기준으로 댓글을 모두 삭제합니다. 추후에는 댓글 서비스를 제공하지 않습니다.

Leave a Reply

Your email address will not be published. Required fields are marked *