데이터 사이언스의 최대 적(敵), 개발자

2039

어느 속터지는 회사와의 미팅 끝자락에 들었던 질문이다

왜 한국에서 사업하려고 그러세요? 그냥 미국가지?

솔직히 이런 질문을 스스로에게 많이 던지는데, 가장 많이 던지는 순간이 바로 그런 속터지는 회사, 특히 자뻑 만렙인 개발자들이 멍청함으로 그 미팅을 깽판내고 있을 때다.

이 분들이 가진 문제점을 딱 두 가지만 뽑으면

  • IT업계의 모든 업무는 “기술 스택”으로 해결되는 줄 안다
  • 라이브러리가 있을 것이라고 생각한다
  • (그래서 자기가 뭐든 다 알고, 몰라도 다 만들 수 있다고 생각한다)

기술 스택만 알면 카피할 수 있다는 자신감

한 회사 미팅에서 Cross-Device-Matching이라고, Probabilistic matching을 하는 touchpoint 정보 기반의 통계학 모델을 설명했더니, 어느 개발자 아저씨가 그게 무슨 “기술 스택”으로 만들어지는거냐고 묻더라.

이건 수학 모델이라서 기술 스택과는 아무런 관련이 없다고 대답을 해 줬다.

수학을 쓴다는게 현실과 너무 괴리가 심한거 아니냐고 반박하길래, 수학을 더 쓰는 이유가 단순화된 걸 현실에 적용시키기 위해서 모델을 구체화하다보니 어쩔 수 없이 더 많은 수학이 필요한거라고 답변을 해 줬다.

자기도 아는거니까 너무 아는체 하지 말란다. (아 그래요?)

그러면서 Probabilistic matching 하는 모델에 쓴다는 Bayesian updating이라는게 뭐 어떻게 쓰냐고 묻길래, 과거 정보를 Prior로 압축해서 넣고, 각 Batch별로 데이터를 Likelihood로, 결과값은 Posterior 계산하는 Conjugate Prior를 돌린다고 설명해줬다.

데이터가 얼마나 많은데 그걸 그렇게 순식간에 계산하는게 말이 되냐고 반박을 하길래, Prior로 압축해서 넣는 데이터는 1개 데이터 포인트고, Likelihood는 기껏해야 몇 시간 축적량일텐데, 계산비용이 그렇게 많이 들겠냐고 재반박을 했다.

표정을 보아하니 Prior로 축약해서 계산에 들어간다는 사실을 모르는 거 같길래, 동전 던지기에서 처음 100번 던져서 나온 확률과, 다음 10번 던져서 나온 확률을 결합할 때, 110번 던졌다고 계산하는 Frequentist의 계산법이 아니라, 처음 100번은 1개의 평균값(그래서 Prior)으로, 그 다음 10개를 새로운 데이터로 묶어서(그래서 Likelihood) 어느쪽에 더 가중치를 줄지 배정하는 계산법이 Bayesian이기 때문에, 데이터가 많아서 계산하는데 몇 시간씩 걸리는 엄청난 큰 데이터라는 생각을 할 필요가 없다고 다시 설명을 해 줬다.

전혀 못 알아먹은 표정으로 앉아 있더라.

(Source: 파비크리에이터)

수학을 더 쓰는 이유가 현실 적용을 위해 단순한 모델의 복잡도를 끌어올리는거라는 걸 안다며? 날더러 너무 아는체 하지 말라며? 동전 던지기 예제는 기초에서도 수학적 정확도를 포기한 간단한 개념 수준의 설명이었는데? 잘 아실 분이 왜 그런 표정이었을까?

이딴식으로 까불다가 죽빵 터지는 사건의 상대방은 정말 단 한번도 예외가 없이 개발자들이다.

너네 왜 그래? 도대체 무슨 약을 먹고 살길래 이런 어이상실 사건은 왜 항상 개발자들한테서만 터지는거야? 분명히 멀쩡한 개발자들 많이 있을텐데, 너네 그룹엔 그런 이상한 애들이 왜 그렇게 많은거지?

