일상/정보

데이터 관련 직무 정리 (데이터 엔지니어, 분석가, 데이터 사이언티스트, 머신러닝 엔지니어등)

jordan.bae 2023. 2. 28. 00:32

이번 글에서는 데이터와 관련된 직무들을 정리해보려고 합니다.

최근에 데이터의 중요성과 AI가 활용되면서 데이터와 관련된 많은 직무들이 나타났습니다. 그렇기 때문에 아직은 서버 엔지니어나 프론트 엔지니어에 비해서 인원도 적고, 회사 별로 하는 일도 조금씩 다른 것 같습니다. 

각각의 직무가 하는 일은 다르지만 하나의 공통점은 데이터플랫폼을 기반으로 일을 한다는 사실입니다. 그래서 각각의 직무에 대해서 살펴보기 전에 데이터 플랫폼에 대한 간단한 설명과 각 직무들이 데이터플랫폼의 어떤 부분과 관련이 있는지 알아보겠습니다. 데이터플랫폼은 전에는 Datawarehouse로만 구성되어 있는 분석환경을 Ingestion/Data Lake/Process/Data warehouse/Utilization등 여러 계층과 서비스로 구성한 것을 의미합니다. 

데이터 플랫폼

 

어느 정도 규모가 있는 회사에서는 데이터플랫폼을 구축하는데 간단하게 살펴보면 그 이유는 아래와 같습니다. 흔히 말하는 Data의 세가지 V(규모, 다양성, 크기)를 충족시키기 때문입니다.

- 다양한 데이터를 저장. 데이터 레이크(=주로 오브젝트 스토리지(ex.S3, GCS))  구축함으로써 다양한 형식의 데이터를 다룰 수 있고, 더 큰 사이즈의 데이터도 저장이 가능합니다.

- 다양한 팀에서 데이터를 활용하게 되는데 DS는 data lake를 활용해서 데이터에 접근하고, DA는 data warehouse나 Mart를 통해 데이터를 접근합니다.

- 그 밖에도 스키마 변경에 유연하게 대처하고 각 계층별로 느슨하게 연결해서 구성할 수 있다는 점에서 관리가 편리합니다.

 

대부분의 직무들은 Data Lake, Warehouse나 Mart를 사용해서 업무가 진행되기 때문에 Data lake, warehouse나 Mart의 특성을 이해하고, 잘 다루는 것은 모든 직무의 기본이 될 것 같습니다. 

Data Platform를 구축한 후에 해당 데이터를 BI, Machine Learning, Data Product등 다양하게 데이터를 활용하게 됩니다.

Data Warehouse를 구축하는 부분까지 주로 Data Engineer가 주축으로 진행이되고, 그 이후의 다양한 활용하는 부분에서 데이터 분석가, 머신러닝 엔지니어, 데이터 사이언티스트 다양한 직군이 데이터를 활용하게 됩니다. 이제 각 직무를 하나씩 살펴보도록 하겠습니다.

 

데이터 엔지니어(Data Engineer)

데이터 엔지니어는 데이터 파이프라인을 설계, 구축, 유지 보수하는 일을 수행합니다. 데이터 엔지니어는 데이터 추출, 전환, 로드(ETL) 과정을 처리하는 스크립트 작성, 데이터 웨어하우스 및 데이터 레이크의 아키텍처 설계, 데이터베이스 성능 최적화 및 데이터 보안을 유지 관리하는 역할을 맡고 있습니다. 특히 Data Platform에서 Ingestion Layer를 구축해서 데이터를 Lake에 수집하고 다양한 데이터를 처리할 수 있는 Processing Layer또한 관리합니다

 

데이터 분석가(Data Analyst)

 데이터 분석가는 비즈니스 문제를 해결하기 위해 데이터를 수집하고 분석하는 일을 합니다. 데이터 분석가는 SQL, 파이썬, R 등의 도구를 사용하여 데이터를 추출하고 조작하며, 그래프 및 차트와 같은 시각화 도구를 사용하여 데이터를 시각적으로 표현합니다. 데이터 분석가는 데이터로부터 인사이트를 추출하여 조직의 의사 결정을 지원합니다. 데이터 분석가는 주로 Datawarehouse나 Mart에 있는 데이터를 분석하고, BI tool을 사용해서 대시보드를 생성하고 관리하는 역할을 합니다. 

 

