728x90

Data 분야의 공고를 찾아보면 3가지로 분류가되고 있다.

하지만 각각의 차이점을 알지 못하는 경우가 많아 정리를 해보았다.

 

각 직군의 역할을 최대한 한마디로 간단하게 정의해보면,

데이터 사이언티스트 데이터 엔지니어 데이터 분석가
AI/머신러닝 모델 개발/최적화 데이터 플랫폼, 파이프라인의 아키텍처 구성 및 개발/운영 데이터 기반 의사결정을 위해 통계적 데이터 분석 및 시각화

데이터 사이언티스트, 데이터 엔지니어, 데이터 분석가 직군은 겹치는 부분도 많고, 분석가 안에서도, 엔지니어 안에서도 세분화가 많이 되기 때문에 한마디로 정의하기가 쉽지 않습니다.
그럼 각 직군별로 조금 더 자세히 알아봅시다. 아래 정보는 일반화된 정보이며, 다른직업군에 비해 본인이 들어가려는 회사마다 직군이 하는일이 다를 수 있으니 꼭 살펴보시고 지원하시는 것을 추천드립니다. 

 

- 아래 직군별 정의 내용은 https://data-flair.training/blogs/data-scientist-vs-data-engineer-vs-data-analyst와 https://socrates-dissatisfied.tistory.com/entry/의 내용을 참조했습니다.

 

(1) Data Analyst

데이터 분석가는 일반적으로 Data cleaning, Data Analysis, Data visualization의 작업을 주로 합니다.
산업에 따라서 Business Anlayst, Buisness Inteliigence Analyst, Operations Analyst 등으로 불리우기도 하는데, 어떤 타이틀로 불리우든, 데이터분석가는 팀이 데이터기반의사결을 내릴 수 있도록 대부분의 팀에 필요한 존재입니다.


데이터 분석가는 데이터분석 보고서 및 시각화 자료를 통해 비즈니스 결정에서 '추측'에 의한 결정을 없앨 수 있도록 해주고, 서로 다른 팀간의 중재자 역할을 하게 됩니다. 조직의 성장에 대한 정확한 지표를 확인할 수 있게 해줍니다.

필요한 기술의 특성은 회사마다 물론 다르지만, 일반적으로 다음과 같은 작업을 합니다.

  • Raw 데이터 정리 및 구성
  • 기술 통계를 활용한 데이터 분석
  • 데이터 해석 및 의사 결정을 내리는 데 도움이 되는 시각화 및 대시보드 구성
  • 기술 분석 결과를 비즈니스 고객 또는 내부 팀에 발표

위에서 말한 것처럼, 데이터 분석가는 주로 (비즈니스가 어떻게 돌아가는지 이해하기 힘든) 기술 직군과 비즈니스 직군 사이의 '데이터를 통한' 중재자로서, 데이터기반 의사결정을 내릴 수 있는데 핵심적인 역할을 담당합니다. 

 

참고로 회사에 따라  Data Analytics 업무를 Data Scientist 라는 이름의 직군이 담당하는 경우도 있습니다. 대표적으로 페이스북이 그렇죠. 이런 회사에서는 AI/ML을 담당하는 직군을 ML엔지니어(ML SWE), AI Data Scientist, AI리서처 등의 이름으로 부릅니다.

 

데이터 분석가의 필요역량 기술은 아래와 같습니다.

  • 비즈니스/도메인 지식
  • 데이터 시각화 역량(BI - Tableau, MSTR 등)
  • 데이터 분석을 위한 통계적 지식
  • SQL

위의 자료에 따르면, 데이터 분석가는 Business와 Data Visualization, 그리고 통계적 분석 역량에 가장 큰 요구사항이 있습니다.
그렇기 때문에 비즈니스 도메인에 대한 이해를 필수로 합니다. 금융을 예로 들면, 금융 산업의 특성과 금융 고객의 행동 특성에 대한 이해가 필수적입니다. 각 산업별 특징에 대한 이해 없이 데이터만으로 '상관관계'는 어느 정도 읽을 수 있지만 '인과관계'의 컨텍스트를 분석해내기는 거의 불가능합니다.

 

  매출이 특정 시기에 폭락한다면 데이터로 패턴은 보이겠지만, 왜 고객들이 그렇게 행동하는지 해석할 수는 없습니다. 그걸 알려면 문화/환경/산업/고객의 특성을 알아야 한다는 이야기입니다. 이유를 알 수 없으면 의사결정에도 제약이 있기 마련입니다. 그럴 때 그 문화나 산업에 대해 잘 아는 사람이 조언을 해준다면 그때 가서 인과관계를 이해하고 구체적 대응방안을 낼 수 있는 경우가 있겠습니다.


