이 포스팅은 Medium 블로그를 번역한 내용입니다.

원문 링크 : How to Build a Data Science Portfolio

어떻게 하면 Data Scientist로 취업할 수 있을까? 통계, 머신러닝, 프로그래밍 등을 충분히 안다면 취업을 하는 것은 어려운 일이 아니다. 하지만 최근에 내가 발견한 점은 사람들이 데이터 사이언티스트로 취업에 필요한 스킬들은 갖췄음에도 포트폴리오를 준비하지 않은 경우를 많이 볼 수 있었다. 당연히 이력서나 자소서가 중요하듯! 사람들에게 자신의 능력을 증명할 수 있는 포트폴리오가 취업 때 하는 역할은 더할 나위 없이 중요하다. 해외 취업의 경우 신뢰할 수 있는 사람으로부터의 소개나 추천이 있다 하더라도, 그냥 말로 자신이 무엇을 할 수 있는지 전달하는 것보다는 보여주는 것이 훨씬 중요하다는 것. 이 포스팅에서는 많은 프로페셔널 데이터 사이언티스트들이 말하는 포트폴리오에 어떤 것을 포함해야 하는지? 어떻게 돋보이게 할 수 있는지 등을 포함하고 있으니 꼭 도움이 되길 바란다!

목차

포트폴리오의 중요성

만드는 과정에서 배우는 것이 있다는 점 외에도 취업에 있어서 아주 큰 혜택을 주는 것이 포트폴리오이다. 이 포스팅에서는 포트폴리오의 정의를 대중들에게 자신이 가진 데이터 사이언스 스킬을 증명하는 것으로 하자. (이 정의는 DataCamp의 Chief 데이터 사이언티스트인 David RobinsonMode Analytics blog소속 Marissa Gemma의 인터뷰에서 표현한 것을 가져왔다). 그는 어떻게 처음에 이 분야에서 일하게 됐냐는 질문에 아래처럼 답했다.

"내가 사용했던 가장 효과적인 방법은 public 한 작업들을 했다는 것이었다. 블로그를 했고 박사학위 과정 중에는 많은 오픈소스 프로젝트에 참여하였는데, 이 경험은 내가 데이터 사이언스 기술들을 많이 가졌다는 것을 사람들에게 알리는 계기가 되었던 것이다. 처음으로 이 분야에 일을 구하게 된 가장 큰 계기는 Stack overflow에 남겼던 나의 답변 덕이었는데, 그 답변에 감탄한 한 회사의 직원이 내게 연락이 왔고, 몇 번의 면접 후에 취업을 했던 것이었다."

David은 자신의 블로그에 이와 관련해 표현하기를,

공개적인 작업을 많이 할 수록 이런 극적인 우연들이 일어날 확률이 높아진다.

사람들은 간혹 소프트웨어 엔지니어나 데이터 사이언티스트들도 그들에게 발생한 문제들을 구글링한다는 사실을 깜빡한다. 만약 이들이 당신이 공개한 작업에 의해서 도움을 받은 적이 있다면, 그들은 당신에게 연락을 하려고 할 것이다.

포트폴리오로 경험 부분 채우기

아래의 짤에서 보여주듯 대부분 회사들은 신입사원을 뽑는 공고에서조차 일 경험이 있길 기대하는 경우가 많다.

문제는 이처럼 일 경험이 없는데 경험을 요구하면 어떻게 해야하는 것인가하는 점이다. 그 해답은 바로 프로젝트이다. Will Stanson은 프로젝트가 경험을 대체할 수 있는 최고의 방법이라고 말한다.

만약 당신이 데이터 사이언티스트 경험이 없다면, 반드시 개인 프로젝트를 실시해야한다.

실제로 Jonathan Nolis가 지원자에게 듣고싶어했던 것은 최근에 프로젝트 진행중에 어떤 문제점을 해결했는지였다.

