“데이터 사이언스 직장 을 다니면서 학생일 때 이것을 알았더라면 지금 훨씬 수월했을 텐데 하는 것이 있나요?”
얼마 전 졸업을 앞두고 있는 데이터 사이언스 직장 을 구하고자 하는 취준생이 필자에게 질문했다. 시카고 대학을 졸업하고 새로운 일을 시작한 후에는 새로운 직장에 적응하기 바빠서 필자의 학교 경험과 직장 경험 사이의 상관관계에 고민할 시간이 없었다. “코딩 공부를 더 열심히 했을 걸 그랬어요~” 라는 뻔한 답변을 제공한 스스로가 부끄러워, 지난 2주간 일하면서 느낌점들을 메모 했는데 이번 블로그 포스팅을 통해 정리하고자 한다.
본론에 앞서 한 가지 당부하고 싶은 것은, 필자는 전통적인 tech 기업의 data scientist가 아닌 컨설팅업의 data scientist로서 의견을 정리했다는 것이다. 기타 업계에 종사하고 있는 data scientist는 분명 다른 pain point 가 있을 것이라고 예상한다.
[Project 포트폴리오가 금이다]
필자의 가장 큰 후회는 재학 중 비즈니스적으로 유의미한 프로젝트에 많이 참여하지 못했다는 점이다. 필자가 말하는 프로젝트는 1) 사회적으로나 비즈니스적으로 가치를 창출하고 2) 그 가치를 수치화 할 수 있는 프로젝트를 의미한다. 가끔 실용 통계 수업을 수강하면 최종 과제로 프로젝트를 기획할 수도 있지만, 대부분 개인적인 취미로나 과외활동 통해 이런 프로젝트에 참여한다.
다양한 프로젝트 참여가 중요한 이유는 이런 경험들이 본인의 경력이나 관심 분야를 설명할 수 있는 가장 효과적인 도구이기 떄문이다. 필자는 자신을 끊임없이 포장해야 하는 컨설팅 업계에 종사하다보니, 이 점의 중요성을 매일 느낀다. 회사내에서 본인이 관심있는 프로젝트를 얻어내기 위해서는, 그 일을 성공적으로 완수하기 위한 technical & business skillset 이 있다는 것을 증명해야한다. 데이터 사이언스 업계에서 오래동안 일한 분들은 이전 직장경험을 활용하여 설득할 수 있지만, 이제 학교를 막 졸업한 신입들에게는 어려운 과제다. 그래서 대부분 “저 이것과 관련된 수업들을 들었어요!”라고 말하는데, 매니저의 입장에서는 이론을 아는 것도 중요하지만 과연 그 지식을 활용해 비즈니스 value를 창출할 수 있는지가 더욱 핵심적인 역량이다.
그러므로 필자가 지금 다시 학생시절로 돌아갈 수 있다면, 가급적 많은 프로젝트에 참여하고자 할 것이다. 온라인상으로 쉽게 참여할 수 있는 Kaggle competition, 학생들끼리 팀을 이뤄서 시간제한내에 문제를 해결해야하는 Hackathon, 개인 관심분야에 데이터 문제 해결 등 여러 채널을 통해 프로젝트 포트폴리오를 키워 나갈 것이다. 미래에 설명해야 할 때를 대비해 1) 목표/문제점 2) 진행 과정 및 사용된 데이터 사이언스 이론/기술 3) 어려움과 그것을 어떻게 해결했는지 4) 최종 결과 5) Potential improvements 등을 각 프로젝트를 완료 이후 정리할 것이다.
[Data Science 팔방미인 되기]
필자가 후회하는 또 한가지 부분은 데이터 사이언스내 다양한 분야의 기술/이론을 배우는 것보다 성적을 우선시 했다는 점이다. 예를 들면, 문송이인 필자는 난이도가 높기로 유명한 통계학/수학 수업은 되도록 피하고자 노력했다. 석사 성적이 매우 중요하다고 믿었기 때문이다. 하지만 직장 경력을 가지고 석사에 입학한 경우, 석사 성적보다 더 중요한 것은 필요한 지식의 습득이다. 물론 필자가 현재 직장을 구한 후에 쓰는 글이라, 성적이 입사시 미치는 영향을 과소 평가하고 있을지도 모른다. 하지만 한 가지 분명한 것은 취직 후 데이터 사이언스내 새로운 이론을 집중적으로 배울 수 있는 시간은 주어지지 않는다는 것이다. 또한, 비즈니스 프로젝트 상에서는 다양한 statistical method을 혼용해서 문제를 해결하는 경우가 많기 때문에, 더 많은 분야를 이해할수록 본인이 활용할 수 있는 무기도 다양해진다.
현재의 필자는 3년 전의 필자에게 이런 말을 하고 싶다. 기본적은 통계 수업 (e.g. intro to statistics, linear regression) 이외에 아래에 나열된 분야는 어렵더라도 수강하라고…
- Bayesian statistics (e.g. probabilistic programming)
- Machine learning/Deep learning/Reinforcement learning (e.g. ensemble, neural nets)
- Optimization
- Time Series
- Causal inference
- Natural language processing
- Sampling
- Coding languages such as Python/PySpark, R, SQL, Java
- Computer operating systems
- Databases & architecture
- Data visualization
- …
위의 목록 또한 현재 수행하는 업무의 영향을 많이 받을 것이라고 예상한다. 저 모든 것을 깊게 판다는 것은 불가능하지만, 각 분야별로 기본적인 이론이라도 숙지하고 있다면 해결할 수 있는 문제의 폭도 넓어질 것이다.
[데이터사이언스는 알고리즘으로 끝나지 않는다]
마지막으로 필자가 강조하고 싶은 부분은 데이터 사이언스가 단순이 알고리즘을 만드는 것이 아니라는 점이다. 통계학 공부를 하는 많은 학생들이 모델을 만드는 것이 데이터 사이언스의 전부라고 오해한다. 하지만 prototype 모델을 만드는 것 이외에 어떻게 input data pipeline 을 만들 것인지, 모델 결과물은 어떻게 저장되는지, 진행속도는 어떻게 단축시키는지 등 그 모델을 활용하기 위한 기반 기술에 대한 이해도 데이터 사이언스의 중요한 일부분이다.
이 부분을 사람들은 흔희 dev ops라고도 부르는데, 사실 재학중에 이 쪽 분야에 대한 경험을 쌓기는 쉽지가 않다 (computer science전공이 아니라는 가정 하) 만약 필자가 학생 시절로 돌아간다면 개인 프로젝트로 데이터 서버 setup 부터 관리까지 스스로 돈을 지불해서라도 경험 해봤을 것이다.
[글을 마치며…]
이번 글에서는 필자가 학생 시절로 돌아간다면 바꿨을 핵심적인 세 가지에 초점을 맞췄지만 분명 다른 개선점들도 있다. (e.g. Github 활용 일상화) 앞으로도 데이터 사이언스 직장 을 계속 다니면서 생각나는 것이 있으면 정리할 계획이다. 이 글을 읽는 현재 재학생이나 곧 입학하는 학생들은 필자와 같은 실수를 하지 않길 바란다. 마지막으로 컨설팅 업계에서 종사 중인 data scientist의 입장에서 정리한 글임을 강조하고 싶다.
이번 글의 반응이 좋다면 차후에 tech 쪽에 데이터 사이언티스트의 얘기도 기획하겠습니다 J