본문 바로가기
Software Engineering

데이터분석가 vs 데이터엔지니어 vs 데이터과학자 차이가 뭘까? (2) 필요 역량, 기술

by 엔지니어의 노트 2021. 11. 8.
반응형

(2) 필요 역량과 기술 Data Scientist vs Data Engineer vs Data Analyst 

각 직군별로 차이를 한번 알아보려고 합니다.
데이터 분야에 있는 분들이야 그래도 어떤 차이가 있는지 구분이 가능하지만, 같은 회사 안에서도 데이터조직 외부에서 보기에는 그게 그거 같아 보이기도 하고...(회사 동료분들도 정말 많이 받은 질문이라고 합니다. 데이터 사이언티스트랑 애널리스트는 각각 뭐가 달라요? 엔지니어는 뭐가 달라요?) 특히 취준생분들도 각각 뭐가 다른 건지 많이 궁금해하시더군요.

그런데 상대적으로 빅데이터 분야가 조명받기 시작한지 얼마 안 되기도 했고, 그만큼 발전과 변화도 빠르게 역동적으로 일어나는 분야이기 때문에 각 역할을 명확히 정의하기는 쉽지 않습니다. 겹치는 부분도 많기도 하고, 회사에 따라 정의방식과 롤도 다른 경향이 있습니다. 그럼 각 직군이 '일반적으로' 어떤 차이가 있는지 한번 알아봅시다.
우리나라보다는 미국의 IT 산업이 훨씬 더 크기도 하고, 미국의 role 구분 형태가 결국  표준이 되는 경우가 많기 때문에 참고자료로 미국에서 작성된 자료들을 참고했습니다.


지난 글에서 대략적인 정의를 알아보았고, 이번 글에서는 직군별 필요스킬/기술에 대해 알아봅시다.
글의 순서는 다음과 같습니다. 


목차

1. 직군별 역할과 정의

2. 직군별 필요 역량/기술

3. 직군별 보상, 연봉



 

2. 각 직군별 필요 역량/기술

각 직군별로 필요한 주요 기술과 역량은 무엇이 있을까요?

from DATAKADEMY

DATAKADEMY의  자료를 한번 참고해봅시다.

(1) Data Analyst

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

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

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

 위의 자료나 아래 첨부한 원티드 자료의 기준을 볼 때 데이터 분석가는 일반적으로 기술 직군이라기보다 경영/비즈니스 직군에 가깝습니다. 그런 만큼 SQL 외에 기술적 요구는 크지 않은 편입니다. 하지만 기술적 장벽이 낮다고 해서 해당 직군의 진입장벽이 낮지는 않은 것 같습니다. '경쟁률'이 무척 높기 때문이죠. 이렇게 많은 사람이 몰리는 데는 기술적 장벽이 낮은 이유도 있겠지만, 데이터를 분석하고 분석 자료를 통해 회사의 의사결정을 주도하는 역할 자체에 '큰 매력'이 있지 않나 생각됩니다. 실제로 회사에서 데이터조직의 포지션을 오픈해본 경험 상 데이터분석가 직군이 가장 경쟁률이 높은 편으로, 때에 따라 다른 직군 대비 10배 이상 많은 이력서가 들어오기도 했습니다.


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

 

참고 차, 데이터 분석이 강력한 것으로 유명한 페이스북의 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에 대한 지식
  • 머신러닝 모델을 구축하기 위한 기본적인 스크립팅 랭귀지(Python 등) 코딩 스킬
  • 데이터 분석을 위한 통계적 지식
  • SQL

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

위 DATAKEMY의 차트에서는 ML Engineer를 따로 분류해놓았네요. 
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

데이터 엔지니어는 위 차트에서 보듯 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.




 

직군별 필요 역량/기술에 대해서 알아보았습니다. 다음 글에서는 3. 직군별 보상, 연봉을 한번 알아보죠.

 

글 목차

데이터분석가 vs 데이터엔지니어 vs 데이터과학자 차이가 뭘까? (1) 역할과 정의

데이터분석가 vs 데이터엔지니어 vs 데이터과학자 차이가 뭘까? (2) 필요 역량, 기술

데이터분석가 vs 데이터엔지니어 vs 데이터과학자 차이가 뭘까? (3) 연봉과 보상


Disclaimer

위에서도 언급했지만, 회사마다, 팀마다 역할이 일률적으로 명확하게 정의되기는 힘듭니다. 위의 구분법은 아래 참조한 Data 관련 사이트들에서 소개하는 일반적인 내용을 기준으로 한 것으로, 데이터 직군을 잘 모르시는 분들에게 기본적인 컨셉을 공유드리기 위한 자료입니다. 혹시 잘못된 내용이 있으면 언제든 말씀 주세요.

 

참조

https://www.edureka.co/blog/data-analyst-vs-data-engineer-vs-data-scientist/

https://data-flair.training/blogs/data-scientist-vs-data-engineer-vs-data-analyst/ 

https://www.dataquest.io/blog/data-analyst-data-scientist-data-engineer/

 

 

 

반응형