“난 그들이 최근에 한 프로젝트를 듣고 싶다. 그들에게 해당 프로젝트를 시작하게 된 동기라던가 그 일에 왜 시간을 투자하기로 결정했는지, 진행과정과 결과 등을 물어봤다. 또한 그들이 프로젝트를 통해서 배운 점이 무엇인지를 물어봤고, 특히 ‘해결하고자 하는 문제가 가진 가치가 무엇이며 그것을 위해서 어떤 식으로 노력했는가?’라는 질문을 통해서 가장 얻고 싶은 대답들을 얻을 수 있었다.”

만약 당신이 데이터 사이언티스트로써의 경험이 없다면 최고의 방법은 당신이 진행한 데이터 사이언스 프로젝트를 최대한 보여주는 것이다.

어떤 프로젝트를 포트폴리오에 포함해야할까?


데이터 사이언스의 범위가 너무 넓어서 채용매니저들이 어떤 프로젝트들을 보고싶어할지 알기는 어렵다. Quora의 데이터 사이언스 매니저인 William Chen이 2018년 Kaggle 채용 박람회에서 아래처럼 설명했다.

난 사람들이 숙제나 과제를 넘어 데이터에 대한 관심을 보여주는 것을 좋아한다. 개인적 프로젝트를 통해서 데이터셋에 대한 자신만의 열정이나 흥미로운 결과를 보여주는 것.. 그 것에 대해서 깔끔하게 문서화한 것.. 그런 작업들을 통해서 난 자주 감탄을하고 한다.



많은 사람들이 프로젝트를 만드는 것의 가치를 알고있으나, 가장 중요한 점은 왜 그 데이터들에 당신이 관심을 가졌고, 어떤 인사이트를 얻거나 얻으려했는지에 대해서는 잘 설명해내지 못한다. Airbnb의 데이터 사이언티스트인 Jason Goodman은 자신의 포스트인 “데이터 포트폴리오 프로젝트에 관한 조언”에서 다양한 프로젝트 아이디어와 어떤 데이터셋을 이용하면 좋은지에대해 조언을 해주고 있다. 그는 또한 William이 말한 것처럼 interesting data, 흥미로운 데이터를 가지고 작업해야한다는 점을 강조했다.



난 최고의 포트폴리오 프로젝트는 화려한 모델링보다는 흥미로운 데이터셋을 사용하는 것에 있다고 생각한다. 많은 사람들이 금융 데이터나 트위터데이터를 사용하는데, 이런 데이터들은 주로 흥미롭지는 않아서 고행을 겪을 확률이 높다.



그는 웹 스크래핑이 흥미로운 데이터를 얻기위한 좋은 방법이라고 이야기했다. 만약 당신이 웹스크래핑을 통해서 데이터셋을 얻고싶다면 나의 포스트를 확인하길 바란다. 또한 만약 당신이 학위를 얻고있는 중이라면 논문에 사용한 프로젝트는 아주 좋은 프로젝트가 될 수 있다는 점도 명심하자(예로는 William Chen이 포스팅한 자료를 확인하자).

포트폴리오에 넣으면 안되는 프로젝트는?


넣으면 오히려 안좋은 프로젝트들은 존재한다. Jaremie Harris데이터 사이언티스트로 채용안되는 최고의 4가지 방법에서 설명하기를,




이력서나 포트폴리오에서 개인 프로젝트란에 개념 설명용 데이터셋을 사용하여 진행한 프로젝트가 포함되어 있는것보다 떨어지기 쉬운 방법은 없다.




그에 해당하는 프로젝트가 어떤 것이 있는지 헷갈린다면.. 몇가지 소개해주겠다.

  • Titanic Dataset
  • MNIST Dataset
  • iris Dataset
  • ...
어떤 프로젝트를 포함하면 안되는지 충분히 감이 왔을것이라 생각한다. 자신만의 프로젝트를 포함시키도록 하자!

포트폴리오는 재사용 가능하다

