이 글은 How You Should Create A Data Science Portfolio That Will Get You Hired라는 글의 번역본입니다. 제가 개인 포트폴리오를 만들기 시작했을 때 참고했던 유용한 글이라 공유합니다.
특히 현재 다른 공부, 일을 하면서 데이터 사이언스로 커리어를 바꾸려는 분들께 도움이 될 것 같습니다.
당신은 바쁘다. 그래서 단순히 포트폴리오를 만들기 위해 학교로 돌아갈 수 없다. 데이터 사이언스는 새롭고, 사람들마다 다른 정의를 내리는 분야다. 특히 당신이 혼자서 데이터 사이언스에 필요한 스킬을 배우고 있다면, 불필요한 것들을 배우고 있는 건 아닌지 걱정이 될 수도 있다. 그리고 어쩌면 잘못된 방향으로 데이터 사이언스 포트폴리오를 만들 수도 있다.
당신의 꿈은 기업에 지원할 필요도 없이 포트폴리오만으로 데이터 사이언스 잡을 구하는 것이다. 당신은 리쿠르터와 기업이 당신의 포트폴리오를 보고 잡 오퍼를 주기 위해 당신에게 연락하기를 꿈꾼다. 당신은 포트폴리오로 이 업계에 이름이 알려지기를 원한다. 당신은 미래의 고용주가 당신의 포트폴리오를 통해 이미 당신에 대한 명성을 알고 있기를 바란다.
당신은 포트폴리오를 보여주면서 성공적으로 면접을 본다. 당신은 비록 커리어를 바꾸려는 상황이지만, 고용주에게 당신이 정말로 가치 있는 지원자임을 증명하고 싶다. 당신은 포트폴리오가 당신의 비판적 사고 능력을 분명히 보여주어, 면접에서 당신의 비판적 사고 능력을 평가하는 질문은 받지 않았으면 한다. 그리고 커뮤니케이션 능력에 대한 질문 역시 받고 싶지 않다.
면접은 망쳤지만 면접 후 이메일로 채용 담당 매니저에게 자신의 블로그를 보여주어 잡 오퍼를 받은 사례들을 들어본 적이 있을 것이다. 당신은 면접을 망치고 싶지 않다. 그렇지만 그런 일이 일어나더라도 당신은 포트폴리오로 잡 오퍼를 받고 싶다.
여기서 질문은 - 어디서 시작해야 하는가? 포트폴리오가 면접 전, 면접 중, 그리고 면접 후에 제대로 도움이 되는지 어떻게 알 수 있을까? 당신의 포트폴리오가 언제나 당신에게 도움이 되는지 어떻게 알 수 있을까?
바다를 끓여보려는(boil the ocean) 접근 - 기준 없이 아무 프로젝트나 하면서, 미래 고용주에게 도움이 되었으면 하는 '무언가'를 배우려는 접근. 데이터 사이언스에 대한 수만 가지의 정의가 있고, 데이터 사이언스 팀의 구성과 역할도 각기 다르고, 데이터 사이언스에 대한 수많은 언어와 테크닉, 목표가 존재한다. 그래서 미래의 고용주에게 도움이 될 '무언가'를 하게 될 확률은 희박하다. 그래서 이 접근으로는 당신이 취업 시장에서 돋보이거나, 시간을 현명하게 쓸 수 없다. 당신은 바쁘다. 진정으로 도움이 되는 일에 노력을 기울이는 것이 좋지 않을까?
돋보기로 불을 지피는(magnifying glass fire starting) 접근 - 햇빛을 돋보기로 집중시켜서 열기의 온도를 높이듯이, 포트폴리오도 집중과 강렬함이 있어야 한다. 그래서 미래의 고용주가 당신을 뽑고 싶게 만들어야 한다.
여기에 취업을 위한 데이터 사이언스 포트폴리오를 만드는 10가지 단계가 있다:
1. 바다를 끓여보겠다는 불가능한 야망은 잊어라
2. 돋보기로 불을 지피겠다는, 선택과 집중의 접근을 취해라
3. 취업하고 싶은 5-10개의 데이터 사이언스 자리를 찾아라
4. (3번에서) 어떤 스킬 셋이 필요한지, 어떤 업무를 맡게 되는지 정리한다
5. (4번에서) 공통되는 스킬 셋과 업무 (예: NLP, classification)를 파악한다
6. (3번에서) 어떤 툴이 요구되는지 정리한다
7. (6번에서) 공통되는 툴 (예: R, 파이썬, 스칼라, 하둡)을 파악한다
8. (5번과 7번에서) 당신이 이미 갖고 있는 스킬 셋, 다룰 줄 아는 툴이 아니라면, 포트폴리오를 만들면서 배운다
9. 3개의 프로젝트를 한다. 이 프로젝트들은 공통되는 스킬 셋을 커버하면서 공통되는 툴을 이용해야 한다
10. 프로젝트 별로 구조화된 문서(보고서)를 작성한다
너무 깊게 고민하지 마라. 3단계에서 찾은 데이터 사이언스 자리에서 쓰이는 데이터를 보았다면, 어떤 프로젝트를 해야 할지 감이 왔을 것이다. 너무 많이 걱정하기보단, 일단 첫 번째 프로젝트를 시작해라. 그다음에 두 번째 프로젝트에서 무엇을 할지 다시 고민해봐도 된다. 두 번째 프로젝트가 끝난 다음엔 세 번째 프로젝트에 대해 고민할 수 있다. 예상하듯이 점점 생각이 명확해질 것이다. 심지어 처음에 생각하지도 못했던 데이터셋과 프로젝트를 두 번째, 세 번째 프로젝트에서 선택할 수도 있다.
포트폴리오의 중요한 요소 중 하나는 비판적 사고 능력과 커뮤니케이션 스킬을 보여주는 것이다. 10단계가 이 두 가지 스킬을 보여주는 가장 중요한 단계이며, 많은 시간이 할애될 것이다. 다음의 질문들은 프로젝트를 문서화할 때 기억할 사항이며, 어쩌면 문서에 하나의 섹션으로 들어갈 수도 있다:
1. 나는 어떤 질문에 답변하고자 하는가?
2. 왜 그 질문이 중요한가?
3. 어떤 데이터를 이용했는가?
4. 어디서 그 데이터를 얻었는가?
5. 데이터는 어떻게 샘플링되었는가?
6. 데이터는 어떻게 얻었는가?
7. 어떻게 데이터를 분석했는가?
8. 어떻게 데이터를 모델링했는가?
9. 왜 해당 모델링 방법을 선택했는가?
10. 어떤 코드를 썼는가?
11. 어떻게 모델을 fit(모델이 데이터를 가장 잘 설명하는 형태로 최적화) 했는가?
12. 어떻게 모델을 평가했는가?
13. 당신의 결론이 현실적이라고 어떻게 자부하는가?
14. 어떻게 결과를 시각화하였는가?
15. 어떻게 결과를 타인에게 전달할 것인가?
16. 당신은 무엇을 배웠는가?
17. 다시 프로젝트를 한다면 어떤 부분을 다르게 할 것인가?
18. 이 프로젝트를 지속한다면, 다음 단계는 무엇이 될까?
19. 데이터 사이언티스에게 당신의 프로젝트를 어떻게 설명할 것인가?
20. 데이터 사이언티스가 아닌 사람에게 당신의 프로젝트를 어떻게 설명할 것인가?
다시 한번 말하지만, 중요한 것은 무언가를 적어서 정리하는 것이지 완벽해지는 것이 아니다. 첫 번째 프로젝트를 해보면 두 번째 프로젝트에 대해 더 감이 생길 것이다. 두 번째 프로젝트를 문서화할 때는 이미 문서화와 프로젝트 경험이 있기 때문에 더 능숙하게 쓸 것이다. 그리고 세 번째 프로젝트를 할 땐 두 번째 프로젝트보다 더 잘하게 될 것이다. 기억해라 - 목표는 완벽해지는 것이 아니라 기록이다.
이제 첫 번째 스텝을 시작해보자. 데이터 사이언스 자리를 찾아보자. 당신의 맘에 드는 포지션 한두 개를 찾는다면 공고 내용을 복사해서 기록해두자. 이것으로 취업을 위한 데이터 사이언스 포트폴리오 만들기 10단계를 시작하는 것이다.