2016년 10월 25일
네 저 본업이 데이터 사이언티스트 맞아요. 잊어버리셨죠? 쿨럭.
그런 의미에서 최근에 한 데이터 사이언스 진로 상담, 그리고 데이터 사이언티스트 종류 글 올라갑니다. (왠지 엄청 인기 없을 것 같다;;)
신입이시라면 - 기계학습/통계 박사 학위 있으신가요? 경력직이시라면 지금 현재 직함이 데이터 사이언티스트이신가요? 현직 개발자지만 데이터 쪽 일을 많이 하셨나요? 아니라면 좀 많이 힘드실 겁니다. 그냥 개발직으로 취업하시는 것을 추천합니다.
이건 데이터 사이언티스트 되기가 개발자 되기보다 훨씬 힘들다 뭐 그런 이유보다, 개발자들의 문제 때문입니다. 정규 컴사 교육 받은 개발자, 혹은 엄청나게 많은 물리/전자/전기 공학 출신 개발자들이라면 기본적인 데이터 분석, 통계, 그 외 데이터 툴 다루는 건 다 합니다. 그냥 경력직 개발자라도 웬만한 데이터 분석은 할 줄 알고, 최근에 데이터 사이언스가 유행하면서 코세라 기계학습 안 들은 사람 별로 없습니다. 하둡, 하이브, 피그, 스파크 중 하나둘은 다 써봤고요, 컴퓨터 언어 하는 사람에게 R 패키지 배우는 거 그리 어렵지 않아요. SQL은 다 기본으로 하고요. 엑셀은 말할 것도 없죠. 그러므로 데이터 엔지니어링부터 텔레메트리 디자인(데이터 디자인), 데이터 분석, 시각화까지 간단한 건 다 할 줄 압니다. 모른다 해도 요즘 공짜 코스며 정보가 얼마나 많은데 몇 주 몇 달 시간 좀 들여서 각잡고 공부하면 곧 필요한 만큼은 다 해요.
그러므로 "데이터 사이언티스트" 직함의 사람을 구한다면 뭐 여러 가지 시나리오가 있겠습니다만 수학 잘 한 사람들로 우글거리는, 핫하고 새로운 기술 배우라면 무지 기뻐하는 개발자 천국 테크 회사에서 광고를 해 구할 정도면 사내에서 쉽게 구할 수 없는 사람이라는 말이다 보니 그 광고가 진짜 정말 본격적으로 데이터를 다루는 곳일 가능성이 농후합니다.
예를 들어 마소 내에서는 Bing. 그런 곳은 보통 박사학위 이상이 갑니다. 석사라면 보통은 상당히 괜찮은 컴사/통계 학위 + 상당히 좋은 학교의 기계학습 석사 정도입니다. 그리고 코어 데이터 사이언스 팀에 들어가겠죠. 테크 회사 말고 펀드, 은행/ 그 외 큰 회사 쪽이라면 (월마트처럼 리테일이라던가) 뽑는 데이터 사이언티스트는 수학/통계에 엄청 강하거나, 물리/수학 박사 했거나 (이건 보통 펀드 쪽), 유명 MBA 거치고 전략 쪽에서 오래 일하고 인더스트리를 잘 아는 사람이거나 (리테일 쪽), 기계학습에 아주 강하고 프로그래밍도 조금 아는 사람 (요즘 빅4 같은 컨설팅에서 주로 뽑는 스타일)입니다. 이 중에서 신입으로 쉽게 들어갈, 만만한 곳은 아무 데도 없습니다. 차라리 개발자로 들어가는 게 훨씬 쉽습니다. 수요도 훨씬 많습니다.
데이터 엔지니어로 들어간다 하면 얘기가 달라지는데, 스타트업이라면 데이터 사이언티스트가 데이터 파이프라인도 만들고 텔레메트리 디자인도 하고 데이터 클리닝 뭐 그 외 잡일 다 하고 시각화까지 하라고 하겠지만, 웬만한 규모의 회사는 보통 부서가 확확 갈라집니다. 데이터 엔지니어링 팀은 그냥 그것만 합니다. 검색 엔진의 기계학습 파트에서 일하는 사람이 데이터 파이프라인을 디자인하는 일은 별로 없겠죠. BI, 혹은 전략팀에서 데이터 파던 분석가들은 이제 엑셀만 하는 대신 SQL도 하고 NoSQL 데이터베이스와 싸워야 할지 모르고, REST API에서 데이터 뽑고 해야 할지 모르지만, 그렇다고 하둡 엔지니어가 되어야 할 필요는 없습니다. 아 그리고 데이터 엔지니어는(제가 아는 테크에서는) 보통 컴사 출신 소프트웨어 엔지니어들이고 딱히 데이터 엔지니어라고 직함 달지도 않습니다.
결론.
신입인데 데이터 사이언티스트로 취업하는 것보다는, 개발 능력 있다면 개발자로 취업 추천합니다. 데이터 분석으로 취업해도 되긴 하는데 이쪽은 연봉이 훨씬 낮고, 특정 분야에 대한 전문 지식 없고 기술적인 지식도 없다면 그냥 엑셀이나 타블로 등 툴 몇 개 다루는 사람으로 남을 확률이 큽니다. 죽어도 난 데이터 사이언티스트로 취업하겠다, 하시면 석/박 추천합니다. 통계/수학 강하신 분들은 프로그래밍 쪽과 데이터 엔지니어링 쪽 이해만 조금 높이셔서 취업하시면 되겠습니다.
전 아직 결정 안 하신 분들이라면, 그리고 이미 수학/통계 학사 학위 없으신 분이라면 그냥 개발 쪽으로 밉니다. 우리 팀이 사실 데이터 엔지니어링 플랫폼인데 요즘 추세가 데이터 파이프라인을 직접 만드는 것보다는 data as a service 식으로 팀 내, 혹은 사내의 특수 파이프라인은 안 만드는 쪽으로 갑니다. 우리 팀은 SDK를 언어별로, 플랫폼별로 만들어 배포하고, 클라이언트는 그냥 그 SDK로 데이터를 보내면 데이터 픽업하고 처리하고 뭐 이런 건 걱정 안 해도 됩니다. 직접 SDK, 파이프라인 만들려면 일이 엄청 많거든요. 보내는 것만 보내고, 그 데이터 아웃을 가지고 뭘 어떻게 지지고 볶든지 기계학습을 하던지 상관은 안 하는 거죠. 그런데 우리 팀만 이런 서비스를 하는 게 아니라 다른 큰 테크 회사에서 비슷한 제품군 나오고 있습니다. 금융 쪽은 보통 자체 파이프라인 만들긴 하지만 그쪽도 툴셋 자체가 다 상용화되어가고 있습니다.
그래서 distributed computing, 스케일링에 관심 있는 거면 차라리 데브옵스, 컴사 관련이라면 그냥 개발, 비즈니스 쪽 연관이라면 기계학습과 R/Python 추천하는 편입니다. 참고로 데이터 엔지니어라고 하는 것보다는 데브옵스가 자리 훨씬 많고 페이도 더 센 경우 많습니다. 데브옵스가 데이터 엔지니어 일을 포함하는 경우도 많고요.
마지막으로. 확실하지 않으면 컴사 공부하셔서 개발자로 우선 취업하세요. 개발자가 IT 업계의 줄기세포입니다. 개발자에서 다른 길로는 거의 아무 자리나 갈 수 있지만, 그 반대는 힘듭니다.
다시 간단 정리
수학/통계/물리로 학/석/박 했음 -> 특히 수학에 강하다면 펀드나 금융 쪽 추천.
컴사 학사 -> 개발자로 취업 추천.
컴사 학사 + 기계학습 석사/박사 -> 탑 테크의 데이터 사이언티스트 신입도 가능. 경력직일 경우 훨씬 쉬움.
BI 쪽에서 오래 있었고 전략/기획 쪽이거나, 어떤 특정 분야의 전문가 -> 탑 테크 원한다면 아마도 마케팅 부서. 그 아래 티어 대기업이면 데이터 사이언스 부서도 가능. 여기 임금 격차가 아마도 제일 클 것임. 많이 받는 사람은 c레벨로 엄청 받고 신입 데이터 잡부 레벨이면 그냥 대기업 초봉 정도.
그냥 가면 섭섭하니까
- 통계에 강함 - 통계 모델링, 실험 디자인, A/B 테스팅, 샘플링, 클러스터 분석, 예측 모델링 등
- 수학에 강함 - NSA, 국방부의 빅데이터 관련 일, 천문학자, 사업 최적화 파트(재고 관리, 수요 예측, 가격 최적화, 공급체인, 품질 관리 등등)
- 데이터 엔지니어링에 강함 - 하둡, 데이터베이스 관리 및 최적화. 데이터 파이프라인, API, 데이터 흐름 디자인 및 관리
- 기계학습/컴사에 강함 - 기계학습 알고리듬이나 모델 전문
- 비즈니스에 강함 - ROI 최적화, 비즈니스 애널리스트들이 주로 하던 일. Decision science.
- 개발에 강함 - 데이터 추출 혹은 데이터 파이프라인 프로덕션 코드 구현
- 시각화에 강함
- GIS에 강함 - 공간 데이터 분석. 그래프 데이터베이스를 이용한 데이터 모델링.
하나만이 아니라 여러 가지 잘 하는 사람도 많습니다. 그래서 세상은 불공평하죠.
덧: 글 쓰고 나니까 "아니 그럼 석박 해야 취업 된다는 말이냐"로 이해하신 분들이 많아서 추가글 올렸습니다.
https://www.facebook.com/londonyangpa/posts/1819484655003680