Favio Vazquez의 멋진 포스팅에서 어떻게 자신이 데이터 사이언티스트로 취업됐는지 설명했는데 그 중 좋은 팁을 소개하자면,

만약 당신이 진짜 데이터를 이용하는 데이터 사이언티스트로써 높은 연봉을 받고 싶다면 포트폴리오를 만드세요. 프로젝트들을 Github에 포스팅하고, Kaggle 시합만이 아닌 당신이 문제를 직접 정의하고 데이터 셋을 만들어서 해결한 경험이 있어야 합니다.

여기서 중요한 점은 취업을 계속 도전하면서 포트폴리오도 개선해나가야 한다는 점입니다.

난 125번 정도 이력서를 제출한 경험이 있다. 이 중에서 25-30 곳에서 답장이 왔지만, 그 중 일부는 거절 답장이었으며, 15 곳 정도에서만 면접을 제안받았다.

난 매순간 무엇인가를 배우며 개선해나갔다. 많은 시간을 공부와 프로그래밍에 투자하였고 많은 articles와 posts를 읽은 것이 취업하는 것에 큰 도움이 되었다.


당신은 여러번의 면접을 보게될 것인데 그때마다 배운점을 반드시 업데이트해야함을 명심하자. 이와같은 조언들은 다양한 포스팅에서 발견할 수 있는데, Jason Goodman

공개후에 계속해서 수정해도되니 두려워하지말고 미완성인 프로젝트도 꼭 공개하라.

라고 표현했다. 특히 이 조언은 꼭 적용시키도록 하자! Airbnb의 데이터 사이언티스트인 Kelly Peng같은 경우가 계속해서 개선하여 성공한 대표적인 사례다. 그녀의 포스팅에서 어떤 과정을 겪었는지 아래처럼 밝혔다.

지원 : 475
전화 면접 : 50
완성한 사전 과제 : 9
현장 면접 : 8
최종 제안 : 2
총 사용한 시간 : 6개월


위에서 보다시피 그녀는 정말 끈질기게 도전을하였다. 고맙게도 그녀는 포스팅에서 어떤 방식으로 계속해서 도전했는지 알려줬는데 그 방법을 아래와 같다.

면접 때 받은 모든 질문을 꼭 기록하자. 특히, 대답을 하는 것에 실패한 것이면 더욱 더 중요하다. 당신은 또 떨어질수는 있지만, 같은 문제때문에 떨어져서는 안된다. 항상 배우고 개선하자!

포트폴리오를 1장짜리 이력서에 포함시키자

포트폴리오를 알리는 방법은 당연히 이력서에 포함시키는 것이다. 이력서는 특히 어떤 기술을 할 줄 아는지 적는 것에 집중하는 것이 좋고, 간결하게 당신이 왜 해당 직무에 맞는지를 설명하는 가장 좋은 회라고 볼 수 있다. 채용 매니저들은 아주 빠른 속도로 이력서를 훑기때문에 당신이 가진 시간은 실제로 아주 짧다는 것을 명심하고, 이력서를 개선하는 것이 면접으로 가는 최고의 지름길임을 기억하자.