(데이터 분석가라는 직무로 데이터 과학자의 일을 겸하기도 하고, 데이터 사이언티스트라는 직무 담당자가 분석가의 일을 겸하는 경우도 물론 있습니다.)

 

참고 차, 데이터 분석이 강력한 것으로 유명한 페이스북의 Job description을 가져와봤습니다. 
JD를 보실 때 minimum qualificaition의 상위 3-4개 포인트를 보시면 어떤 역량을 가장 중요시하는 포지션인지 알 수 있습니다. 학위는 경영, 경제, 통계 분야를 요구하며, 리포팅, 분석, SQL, visualization이라는 키워드가 눈에 들어옵니다.

  • Meta Data Analyst
    • BS/MS Degree in Business, Economics, Statistics, Mathematics, Applied Mathematics, Finance and other quantitative areas.
    • 3+ years’ experience in reporting/analytics.
    • Proficiency in querying and manipulating complex raw datasets for analysis. SQL skills, experience with Hive, ETL.
    • Proficiency in visualizations and dashboards.

 

(2) Data Scientist

데이터 과학자는 주로 머신러닝/AI 알고리즘 모델을 개발하여 주요 비즈니스 질문에 머신러닝 모델을 통한 '예측'을 제공합니다.

데이터 과학자는 데이터 분석가와 마찬가지로 통계적인 지식을 갖고 데이터를 정리, 분석할 수 있어야 하며, 이러한 기술에 대해 머신러닝 모델을 훈련하고 최적화할 수 있어야 합니다.

주로 분석가가 과거와 현재의 관점에서 데이터를 이해하는 데 초점을 맞추는 반면, 과학자는 미래에 대한 예측을 생성하는 데 초점을 맞춥니다.

주로 아래와 같은 작업을 수행합니다.

 

  • 분석의 유효성을 결정하기 위해 통계 모델을 평가
  • 머신러닝을 사용하여 예측 알고리즘을 구축
  • 모델의 지속적 학습 및 최적화 운영

데이터 사이언티스트의 필요 역량기술은 아래와 같습니다.

 

  • 머신러닝, AI에 대한 지식
  • 머신러닝 모델을 구축하기 위한 기본적인 스크립팅 랭귀지(Python 등) 코딩 스킬
  • 데이터 분석을 위한 통계적 지식
  • SQL

위의 자료에 따르면 데이터 과학자는 데이터분석가와 겹치는 부분이 많습니다. 데이터 분석 역량에 대한 것은 모두 기본으로 갖춰야 하고, 그에 더해 수학/통계 역량과 ML modeling 역량을 필요로 하며, 어느 정도의 프로그래밍 역량을 요구하고 있습니다.

IT조직 규모가 큰 회사에서는 조직을 분리해서 운영하는 경우도 있습니다. 그런 경우 Data Scientist는 석/박사급 인력들이 AI 모델을 개발하고 리서치하고 논문을 내는 연구실과 같은 역할을 맡고(리서치 엔지니어라고도 함), ML Engineer는 Software Engineer로서 대용량 데이터의 분산처리가 필요한 실제 서비스 환경에 맞게 모델을 튜닝하고 운영하는 역할을 맡게 되기도 합니다. 무엇이 되었든 위 차트에서 커버 범위가 가장 넓게 보이듯 이 직군은 중간 정도의 개발 역량과 ML/AI 역량을 모두 두루두루 커버해야 하기 때문에 가장 진입장벽이 높은 직군으로 보입니다.
(최근에는 Data Engineer가 MLOPS를 주로 하는 경우 ML Engineer 로 부르는 경우도 많습니다)

 

AWS의 Data Scientist 롤을 한번 볼까요? 이번에도 상위 3-4개의 Basic Qualification을 체크해보면 일단 'Basic' Qualification 첫 번째가 M.S or Ph.D.로 시작합니다.

  • Data Scientist - AWS Infrastructure
    • Advanced degree (M.S. or Ph.D.) in Engineering, Math, Statistics, Finance, Computer Science, or related industry experience.
    • 3+ Years of experience in data science/analysis/engineering
    • 2+ Years of experience applying Statistics/Data Science/Machine Learning
    • 2+ Years of Scripting experience in Python/R or other scripting languages

 

(3) Data Engineer

데이터 엔지니어는 데이터 플랫폼과 데이터 파이프라인 아키텍처를 개발하고 운영합니다. 

