데이터 사이언티스트

Eunjin Kim·2022년 4월 11일
0

DATA

목록 보기
2/2

출처 : https://medium.com/code-states/%EB%A8%B8%EC%8B%A0-%EB%9F%AC%EB%8B%9D-%EC%97%94%EC%A7%80%EB%8B%88%EC%96%B4-vs-%EB%8D%B0%EC%9D%B4%ED%84%B0-%EC%82%AC%EC%9D%B4%EC%96%B8%ED%8B%B0%EC%8A%A4%ED%8A%B8-7cff2ae6f253

Job search — Which title to choose and how to prepare?

머신 러닝 엔지니어든, 데이터 사이언티스트든, 이쪽 분야에 들어오고 싶다면, 어떤 직업을 골라야 할지 고민이 될 것이다. 고민 해결에 도움을 주기 위해 머신 러닝과 관련된 4개의 주요 직업에 대해 간단하게 설명하려고 한다. 물론 모든 직업으로 일해 본 것은 아니다. 하지만 그 분야에서 일하는 친구들로부터 얻은 인사이트를 참고해서 공유해보려고 한다. 부가적으로 각 직업 설명의 마지막 부분에 인터뷰의 예상 질문이나 내용에 대한 정보를 적어두었다. 인터뷰는 총 4 라운드로 진행한다고 가정했다.

  • 데이터 사이언티스트: 빅 데이터 분석하고, 실험과 A/B test 설계하고, 사업 전략을 짜기 위해 간단한 머신 러닝과 통계 모델을 구축하고 싶다면? 데이터 사이언티스트는 덜 체계적이며 불확실성이 많고, 당신이 프로젝트를 이끌어 나가는 경우가 많다. (인터뷰: 1 확률/통계, 1 Leetcode, 1 SQL, 1 머신러닝).
  • 머신러닝 엔지니어: Tensorflow나 PyTorch 같은 최신 머신 러닝 모델을 빌드하고 배포하고 싶다면? 단순히 모델을 만드는 것뿐만 아니라, 그 모델을 실행하는 소프트웨어를 만드는 일도 담당해야 한다. 소프트웨어 엔지니어(SWE)와 비슷하다. (인터뷰: 3 Leetcode, 1 머신러닝).
  • 리서치 과학자(Research Scientist): 컴퓨터 공학에 PhD를 갖고 있고 ICLR(International Conference on Learning Representations, 머신러닝학회)에 머신 러닝 논문이 있다면? 머신러닝 리서치의 한계를 벗어나고 싶고, 당신의 논문이 인용될 때 신난다면? 대부분의 리서치 과학자는 구글이나 페이스북에서 일하게 된다. PhD 없이 리서치 과학자가 되는 것도 가능하지만, 아쉽게도 그런 사람들은 많이 찾을 수 없다. (인터뷰: 1 Leetcode, 3 머신러닝/리서치)
  • 응용 과학자 (Applied Scientist): 머신러닝 엔지니어와 리서치 과학자의 혼합이라고 생각하면 된다. 코드와 최신 머신 러닝 모델에 모두 신경을 쓰는 직업이다.

물론, 위 설명이 엄청나게 길지는 않다. 하지만 친구들과 얘기하고 다양한 직업 설명 글을 읽어본 뒤, 공통으로 나온 내용을 정리했다. 아직 어떤 직업으로 지원해야 할지 감이 오지 않는다면 약간의 팁을 더 주도록 하겠다:

잡 디스크립션을 읽어라: 사실 직업명은 큰 신경을 쓸 필요 없다. 같은 “데이터 사이언티스트”여도 전혀 다른 일을 할 가능성이 있다.

링크드인을 활용해라: 애플의 데이터 사이언티스트는 무슨 일을 하는지 궁금하다면, 링크드인에 애플 데이터 사이언티스트를 검색해서 그들의 이력이나 활동을 살펴보면 된다. 대부분 컴퓨터 공학 PhD인지, 학사 졸업생인지, 어떤 연습을 했는지에 대해 알아보면 그 회사의 데이터 사이언티스트에 대해 더 자세하게 알 수 있다.

인터뷰: 테크니컬(technical)한 일을 할 줄 알았던 직업에서 코딩 인터뷰를 보지 않았다면, 테크니컬한 직업이 아닐 가능성이 높다. 대부분의 경우, 인터뷰 내용이 실제 업무에서 할 일과 비슷하다.