Quora의 데이터 사이언티스트 매니저인 William Chen데이터 사이언티스트 이력서 만드는 9가지 팁 영상에서 밝힌 9가지를 아래에 나열해봤다.
  • 1. 길이 : 최대한 간결하게 1장으로 끝내자.
  • 2. Objective(목적) : 포함하지말자. 다들 비슷하게 적기때문에 여기서 차별화를 하긴 어렵다.
  • 3. 경험있는 지식분야 : Job description에서 요구하는 분야를 기입하는 것이 좋다(예: Machine Learning, Neural Networks and Language, NLP ...).
  • 4. 기술(Skills) : 스스로 점수를 부여하지는 말자. 만약 적고싶으면 proficient, familiar 등으로 묘사하자.
  • 5. 기술(Skills) : 역시 Job description에서 언급한 기술들을 적는 것이 좋고, 자신이 가장 잘하는 순서대로 적자.
  • 6. 프로젝트 : 숙제와 같은 프로젝트는 기입하지말고, 좀 더 차별화 가능한 프로젝트만을 기입할 것.
  • 7. 프로젝트 : 결과와 링크를 꼭 달아주자. 만약 Kaggle 시합을 나간거라면 상위 몇 퍼센트에 해당하는지 rank를 포함하는 것이 좋다.
  • 8. 포트폴리오 : 가장 기본은 LinkedIn 프로필이다. 이는 좀 더 넓은 범위를 포함한 이력서가 되어주기 때문이며, Github과 Kaggle 프로필도 도움이 된다. 꼭 링크들을 포함시키고, Github의 경우에는 repo들의 설명도 간결하게 포함하자. medium이나 quora같은 블로그 링크도 포함하는 것이 좋다. 데이터 사이언스는 특히 데이터가 어떤의미를 가졌는지를 사람들에게 표현하는 것이므로 그런 요약이 잘되어있는 몇가지가 있으면 더 좋다.
  • 9. 경험 : 경험은 역시 이력서의 코어가 되는 부분이다. 하지만 만약 아직 일 경험이 없다면 어떡해야할까? 그럴 땐 개인 프로젝트에 집중하면 대체할 수 있으니 꼭 잘 표현하도록 하자. 개인 프로젝트라고하면, 개인적인 연구나 논문 혹은 Kaggle 시합이 있을 수 있다. 혹시라도 관계없는 경험을 이력서에 적는 것은 피하도록 하자.

소셜미디어의 중요성


이 부분은 포트폴리오와는 조금 독립적인 부분이지만, Github, Kaggle profile, Stack Overflow 등은 이력서에서 아주 좋은 역할을 할 수 있으니 소개하고자 한다.



David Robinson




대체적으로 난 지원자들을 평가할 때, 그들이 공개해놓은 작업들을 보는 것을 좋아한다. 설사 그 작업들이 미완성이거나 깔끔하게 정리되어있지 않더라도 언제나 공유하는 것이 공유하지않는 것보다 좋은 것을 명심하자.




이라고 표현했으며, Will Stanson은 데이터 사이언티스트가 작업을 공개하는 것이 중요한 이유를 아래처럼 표현했다.




데이터 사이언티스트는 공개하는 것을 문제를 해결하는 하나의 방법으로 사용한다. 만약 당신이 그렇게 해낼 수 있다면, 아직 데이터 사이언티스트로 글자 그대로 일한 경험이 없다고 하더라도 이미 데이터 사이언티스트가 된 것을 의미한다.




대부분의 데이터 사이언스는 데이터를 공개하고 그것에 대해서 대화를 나누는 것이므로 이러한 온라인 프로필을 갖는 것은 매우 중요하다. 특히 아래와 같은 소셜미디어들은 당신의 경험을 공유할 수 있을 뿐아니라, 많은 사람들로 하여금 당신의 이력서에 도달하게 만든다는 점에서 놀라운 역할을 하고 있는 것이다.

Github


Github 프로필은 가장 영향력있는 도구이다. 사람들은 이력서에서 자신의 코드가 포함된 링크를 포함하게되는데 그때 Github을 사용한다. 또한, 사람들에게 어떤 작업을 하고있는지 READEME.md를 통해서 깔금하게 알릴 수 있다. 어떤 회사들에서는 채용 매니저들이 꼭 Github을 확인한다고하니 시간을 들여서 당신의 Github 프로필을 깔끔하게 유지하도록 하자!



특히 READEME.md는 간단한 소개를 하는 최고의 방법이니 꼭 사용하도록 하자. 데이터 사이언스란 결국 결과를 소통하는 것이니 README.md는 당신의 많은 것을 보여주는 창구이다!

Kaggle