데이터 과학자(Data Scientist)

 데이터 과학자는 데이터 분석 기술과 통계적 모델링 기술을 사용하여 비즈니스 문제를 해결합니다. 데이터 과학자는 데이터 추출, 전처리, 모델링 및 평가를 수행하며, 데이터 시각화를 통해 결과를 시각적으로 표현합니다. 데이터 과학자는 파이썬, R 등의 프로그래밍 언어와 통계 분석 도구를 사용하여 데이터 분석을 수행합니다. 주로 머신러닝과 딥러닝 모델을 통해 문제를 해결할 방법을 찾습니다. 문제를 정의하고 해결할 수 있는 모델을 만들거나 찾아서 서비스에 적용할 수 있게 머신러닝 엔지니어에게 전달합니다.

 

분석 엔지니어 (Analytics Engineer)

Analytics Engineer는 우리나라에서는 흔하지 않은 직무지만 해외에서는 활발하게 채용 중인 직무입니다. 해당 직무는 Data Engineer와 Data Analyst가 필요한 능력들이 각각 섞여있으면서 추가적으로 문서화나 팀 교육을 위한 능력을 필요로합니다. Data engineer처럼 data를 transform 하는 역할도 하지만 Data analyst처럼 해당 데이터에 대한 도메인 및 정보를 알고 있어서 end user(PO, DA, 일반 데이터를 분석하기 싶은 구성원) 들을 위한 데이터를 가공해서 만들어주고, 해당 데이터를 활용하기 위한 문서 및 교육도 진행하게 됩니다. 

조금 더 자세하게 알고 싶다면 이 글을 참고 하셔도 좋을 것 같습니다.

Analytics Engineer 란? (Feat. Modern Data Stack)

 

머신러닝 엔지니어(Machine Learning Engineer)

 머신러닝 엔지니어는 머신러닝 모델을 개발하고 배포하는 역할을 합니다. 이를 위해 데이터를 수집하고 전처리한 , 모델을 설계하고 학습시킵니다. 머신러닝 엔지니어는 또한 모델의 성능을 개선하고, 데이터의 품질을 유지하며, 모델의 예측 성능을 모니터링합니다. 머신러닝 엔지니어는 머신러닝 프레임워크(: TensorFlow, PyTorch) 클라우드 서비스(: AWS, GCP) 사용하여 머신러닝 모델을 개발합니다. 회사마다 직접 Raw데이터 부터 Feature를 만드는 경우도 있고, 데이터 엔지니어에게 요청해 Feature를 만든 데이터부터 시작해서 머신러닝 모델을 서비스하는 경우도 있습니다.

 

ML Ops(Machine Learning Operations)

ML Ops는 머신러닝 모델을 운영하고 관리하는 프로세스를 의미합니다. ML Ops는 머신러닝 모델을 개발한 후, 해당 모델을 제품 또는 서비스에 통합합니다. 이를 위해 머신러닝 모델을 배포하고, 모니터링하며, 성능 지표를 추적하고, 문제가 발생한 경우 대처합니다. ML Ops는 또한 데이터 파이프라인을 유지하고 관리하며, 머신러닝 모델의 생애주기를 관리합니다. 

 

마무리

오늘은 데이터와 관련된 직무들을 정리해봤습니다. 전반적인 이해를 돕기 위해서 큰 그림을 한 번 그려봤는데 데이터와 관련된 직무를 이해하시는데 도움이 되시면 좋겠습니다. 다음에는 데이터플랫폼에 대해서 조금 더 자세히 다뤄보도록 하겠습니다.

 

다른 읽을 거리

- Coalesce-2022 New-Orleans-후기

반응형

'일상 > 정보' 카테고리의 다른 글

신대방역 수영장 - 조원초등학교 수영장  (5) 2022.11.25