데이터 사이언티스트로 취업하기 힘든 이유

2016년 12월 5일

by yangpa
"마소는 말씀하신 데이터 엔지니어링과 데이터 유저 부서가 명확히 구분 되어있나요? 저는 분석 쪽으로 공부를 하고 있는데 아직까지 한국에서는 개발할 줄 아는 분석가, 분석할 줄 아는 개발자를 선호하는 것 같더라고요."


예전에 잠깐 올렸던 글에도 있었는데 (https://www.facebook.com/londonyangpa/posts/1818597445092401), 데이터 사이언티스트로 취업하기 힘든 이유가, 사실 개발자들 때문입니다. "정규 컴사 교육 받은 개발자, 혹은 엄청나게 많은 물리/전자/전기 공학 출신 개발자들이라면 기본적인 데이터 분석, 통계, 그 외 데이터 툴 다루는 건 다 합니다. 그냥 경력직 개발자라도 웬만한 데이터 분석은 할 줄 알고, 최근에 데이터 사이언스가 유행하면서 코세라 기계학습 안 들은 사람 별로 없습니다. 하둡 하이브 피그 스파크 중 하나 둘은 다 써봤고요, 컴퓨터 언어 하는 사람에게 R 패키지 배우는 거 그리 어렵지 않아요. SQL은 다 기본으로 하고요. 엑셀은 말할 것도 없죠. 그러므로 데이터 엔지니어링부터 텔레메트리 디자인(데이터 디자인), 데이터 분석, 시각화까지 간단한 건 다 할 줄 압니다. 모른다 해도 요즘 공짜 코스며 정보가 얼마나 많은데 몇 주 몇 달 시간 좀 들여서 각 잡고 공부하면 곧 필요한 만큼은 다 해요." 라고 했습니다.

이 때문에 질문하신 내용에 대한 답하기가 쉽지 않습니다. 데이터 엔지니어링 팀은 분명히 큰 회사마다 있고, 데이터 유저들만 있는 부서도 확실히 있습니다. 그렇지만 그렇다고 그 팀 외의 사람들은 데이터 엔지니어링/ 분석 일 안 하냐 하면 그건 아니죠. 마소 안에서만 해도 "우왕 나도 스파크 클러스터에 데이터 몇 테라바이트 때려넣고 기계학습 알고리듬 돌려보고 싶어"이런 친구들 수천 명 있을 거고, 그런 친구들이 실제로 클러스터 하나 스핀 업해서 이것저것 해 보는 데에 며칠 안 걸립니다. 그리고 새로운 플덕을 디자인하는데 데이터 분석이 중요할 거라서 그것부터 먼저 제대로 디자인하자던가 그런 케이스 아니면 그냥 가지고 있는 데이터 작게 분석해보려는 사람들 많고, 망할 개발자들이 많다 보니까 "남이 쓴 상용화된 솔루션 쓰기" 보다는 "내가 만들어 봐야지!!" <- 이런 개발자들이 넘쳐나겠죠. 이거 보는 개발자님들 솔직히 고백해요. 남이 써놓은 SDK로 데이터 보내서 PowerBI/타블로 같은 걸로 그래프만 그리기 싫잖아요. 구글 아날리틱스 툴만 쓰긴 싫죠? 할 수 있으면 쌔끈하고 힙한 NoSQL DB 하나 사양 빡센 클러스터에 휘릭 깔고, 스톰/카프카가 뭔지 함 설치해 보고, 그 외 어디어디에서 쓴다는 거 나도 함 해보고, AWS에서 데이터 파이프라인 스택 같은 것도 함 만들어 보고 싶잖아요. 그죠?

스타트업이나 작은 회사에서는 한 사람이 멀티 뛰어야 하기 때문에 "개발 분석 뭐 네가 다해" 이런 분위기 많습니다. 물론 그런 경우는 보통 이런저런 서비스 가지고 사내 파이프라인을 짜 맞추는 식으로 가지 컴퍼넌트 하나하나 디자인하진 않지요. 예외라면 아주 큰 금융회사나 그 외 다른 회사에서 데이터 웨어하우스만 하다가 "우리도 빅데이터 하겠다"하고 그린필드 플젝 시작해서 새로운 파이프라인 만드는 경우인데, 이건 시작은 창대하고 재미있으나 6개월 신나는 코딩 끝에 2년간의 인터그레이션 지옥 및 데이터 웨어하우스 부서와의 기나긴 힘싸움이 기다리고 있는 경우가 많... 눙물 흐르니까 스킵하고.


개발할 줄 아는 분석가, 분석할 줄 아는 개발자를 선호하는 곳 아직도 많습니다. 통합된 파이프라인 딱 하나만 쓰는 회사 아주 드뭅니다. 보통 메인으로 쓰는 거 있고, 팀 레벨로 쓰는 다른 데이터 툴 있고, 개인적으로 쓰는 것도 있을 겁니다. 저만 해도 우리 파이프라인 있지만 제가 따로 셋업한 호스트에서 제가 필요한 데이터 여러 가지 API로 긁어서 처리해서 다른 파이프라인에 보내고 하는 스크립트 돌려요. 그 외에 때마다 보고서 내려고 데이터 긁고 프로세스하고 뭐 그러는 스크립트도 수십 개 수백 개 있고요. 하지만 이걸 프로덕션 레벨로 만드는 건 또 다른 문제죠.

그러므로 데이터 엔지니어링 전문이 아니더라도 개발자라면 어느 정도는 데이터 처리 분석 다 하긴 합니다. 프로덕션 레벨, 스케일 아웃 레벨이 아니라서 그렇죠. 웬만한 개발팀에서 그 정도 데이터 처리 능력은 당연하게 볼 겁니다. 그런데 이걸 제대로, 프로덕션 레벨로 만들려면 데이터 엔지니어링 팀, 혹은 데이터 파이프라인 셋업이 보통은 필요하죠. (그럼 어쨌든 다 하란 말이냐!!? 라면, 아니 뭐, 꼭 안 해도 되긴 하는데 '그래도 그 정도는 기본은 해야 하지 않냐'는 식으로 당연하게 생각하긴 한다는 말 ㅜㅠ 사는 게 글쵸 뭐).

keyword
매거진의 이전글빅데이터를 하는 기업이 되려면.