출처: https://medium.com/code-states/%EC%9E%A5%EA%B8%B0%EC%A0%81%EC%9D%B8-%EB%8D%B0%EC%9D%B4%ED%84%B0-%EC%82%AC%EC%9D%B4%EC%96%B8%EC%8A%A4-%EB%A1%9C%EB%93%9C%EB%A7%B5-b53024bdd99c

My Roadmap

우리를 좋은 데이터 사이언티스트로 레벨업 시켜줄 중요한 스킬이 하나 있다. 아직 그 실력이 없다면 서둘러 연습하고 발전시키는 것을 권한다. 바로 자신의 생각을 명확히 표현하고, 필요한 정보를 찾고, 찾은 정보를 이해하는 능력이다. 간단해 보이지만 실제로는 이 스킬이 없는 사람도 많다. 어떤 사람들은 본인의 생각을 명확하게 전달하지 못하고, 어떤 사람들은 기본적인 질문에 대한 답조차 찾지 못하는 경우도 있다. 구글에 제대로 질문하는 법도 모르는 사람도 있다. 기본적이지만 필수 스킬이기 때문에 더더욱 완벽하게 마스터해야 한다!

  1. 한 프로그래밍 언어를 선택하고 공부를 시작해라. 보통 Python이나 R일 것이다. 개인적으로 두 언어 중 Python을 더 추천한다. Python과 R 중 어떤 언어가 더 나은지에 대한 주장은 이미 많기 때문에 이유를 전부 나열하지는 않겠지만, 경험상 Python이 더 유용하고 다방면으로 사용이 쉽다고 생각한다. 2–4주 동안 그 언어로 기본적인 것들을 할 수 있을 만큼 배워라. pandas/matplotlib이나 tidyverse/ggplot2와 같이 자주 사용되는 library에 대해 전반적인 이해를 갖춰라.
  2. Andrew NG의 머신 러닝 수업을 들어라. 오래된 수업이지만 기본적인 베이스를 잘 잡아줄 수 있다. 필수는 아니지만 Python이나 R로 수업 문제들을 풀어보면 도움이 될 것이다.
  3. 머신러닝에 대한 수업을 더 들어라. R 유저들에게는 Analytics Edge를 추천하고, Python 유저들에게는 mlcourse.ai를 추천한다. 러시아어를 안다면 Coursera의 이 수업도 추천한다. 개인적으로 세 수업 중 mlcourse.ai가 제일 좋은 것 같다. 꽤 좋은 이론과 도전적인 과제로 구성되어있을 뿐더러 수강생들에게 캐글(Kaggle) 대회에 참가하고 개인 프로젝트를 하도록 서포트해주기 때문이다. 이런 수업 방식은 실전에 도움이 많이 된다.
  4. SQL을 공부해라. 많은 회사들은 데이터를 관계형 데이터베이스(relational database)에 보관하기 때문에 데이터를 엑세스하기 위해서는 select, group by, CTE, joins 및 다양한 SQL command에 익숙해져야 할 것이다.
  5. 로우 데이터(raw data)로 작업하고, 정리되지 않고 지저분한 데이터 세트에서 시작하면 좋은 경험일 것이다.
  6. 5번은 필수가 아니지만, 6번은 필수다! 적어도 한두 개의 프로젝트를 스스로 처음부터 끝까지 완성해라. 데이터 세트를 활용해 심층적으로 분석하고 모델링하거나 앱을 만들어보는 것도 좋다. 이 과정을 통해 우리는 아이디어를 떠올리고 구현하는 방법과 데이터를 수집하고 활용하는 방법을 전부 배우며 프로젝트를 완성하는 전체적인 프로세스를 이해하는 것이 중요하다.
  7. 캐글(Kaggle)에서 커널(kernel)에 대해 배우고 대회에 참가해라.
  8. 데이터 사이언스 커뮤니티를 가입해라. 나는 러시아의 데이터 사이언티스트가 15,000명 이상 활동하는 ods.ai라는 커뮤니티에 조인했고, 내 데이터 사이언스 여정에도 도움을 주었다. (참고로 이 커뮤니티는 러시아인뿐만 아니라 모두에게 열려있다!)
profile
ALL IS WELL🌻

0개의 댓글