데이터 분석가와 데이터 과학자가 데이터 바다 위에서 자유롭게 헤엄칠 수 있게 데이터 기반 플랫폼을 구성하고 데이터를 잘 제공하는 것이 중요합니다.
앞의 두 가지 직군보다 데이터 엔지니어링 직군은 소프트웨어 개발 기술에 많이 의존합니다. 대규모 데이터를 처리하기 위해 분산처리에 대한 기술적 이해도가 필요한 경우가 많습니다. 

데이터 엔지니어는 종종 시스템 구축 및 최적화에 중점을 둡니다.

  • 데이터 소비를 위한 API 구축
  • 데이터 플랫폼 아키텍처 구성
  • 데이터 파이프라인 개발/운영
  • 머신러닝 모델 feature store 제공

데이터 엔지니어는 Software Engineering와 Big Data 기술, 데이터베이스 기술에 대한 이해를 필요로 합니다. 반면에 대체로 개발 직군이 그러하듯 분석, 비즈니스에 대한 이해 요구는 위 롤들에 비해서 상대적으로 적은 편입니다. 대체로 백엔드개발자를 하시던 분들이 자연스럽게 넘어가는 경우가 많은 것 같습니다. 

데이터 엔지니어링 업무를 위해 주로 필요한 지식과 스킬은 다음과 같습니다.

  • Python, Java, Scala 등 주요 랭귀지 코딩 스킬
  • 빅데이터 분산처리 시스템 아키텍처에 대한 이해

데이터 엔지니어의 경우에도 직군이 세분화되는 경우가 있습니다. 주로 분석업무 지원을 위해 ETL 잡을 개발/운영하는 Analytics Data Engineer가 있고, 데이터 플랫폼 백앤드 아키텍처 및 API를 구성하고 개발하는 Data Platform Data Engineer가 있습니다.

 

 전자는 전통적으로 빅데이터 이전부터 BI엔지니어 등으로 원래 있던 직군이 빅데이터 기술쪽으로 진화한 면이 있습니다. 후자는 빅데이터 분산시스템이 생기면서 이 시스템을 개발, 운영하기 위해 새로 생긴 직군입니다. 전자는 주로 SQL + 중간 수준의 Software Engineering 작업을 주로 하고, 후자는 Software Engineering과 Devops의 역량을 모두 가져야 하므로  Engineering 역량이나 복잡도 면에서는 후자가 조금 더 높은 편입니다. 그런데 주로 새벽에 자주 깨서 장애처리 작업을 하는 건 전자이기 때문에 뭐가 더 편하다거나 덜 힘든 건 아닙니다.

 

참고 차 Visa의 예시를 가져와봤습니다.
둘다 Senior, Staff로 높은 레벨의 엔지니어를 뽑는 포지션인데, 주요 Basic Qualification을 보면 요구 사항이 좀 다른 걸 알 수 있습니다.

전자는 빅데이터 기술(Hadoop, Hive)에 대한 이해와 Tableau등 시각화 툴 경험(플랫폼 운영으로 짐작됨), SQL, python, scala에 대한 역량이 'sophisticated(꽤 높은)'한 것을 요구합니다. 
후자 데이터플랫폼 데이터엔지니어는 Computer Science degree를 베이스로, Hive, YARN, Spark, Map-Reduce or HBase등의 빅데이터 기술, Java/Python Programming Language가 'Excellent'한 것을 요구합니다.

  • Visa Senior Data Engineer, VCA Data Engineering
    • Strong experience in Hadoop/Big Data Environment creating large scale data engineering pipelines, data-based decision-making, and quantitative analysis
    • Strong Experience with Visualization Tools like Tableau, Power BI, D3 and exposure to code version control systems (git)
    • Strong Expertise with Cloudera/ Hortonworks platform with sophisticated experience in writing and optimizing efficient SQL queries with Python, Hive, Scala handling Large Data Sets in Big-Data Environments
  • Visa Staff Data Engineer/Consultant, Big Data - Data Platform
    • 7+ years of industry experience with a Bachelor’s or 5+ years of experience with Masters in Computer Science or equivalent relevant degree
    • 5+ years working with Big Data technologies such as Hive, YARN, Spark, Map-Reduce or HBase
    • Excellent Java and Python programming skills.

이상으로 데이터 사이언티스트와 데이터 분석가, 데이터 엔지니어의 차이점에 대해서 알아보았습니다. 각 직업군의 차이를 알고 지원하시는 것을 추천드리며 회사마다 해당직군이 다른 일을 할 수 있으니 꼭 해당 회사에서 요구하는 기술 및 하는 업무를 꼭 확인하시기를 바라면서 마치겠습니다!

728x90

+ Recent posts