Kaggle 시합에 참여하고, Kernel을 만드는 등 다양한 토론에 참여하는 것은 데이터 사이언티스트로써의 자질을 증명하는 또 하나의 좋은 방법이다. Kaggle 시합에 대해서 Reshama ShaikhTo Kaggle or not에서 Kaggle 시합의 가치를 아래처럼 표현했다.



Kaggle 시합을 하는 것이 그 사람을 데이터 사이언티스트라고 증명하는 것은 아니다. 물론 수업을 하나 들었다거나, 컨퍼런스를 참여하였거나, 하나의 데이터셋을 분석한 것, 관련 책 한권 읽은 것 역시 그 것을 증명하는 것은 결코 아니다.


하지만 시합을 참여한 것은 당신의 경험을 더해주고 당신의 포트폴리오에 힘을 실어주는 것은 사실이다. 비록 리트머스지 테스트처럼 데이터 사이언스 스킬셋을 증명하는 것은 아니지만 당신의 다른 프로젝트들을 보충해주는 역할을 할 수도 있다.



LinkedIn


한장으로만 설명해야하는 이력서와는 달리 LinkedIn은 항상 당신의 경험들을 깊이있게 설명할 수 있다. Udacity에는 심지어 LinkedIn에 좋은 프로필 만들기라는 수업까지 있을 정도다. 특히 관련 Keywords를 당신의 프로필에 포함시켜서 채용 매니저들로부터 Searchable하게 만드는 것이 중요하다. (해외에서 채용매니저들은 대부분 LinkedIn을 통해서 구인을 하므로 관련 포스팅들을 참고하는 것을 추천한다)

Medium이나 블로그 플랫폼들


다시한번 설명하지만 데이터 사이언스는 결국 데이터를 소개하고 소통하는 직업이므로 블로그 활동과 같은 소통방법을 사용한다면 역시 취업할 때 유리하다.



David Robinson은 블로그를 통해서 얻을 수 있는 혜택을 아래처럼 나열했다.

  • Data cleaning
  • Statistics
  • Machine Learning
  • Visualization
  • Communication

Twitter


트위터에서 활성화 유저라면 이 분야에서 일하는 다양한 사람들과 소통하기에 아주 좋으며, 당신의 블로그나 포트폴리오를 홍보할 수도 있다.

Tableau Public


물론 모든 데이터 사이언티스트들이 Tableau 등의 BI 툴들을 사용하는 것은 아니지만, 만약 이러한 툴들을 사용하는 회사에 지원을 하게된다면 아주 좋은 방법이 될 수 있다. 좋은 프로필 예로 Orysya StusBrit Cava를 추천한다.

결론


강력한 이력서는 지금까지 자신의 잠재적 고용인에게 자신을 소개하는 최고의 방법이었지만, 최근에는 자신이 가진 기술들을 다양한 방법으로 보여주는 것이 취업을 하는 것에 더 큰 효과를 보여주고 있다. 포트폴리오라는 공개적인 증명방법은 이전에 평범한 방법으로 자신을 알리던 것보다 훨씬 다양한 기회를 제공하게 된다.


특히 포트폴리오라는 것은 재사용가능하고 계속해서 개선할 수 있는 점을 꼭 강조하고 싶다. 배우고 성장하는 것을 결코 멈추지 말자.


번역하면서 어색한 부분이나 정확히 전달되지 않은 부분들에 대해서는 꼭 원문을 통해서 확인하길 바란다.


특히, 소셜미디어 파트에서는 생략한 부분도 많으니, 원문을 통해서 부족한 부분을 확인하길 바라며, 이 글은 해외 취업을 하는 사람들뿐만 아니라 국내에서 취업을 희망하는 사람들에게도 참고하면 좋은 가이드라인들이 많으니 다들 좋은 포트폴리오를 통해서 자신을 어필하여 원하는 좋은 기업에 취업되길 기원한다.