데싸 커리어를 위한 필수 역량
데이터 사이언티스트로 일하면서 실무에서 정말 중요하다고 느낀 역량들을 정리해 봤어요. 데싸 커리어를 고민하시는 분들께 조금이나마 도움이 될 수 있으면 좋겠습니다.
데이터 사이언티스트로 일하면서 가장 자주 쓰는 건 단연 Python과 SQL입니다. 대부분의 프로젝트는 이 두 가지 언어를 바탕으로 시작되고 끝나요.
SQL은 데이터를 꺼내오기 위해 꼭 필요합니다. 회사의 데이터는 보통 데이터베이스에 저장되어 있어서, 원하는 데이터를 추출하거나 가공할 때 SQL을 사용해요. 리포트 작성이든, 분석이든, 어떤 작업이든 시작은 결국 "데이터를 뽑는 것"부터죠.
Python은 그 데이터를 다루고 분석하는 데 쓰입니다. 전처리, 시각화, 간단한 통계 분석이나 머신러닝 모델링까지 거의 모든 분석 과정은 Python으로 진행해요. pandas, matplotlib, scikit-learn 같은 라이브러리들을 활용해서 작업하는 경우가 많고, 반복적인 업무는 스크립트로 자동화하기도 합니다.
머신러닝에 대한 이해도 꼭 필요해요. Supervised Learning(지도학습), Unsupervised Learning(비지도학습), Classification(분류), Regression(회귀), Overfitting(과적합) 같은 기본 개념은 필수고요. 실제 업무에선 Logistic Regression, Random Forest, XGBoost, Clustering 등 다양한 모델을 적용해 가며 가장 성능이 잘 나오는 모델을 찾는 작업을 자주 하게 돼요.
하지만 모델이 복잡하다고 해서 무조건 더 좋은 건 아니에요. 결과를 해석하거나 설명할 수 있어야 할 때 (interpretability & explainability)는 black box 모델보다는 설명 가능한 모델을 최적화해서 쓰는 게 더 중요할 때도 많거든요.
이 세 가지는 실무에서 거의 붙어 다닙니다. 자연스럽게 오가며 쓰게 되기 때문에, 기본기를 탄탄히 해두면 정말 큰 도움이 되실 거예요.
현업에선 모델을 만드는 것도 중요하지만, 그 성능이 시간이 지나도 잘 유지되는지가 더 중요해요. 그래서 ongoing monitoring을 통해 model drift나 data drift를 체크하는 일이 많아요. 대표적인 지표로는 PSI나 p-value 등을 활용하죠.
또한, 예를 들어 anomaly detection 모델에서 outlier로 간주하는 threshold를 정할 때, 얼마나 보수적이면서도 통계적으로 의미 있는 지점을 고를 수 있는지가 관건이에요. 사용자 행동 데이터에서 평소보다 클릭 수가 너무 많은 경우, 이걸 어디까지 허용하고 어디부터 이상행위로 볼지 결정하는 거죠. Threshold가 너무 낮으면 정상인 것도 잡아내고, 너무 높으면 진짜 이상한 걸 놓칠 수 있어요. 그래서 신중하게 설정해야 하는데, 이때 통계적 판단 기준이 도움이 되더라고요.
저도 이직 준비하면서 inferential statistics를 다시 정리했었는데, 그 복습이 실무에서 정말 유용하게 쓰였어요.
데이터 사이언티스트는 단순히 모델만 만드는 사람이 아니에요. 프로젝트의 방향을 잡고, 비즈니스 임팩트를 만들어야 할 때도 많죠. 데이터를 분석한 뒤, 그걸 단순히 "수치"로 보여주는 데 그치지 않고, 왜 이게 중요한지, 그래서 뭘 해야 하는지를 자연스럽게 이어주는 스토리텔링 능력이 중요해요.
한마디로, 숫자를 연결해서 의미 있는 흐름을 만들고, 그걸 이해하기 쉬운 언어로 전달하는 게 핵심이에요. "Connect the dots" 하는 셈이죠.
저희 팀에선 자주 부서 헤드와 broader 팀에게 프레젠테이션을 하는데요, 그때 헤드가 했던 말이 인상 깊었어요:
"5살 아이에게 설명하듯 이야기해 봐."
기술적인 설명도 좋지만, 결국은 모두가 이해할 수 있게 전달하는 게 더 중요한 순간이 많아요. 어떤 경우엔 technical jargon 없이 단순하게 설명하는 게 훨씬 나은 임팩트를 만들기도 하거든요.
Project scoping 단계에서 비즈니스 팀이 "이런 걸 원해요"라고 했을 때, 그걸 데이터 언어로 해석하고 실현 가능한 솔루션으로 제시하려면 도메인 지식이 꼭 필요해요. 그냥 코딩만 잘해서는 한계가 있어요. 데이터 사이언티스트라면 내가 자주 협업하게 될 팀들이 누구인지, 어떤 종류의 데이터 요청이 자주 들어오는지를 미리 파악해 두는 게 중요합니다.
예를 들어, 이상 행동 탐지 (Abnormal Behavior Detection) 프로젝트를 한다고 해볼게요. 유저 중 일부가 부정한 방법으로 혜택을 중복으로 받거나, 여러 계정을 돌려가며 비정상적인 활동을 하는 경우가 있어요. 이걸 잡아내기 위해선 단순히 데이터만 보는 게 아니라, 실제로 어떤 식으로 시스템을 우회하는지에 대한 이해가 필요하죠.
이런 경우 Fraud, Risk, 제품 운영 팀 등과 함께 협업하게 돼요. 각 팀이 보는 리스크의 관점이 다르고, 어떤 행동을 ‘문제’로 간주하는지도 기준이 다를 수 있기 때문에, 그 기준들을 조율하고 맞춰나가는 게 중요해요. 도메인을 잘 이해하고 있을수록 더 실용적이고 현실적인 솔루션을 만들 수 있게 됩니다.
이러한 과정 속에서, 데이터 사이언티스트로서는 아래 질문들을 항상 염두에 두고 있는 게 좋아요:
문제 해결에 어떤 데이터가 필요할까?
내가 접근할 수 있는 데이터는 뭘까?
어떤 방식이나 모델을 적용할 수 있을까?
모델링보다 먼저 중요한 건 일정 관리와 조율이에요. 프로젝트가 여러 개일 때는, 타임라인을 잘 조정하는 게 진짜 중요하더라고요. 초반엔 뭔가 한국인의 빨리빨리 DNA 때문인지 "이번 주 안에 드릴게요~" 했었는데, 절대 그럴 필요 없어요. 과하게 약속하면 나중에 서로 힘들어지니까요. 이제는 스스로도 boundary를 잘 세우는 게 훨씬 중요하다는 걸 느껴요.
오히려 현실적인 타임라인을 주고 그 안에서 확실히 해내는 게 중요한 것 같아요. 그래야 서로 간의 신뢰가 쌓이고, 계속 같이 일하고 싶다는 생각이 들게 하거든요. 그러기 위해선 내 여유 시간을 계산하고, 상대방에게 우선순위를 물어보는 습관이 필요해요. 그리고 일주일에 한 번 정도는 진행 상황을 간단하게라도 공유해 두면 좋아요. 지금 어디까지 왔는지, 막힌 건 없는지 같이 공유하면서 협업 속도를 맞출 수 있거든요.
뻔한 얘기 같지만, 커뮤니케이션 진짜 중요해요. 이걸 얼마나 잘하느냐에 따라 인상이 달라지고, 팀원들과의 관계도 훨씬 수월해질 수 있는 것 같아요.
다음 글에서는 기본기 외에, 실무에서 실제로 경쟁력을 가질 수 있는 역량들, 그리고 제가 예전에 인터뷰 준비할 때 미리 알았더라면 정말 좋았을 것 같은 스킬들도 함께 소개해볼게요.
* 이미지 출처: GETTY IMAGES