이 블로그가 어줍잖은 코딩 실력으로 “데이터”라는 단어가 들어가면 무조건 자기가 전문가라고 착각하는 개발자들에 대한 사례 기반의 구체적이고 체계화된 비판을 중심으로 운영될 수 있을만큼 한국에서 수많은 사례를 목격해왔기 때문에,

오늘도 또 똥 밟았구나

아는체 하지 말라며 뻣뻣하던 그 개발자 아저씨, 담배만 뻑뻑 피며 창 밖으로 날 멀리서 보고만 있더라.

(직감의 신이 명령한다. 그 미팅은 가지마라)

 

모든 작업은 누군가 해 놓은 라이브러리가 있을 것이라는 종교적인 믿음

위와 비슷한 대화를 하는 보통의 미팅을 가면

아, 됐구요. 그냥 어느 라이브러리 쓰는지나 알려주세요

라고 말을 끊는다. (기술 스택 가르쳐 달라는 이야기랑 동의어 아닐까 싶다)

엥? 무슨 라이브러리 써야되는거지? 난 그냥 상황에 맞춰서 코드 고쳐 쓰는데? 모델이야 어차피 몇 줄 안 되는 코드잖아? 모델에 맞추려고 데이터 전처리하는 작업이 힘든거지.

(Source: 자연인)

한번은 자기네 회사에 타게팅 알고리즘을 얹어보고 싶다는 회사가 있었다. 처음 연락왔을 때 질문은,

얼마에 할 수 있나요? 몇 달 걸리나요?

였는데, 난 그런거 모르겠고, 너네 회사 DB가 Touchpoint에 해당하는 Log 값들을 유저 Profile별로 정리해놨는지에 따라 달라진다고 대답해줬다.

그러니까 DB 담당 개발자와 미팅을 주선하더라. 그 시점에 이미 여기는 똥 밟는 회사라는 생각에 피해야한다는 직감 신의 명령이 있었는데, 소개해준 사람에게 예의가 아닌 것 같아서 꾹 참고 갔더니, 아니나 다를까,

복잡하게 Profile로 바꾸는건 됐고, 어떤 라이브러리 쓰는지나 알려주세요

라고 DB 담당 개발자가 귀찮다는 듯한 말투로 질문하더라.

무슨 라이브러리를 쓰는지, 알고리즘을 어떻게 만들지는 나중 일이고, 일단 데이터부터 지금처럼 Log로 쌓고 끝내지말고, Profile 형태로 바꿔야 다른 유저와의 유사성 이런거에 맞춰 줄 수 있다고 재차 설명해줬다. 라이브러리라는게 특정 모델을 쉽게 쓰기 위해 함수들을 묶어놓은건데, 데이터 형태가 맞춰져 있어야 될거 아님?

그런거 모르겠고, 혼자만 알고 있으려고 하지말고 라이브러리나 빨리 알려달란다.

(Source: MBC)
(Note: 그런 라이브러리 몰라서 못 알려줬는데, 결국 현기증 났을까?)

이런 분들이 데이터 사이언스라는게 단순히 라이브러리 붙이는거라는 착각을 하는건 아마 Github 코드들 때문이겠지?

그 회사 있는 다른 지인을 통해 나중에 들은 이야기인데, 그 DB 개발자가

데이터 사이언스 그거 별 거 없다. 그냥 라이브러리 몇 개 갖다 붙여놓으면 다 된다

라고 주장해서 그렇게 1-2주 더 진행하다가 그냥 흐지부지 됐단다. 저런 분들이 한국 데이터 사이언스 업계의 미래를, 한국의 “인공지능” 업계의 미래를 어둡게, 칠흑같이 어둡게 만드는 분들이다.

참고로 그 회사는 만 1년이 지난 아직도 Profile 형태로 DB 못 만들었고, 어느 다른 학교 교수 연구실에 프로젝트 줬더라. 타게팅 알고리즘 만들어 달라고.

