시니어 데이터 과학자 면접에서 보는 것

※ 해당 내용은 회사를 대표하지 않는, 개인의 의견입니다.

2012년 HBR에서 Data Scientist를 "The Sexiest Job of the 21st Century"로 묘사한바 있다. 이 아티클을 기점으로 한국에서는 최근 몇년 사이 빅데이터, 데이터 과학, 4차산업혁명이 맞물려서 데이터 과학은 아주 한한 키워드가 되었고 많은 사람들이 데이터 과학자를 희망하면서 공부하였고, 또 취업을 하였다.

그렇게 시간이 흘러 지금은 과거 대비 모든 환경이 정말로 편해졌다. Tensorflow나 Pytorch 등 다양한 프레임워크가 모델을 처음부터 구성하고 만들어야 하는 수고로움을 감소시켜줬고, Worflow 전반에 걸쳐 로그를 남기고 실제 프로덕트에 서빙하는 부분도 이제는 다양한 툴과 솔루션이 업무의 난이도를 낮춰주고 있다. 자연스럽게 다른 필드에서 일을 하고 있다가 넘어와서 잘 안착하는 경우도 이제는 그리 낯선 모습은 아닌 것 같다.

그래서 요즘은 데이터과학자가 뭔가 새로운 유형의 직무라기보다는, 개발자직군 중 데이터와 관려되어 상당히 특화된 하나의 직군이라는 생각이 들게 되었다. 그리고 이런 부분을 감안해서 "시니어 데이터 과학자"를 뽑을 때는 다음과 같이 모델을 넘어 종합적인 부분을 고려하기 시작하였다.

첫 번째로 문제 접근 방식이다. 데이터 과학자는 데이터를 기반으로 문제를 과학적으로 푸는 사람이다. 다시 말해서 현상에 대해 의심을 품고 논리적으로 접근하는 사람이다. 그래서 시니어 데이터 과학자는 문제를 정의하고, 적절한 방법으로 문제를 풀고 마지막으로 측정한 수치가 보여야 한다. 모든 이가 측정이 어렵다고 할 때 데이터 과학자는 측정을 시도하고 본인의 커리어를 기술할 때 활용해야 한다. 서류상에서 보여줄 수 있다면 아주 좋은 부분이다.

두 번째로 프로젝트 경험이다. 이 부분은 JD와 밀접하게 연결되는 부분이다. 특정한 도메인(Vision, Text, Time Series 등)에 엮여있는 지 여부와 상관없이, 프로젝트의 경험은 다다익선이다. 대신 프로젝트에서 첫 번째로 언급한 문제 접근 방식에서 본인이 기여한 부분이 충분히 보여져야 한다. 그리고 시니어인 것을 감안하면 본인이 리드한 부분이 있어야 한다.

세 번째로, 개발 경험이 있으면 좋다. 이전에는 모델만 잘 만들어도 채용을 하는 경우가 있었다. 하지만 앞서 언급한 바와 같이 모델 관련 프레임워크가 상당히 발전되어, 모델 개발이 보다 수월해졌고, 모델 활용 측면에서 기존 개발 워크플로우와 밀접하게 연결되는 부분이 중요해졌다. 그리고 기존 개발과 업무스타일이 완전히 동일하지는 않더라도, 상당 부분 유사한 부분이 있어, 기존 개발 도구를 활용하여 일을 하는 경우가 상당 부분 있다. 단순한 예시로 git이 그렇다. 따라서 개발 관련 경험이 있다면 단순 모델링을 하는 사람보다는 선호될 수 있다.

마지막으로 커뮤니케이션이다. 시니어에게는 이 능력이 매우 중요하다. 문제를 찾고 프로젝트로 정의하거나, 타 부서와 커뮤니케이션을 해서 합의된 기간안에 합의된 리소스를 활용해서 합의된 목표를 달성해야 한다. 이 때 기간, 리소스, 목표를 프로젝트 시작전에 추정할 수 있어야 한다. 유관부서와의 커뮤니케이션을 통해서 말이다. 이 능력 없이는 모델링 Task 근처에 가지도 못할 수 있다. 프로젝트가 없으니 말이다.

이렇게 적고보니 만능을 원하는 느낌이 들수도 있겠지만 1)데이터과학자는 개발직군, 2) 시니어는 많은 문제를 경험한 사람이어야 한다 이 두가지 조건으로 채용기준을 나눠서 볼 수 있고, 1번은 직무 본연의 역할로 인한 조건이지만, 2번은 회사의 입장에서 최소의 비용으로 최대의 효과를 가져다 줄 수 있는지에 대한 부분이기 때문에 현재 본인의 커리어를 관리하는 입장에서 참고가 되었으면 한다.

Read more

다중공선성은 잘못된 인과추론 결과를 만들어낼 수 있습니다.

다중공선성은 잘못된 인과추론 결과를 만들어낼 수 있습니다.

다중공선성(Multi Collinearity) * **Multi-Collinearity(다중공선성)**는 독립 변수들 간의 강한 상관관계가 존재할 때 발생합니다. 즉, 한 독립 변수가 다른 독립 변수에 의해 설명될 수 있을 정도로 상관관계가 높은 상황을 의미합니다. * 이 문제는 주로 회귀 분석에서 나타나며, 변수들 간의 관계를 해석하는 데 있어 큰 장애물이 될 수 있습니다. * 일반적인 회귀식을 $Y=

Bayesian P-Value는 불확실성을 감안하여 모델의 적합도를 평가합니다.

Bayesian P-Value는 불확실성을 감안하여 모델의 적합도를 평가합니다.

Bayesian P- Value * Bayesian P-Value는 **모델의 적합도(goodness-of-fit)**를 평가하는 데 사용됩니다. * 사후 분포(posterior distribution)를 이용하여 실제 데이터와 모델이 생성한 예상 데이터를 비교함으로써, 관측된 데이터가 모델에 의해 얼마나 잘 설명되는지를 평가합니다. * 빈도주의 p-값은 "관찰된 데이터보다 극단적인 데이터가 나올 확률"을 계산하지만, Bayesian P-Value는 "모델이 실제

Non-Identifiability는 Model Parameter를 고유하게 식별할 수 없는 현상입니다.

Non-Identifiability는 Model Parameter를 고유하게 식별할 수 없는 현상입니다.

Non Identifiability * Non-Identifiability는 주어진 데이터와 모델에 대해 특정 파라미터를 고유하게 식별할 수 없는 상황을 의미합니다. 즉, 여러 파라미터 값들이 동일한 데이터를 생성할 수 있으며, 이로 인해 특정 파라미터 값을 확정적으로 추정하기 어렵게 됩니다. * 베이지안 추론에서 Non-Identifiability는 사후 분포가 특정 파라미터 값에 대해 명확하게 수렴하지 않고, 여러 값들에 대해 비슷한 확률을

Rootgram은 큰 분산을 갖거나 비정규 형태의 데이터를 위한 히스토그램입니다.

Rootgram은 큰 분산을 갖거나 비정규 형태의 데이터를 위한 히스토그램입니다.

Rootgram * 히스토그램의 변형으로 데이터가 비정규적이거나 큰 분산을 가지는 경우, 정확한 분포를 파악하기 위해 사용됩니다. * 일반적으로 히스토그램은 데이터의 빈도를 직접적으로 나타내기 때문에, 큰 값이 빈번하게 발생하는 경우 상대적으로 작은 값을 잘 드러내지 못하는 경향이 있습니다. 반면, Rootgram은 빈도를 제곱근 형태로 변환하여, 데이터 분포의 차이를 더 잘 시각화할 수 있도록 돕습니다 * 여기서