요즘 글로벌 시장에서 Data Scientists 부족으로 난리라고 한다.. 가장 요구되는 기술들이 무엇인지 분석한 기사가 있어서 번역을 통해서 소개하고자 한다 (자세한 내용은 아래의 링크를 통해서 원문을 확인하자).
원문(The Most in Demand Skills for Data Scientists) 링크
저자 Jeff Hale 블로그 링크
기사에서는 조사지역은 미국, 키워드는 “Data Scientist”와 “다른 키워드”를 AND 타입으로 검색하여 데이터 사이언티스트와 연관 키워드가 완전히 매칭되는 결과들만을 모아서 조사하였다. 사용한 채용 사이트는 LinkedIn, Indeed, SimplyHired, Monster, AngelList로 5가지이다.
먼저 아래의 그래프를 통해 요구되는 일반적 스킬들에 대해서 알아보자.
(그래프를 만드는데 사용된 자료 및 과정은 Jeff Hale Kaggle Kernel을 참고할 것).
원본 데이터를 통해서 확인해보면 LinkedIn을 제외한 다른 채용사이트들에서는 Analysis의 비중이 더 높았다. 그래서 전체를 Combine한 결과를 보여주는 위의 그래프에서는 Analysis가 가장 비중이 높은 것으로 보이는 것이다.
원문 저자가 얻은 Insight를 요약하자면,
- Machine Learning은 예측 시스템을 만드는 가장 핵심 기술이므로 가장 요구되는 기술.
- Data Science는 통계 및 Computer Science기술이 필수.
- Communication이 절반에 가까운 잡 포스팅에서 요구되고 있는 점.
- AI, Deep Learning의 빈도수가 높지 않았으나, 이는 Machine Learning의 부분집합이므로 생긴 현상이다.
- Deep Learning의 경우는 점점 더 사용되는 경우가 늘고 있다. 예를 들어 자연어 처리의 경우에도 가장 많이 사용되고 있는 알고리즘은 Deep Learning. 미래에 Deep Learning 스킬이 훨씬 많은 곳에서 요구하게 될 것이며, Machine Learning은 즉 Deep Learning을 의미하게 될 것이라 본다.
다음으로는 회사가 원하는 Technology Skills 에 대해서 살펴보자.
- Python
1위는 Python. 말이 필요 없다. - R
R은 Python과 비중에서 큰 격차를 보이진 않는데, 이는 R이 Python 이전에 Data Science의 필수 언어였기 때문이다. R의 최초 목적은 통계학을 위해서 시작되었고, 아직도 많은 통계학자들에게 사랑을 받는다. - SQL
SQL은 간혹 Data Science 세계에서 무시되는 경우도 있지만, 실제로는 많은 회사에서 요구되며 해당 스킬을 가지고 있으면 채용시장에서 당연히 훨씬 유리하다. - Hadoop And Spark
둘은 모두 Apache에서 제공되는 빅데이터를 위한 Open Source Tool이다.
이 두 가지 스킬은 Medium에서나 Tutorial 등이 눈에 띄게 적게 다뤄지고 있다. 지원자(취준) 중에도 앞서 설명한 기술들을 사용하지만 이 두 가지는 못하는 경우가 훨씬 많으므로, Hadoop과 Spark를 할 줄 안다면 채용시장에서 확실히 유리해질 것이다. - Java and SAS
저자는 이 두 가지 스킬이 이렇게 요구되는 사실에 놀랐다. 이 둘은 보통 Data Science 커뮤니티에서 그렇게 주목받고 있지는 않다. - Tableau
Tableau는 분석 플랫폼 및 시각화 도구이며, 사용법이 간편하다. 현재 무료 버젼이 있지만, 데이터를 Private하게 보관하려면 유료이다.
저자는 만약 Tableau 을 사용한 경험이 없다면, Udemy의 Tableau 강의 를 추천했다.
아래 그래프는 2017년과 2018년을 비교한 것이다.
전체적으로 비슷하다. 하지만, R, Hadoop, Java, SAS and Matlab 의 요구도는 내려가고 있고, Tableau 는 확실히 올라가고 있다는 점은 주목할만하다.
결론(추천 사항들)
- 데이터 분석은 기본, Machine Learning 기술을 높이는데 집중하자.
- Communication 능력에 투자할 것. 추천 책으로는 Made to Stick이 있고, Hemmingway Editor을 통해서 writing 능력도 키우자.
- Deep Learning 프레임워크들을 마스터하자. Deep Learning 프레임워크을 능숙하게 사용할 수 있어야한다. 저자가 쓴 다른 블로그 글도 참고할 것.
- 만약 R과 Python 중에 배울 언어를 고민 중이라면, Python을 선택할 것. 먼저 Python이 능숙하다면 R을 배우는 것을 고려해볼 것(채용시장에서 더 유리할 것이다).
회사에서 Python을 사용하는 Data Scientist을 구한다는 것은 당연히 Data Science Libraries(numpy, pandas, scikit-learn, matplotlib 등)를 다루길 기대하는 것이다.
만약 Deep learning을 배우고자 한다면, Keras, FastAI 를 TensorFlow or PyTorch 이전에 시작할 것을 추천한다. Keras 공부를 위한 추천 책은 Deep Learning with Python이다.
끝으로 채용사이트는 LinkedIn을 추천한다.