안 봐도 비디오인게, 아마 몇 달 후에 열심히 만들어준 알고리즘 쓰려고보니 자기네 DB를 다 뜯어고쳐야된다는 사실을 깨달을 것이다. 그 DB에서 실시간 처리를 위해 또 만만찮은 하드웨어 비용, 개발 비용을 지불해야한다는 사실도 깨닫겠지.

어느 공대 연구실이던데, 참고로 미국에서 타게팅 광고쪽 비지니스 들어와 있는 Data Scientist들 대부분은 공학도가 아니라 수학도들이다. 물리학과, 통계학과, 뇌과학, 경제학, 퀀트 마케팅… 같은 전공의 박사 출신들.

언젠가 그 날이 오면, 진짜 모델을 돌려야하는 그 날이 오면, Spurious regression 같은 개념들을 알아야하는 순간이 올 것이고, 그 때는 공대가 이런 문제에 적합한 인력 풀이 아니라는 사실도 함께 깨달으실 것이다. 그들에게 그 날이 온다면.

 

나가며 – 직감의 명령

한 때는 직감의 명령이 오면 최대한 미팅을 거절했다. 요즘은 좀 여유가 있어서 그런지, 이 회사 만나고나면 보나마나 재밌는 에피소드 하나 생길 것 같다, 블로그에 같이 공유해야지 이런 생각을 먼저 하게 된다. 그런 이벤트 없으면 되려 실망하기도 한다. 사업을 너무 장난으로 하는건가? 덕분에 수알못 실험충 개발자가 데이터 사이언스의 최대 적(敵)이라는 사실이 쪼끔은 알려졌다고 위안하고 간다.

왜 미국 안 가고 한국에서 사업하냐고 물으면, 요샌 차라리 즐겁다고 그런다. 사업 진행을 더디게 만드는 바보 만나는게 짜증은 나지만, 다른 한편으로는 바보들의 뻘짓에 지적질해주는게 개그콘서트보다 훨씬 더 재밌다고. 그렇게 재밌는 사건 제공자 분들이 너무 많다고. (직감의 명령에 속하는 분들께 대놓고 너 바보임이라고 말해주고 싶은 욕구, 회사 이름, 그 개발자 이름을 대놓고 외부 공개하고 싶은 욕구까지 충족되면 더 재밌을듯.)

어느 개발자 한 분이 파비블로그 재밌더라고 그러고는 정작 수학 모르면서 안다고 우기지 말라는 메세지는 이해를 못 했는지, 미팅 중간에 저 위의 2개 사례와 유사한 질문을 했던 적이 있다. 그 분은 나중에 따로 이메일을 보내시더라. 그냥 재밌다고 웃을 글이 아니라, 자기가 깊이 반성하고 미팅 들어갔어야하는 글이었는데 못 알아봐서 죄송하다고. 이런 분이 좀 늘어나야 될텐데^^

흔히 하는 말로 “실력이 친절“이라는 업계 속어가 있다. 실력이 없으면 자신이 없으니 일단 안 된다고 하니, 결국엔 실력 없는 인간들과 대화하면 시간만 낭비할 수 밖에 없다. 데이터 사이언스가 자기 업무 영역이라고 착각하는 수 많은 개발자들은 무능력으로 엄청난 불친절을 제공하고 있으니 욕을 안 할래야 안 할 수가 없다. 자신의 자뻑이 결국엔 회사의 발전, 산업의 발전을 가로막고 있다는 사실을 알고는 있을까?

학창시절 내내 동기들 사이에서 수학으로 무시당한 적이 없었는데, 심지어 Math Finance 박사 연구실에서도 방돌이들 사이에서 King of Econometrics, God of Statistics 이런식으로 농담 섞인 칭찬을 듣는 믿음의 존재였는데, 제일 자신 있는 분야에서 인생 내내 단 한번도 경쟁상대라고 생각한 적 없는 그룹의 사람들한테 저런 도전을 받는 인생을 살리라고는 생각도 못 했었다ㅋ

다행인지 불행인지, 요샌 직감의 명령을 듣는 기회가 많이 줄었다.