데이터 엔지니어, 데이터 분석가, 데이터 사이언티스트의 역할 구분

막연히 생각했던 데이터 직군별 역할은 내 생각과 크게 달랐다.

데이터 엔지니어, 데이터 분석가, 데이터 사이언티스트의 역할 구분
Photo by Kaleidico / Unsplash

현재 우리 회사의 제품팀은 SQL, Elasticsearch, GA, Amplitude를 이용해 데이터 분석을 하고있다.

다른 조직도 비슷할거라 생각되는데 제품팀 멤버들의 고민 중 하나는 궁금한 데이터가 있을때 (어디서), (어떤 데이터를), (어떻게 봐야할 지)에 대한 어려움이 있다.

또한, 어떻게든 데이터를 찾았는데 이 데이터가 맞는지에 대해 피드백을 받을 대상이 명확하지 않다는 점도 고민중 하나이다.

그래서 조직에 데이터 전문가를 채용하면 이 문제가 해결될까?라는 질문으로 시작해 데이터 전문가 두 분을 만나서 이야기를 들어봤다.

두 분과의 대화를 통해 데이터 직무는 크게는 데이터 엔지니어, 데이터 분석가, 데이터 사이언티스트로 구분되며, 각 직무별 역할도 내가 생각하는 것과 크게 다르다는 것을 알게되었다.

각 포지션의 이름만 듣고 내가 막연하게 떠올렸던 역할은 이랬다.

데이터 엔지니어는 개발팀 소속으로 코드 레벨에서 로그 데이터를 직접 수집하는 역할도 담당할거라 생각했다.

데이터 사이언티스트는 기본적으로 데이터 분석가의 역할을 수행하며, 데이터 기반으로 회사의 나아갈 방향을 제시하는 전략적 영역의 직군이라고 생각했다.

데이터 분석가는 각 팀에서 요청하는 데이터를 전달해주는 역할이라고 생각했다.

그런데, 내 생각과 각 직무별 역할은 크게 달랐다.

데이터 엔지니어는 코드 작업을 하지 않는다. 여러 곳에서 수집되는 데이터가 일관된 규칙으로 수집될 수 있도록 데이터 파이프라인을 설계하고 검증하는 역할을 주로 담당한다.

데이터 사이언티스는 개발 직군에서도 상위 포지션에 속한다. 추천 엔진, 사용자 행동 기반 서비스 등 알고리즘 모델을 직접 만드는 머신러닝(ML)엔지니어에 가깝다.

데이터 분석가는 각 팀에서 요청하는 데이터를 전달해주는 역할도 수행하지만, 반복되는 요청 데이터들은 각 멤버들이 직접 수행할 수 있도록 가이드를 만들어 제공한다. 멤버들이 직접 접근하기 어려운 내부 인사이트 데이터 등을 뽑아야 할 때는 데이터 분석가가 이 역할을 담당한다.

작은 규모의 조직에서는 데이터 엔지니어가 자연스럽게 데이터 분석가의 역할을 함께 수행하기도 하고, 반대로 데이터 분석가가 데이터 엔지니어의 역할을 수행하기도 한다.

그래서, 처음 질문으로 돌아가 데이터 전담 포지션을 채용하면 제품팀 멤버들이 원하는 데이터를 바로 뽑아볼 수 있을까에 대해서는 반은 맞고, 반은 틀리다.

AB180 CSM(고객 성공 매니저)와 이야기를 나누었을때 Amplitude를 사용하는 전 고객사 기준으로 Amplitude를 사용하는 직무의 80% 정도가 PM이라고 한다.

모든 직원이 데이터 분석 역량을 갖췄다는 ㅁㅁㅁ에서는 Redash로 데이터를 볼 수 있는 환경을 구축해두었고, 필요한 데이터를 각자가 직접 추출할 수 있도록 정기적인 SQL 교육을 진행한다고 한다.

정리하면 데이터 직무에서는 데이터가 일관된 규칙으로 잘 수집되도록 파이프라인을 만들고, 데이터 정합성을 검증하며, 필요한 데이터를 직원들이 직접 조회할 수 있도록 가이드하는 역할을 담당한다. 필요에 따라 직접 조회할 수 없는 내부 인사이트 데이터를 제공하는 역할을 담당하기도 한다.

데이터를 분석하다보면 수집 단계에서부터 데이터가 꼬이면 모든 데이터가 꼬인다. 그래서 조직이 성장하는 과정에서 어느 정도의 여력이 된다면 즉시 전력 관점이라기 보다는 중장기적 관점으로 채용을 준비하는 선제적 투자가 필요하다.