공부하고 기록하는, 경제학과 출신 개발자의 노트

강연

데이터 엔지니어 vs 데이터 사이언티스트 vs 데이터 분석가, 차이가 뭘까?

inspirit941 2017. 10. 2. 21:53
반응형

17.09.28 데이터 엔지니어를 꿈꾸는 사람들을 위한 세미나
패스트캠퍼스 성수캠퍼스 강연내용을 요약 정리한 글.



데이터분석 분야를 진로로 정한 후, 데이터 분석에 관련된 다양한 세미나를 가보기도 했고 업계 전문가를 만나서 이야기를 들어보기도 했다. 자신의 분야에서 데이터를 다룬다는 사람들에게 ‘진로를 고민하고 있으면 어떻게 해야 하느냐, 무엇을 공부하는 게 좋겠느냐’ 등의 질문을 하고 답변도 얻었다.


이 과정이 계속되고 조언이 누적되면서 생기는 문제점이 두 가지가 있었다. 첫 번째는 ‘업계에 따라 데이터분석 분야에 대한 접근 방식이 다르다’는 것이었다. 금융업, 스타트업, 분석솔루션 서비스 판매업에서 일하는 사람은 각각 데이터를 보고 활용하는 관점이 달랐다. 그래서 누군가는 통계학을, 누군가는 SQL과 프로그래밍을, 누군가는 통찰력이 핵심이라고 조언하곤 했다. 데이터를 보는 관점이 업계마다 다르니, 핵심으로 삼는 가치가 다를 수밖에 없었다.


두 번째가 바로 ‘데이터분석 직군에 관한 명칭이 정립되지 않았다’는 것이었다. 데이터 분석가, 데이터 사이언티스트, 데이터 엔지니어, 데이터 아키텍쳐 등등. 데이터를 수집하고 분석하고 관리하는 일을 총칭하는 뜻으로 두루뭉술하게 쓰이는 경우가 비일비재하다. 데이터 분석을 진로로 정하긴 했는데, 내가 정확히 무슨 일을 목표로 하는지 정확히 짚어내는 게 전문가를 만날수록 어려웠던 이유 중 하나이기도 했다.


그래서 이 강연이 더 반가웠다. 비록 패스트캠퍼스 커리큘럼의 홍보를 겸한 강연이었지만, 각각 어떤 일을 전담하는지 명확히 할 수 있다면 좋겠다 싶었다.




이용구 ㈜스위즐랩스 CTO님



김상우 VCNC 데이터 분석팀 Leader님



강연을 해 주신 분은 이용구 ㈜스위즐랩스 CTO, 김상우 VCNC 데이터 분석팀 Leader 두 분이셨다. 

‘데이터 엔지니어’의 영역에서 출발해 ‘데이터 사이언티스트’로 영역을 넓힌 두 분의 이야기를 듣고 왔다.








두 분의 이야기를 종합해서 내가 이해한 방향으로 요약하자면,

큰 틀에서 데이터 엔지니어와 데이터 사이언티스트/데이터 분석가로 먼저 나눌 수 있다. 특정 기업, 특정 산업에서 데이터를 수집하고 관리하며 유지하는 일이 필요하다. 이 역할을 담당하는 사람이 ‘데이터 엔지니어’이다. 기업이 매일같이 생산하는 엄청난 양의 데이터를 제대로 수집하고 관리하며, 의사결정을 내리기 위해 데이터가 필요할 경우 제대로 찾아내어 전달하는 일을 담당한다. (이용구 CTO님은 그래서 ‘데이터를 석유라고 할 때, 송유관을 제대로 설계하고 만들며 석유가 새는 부분은 없는지 관리하는 사람’ 이라는 비유를 드셨다.)


그렇기에 데이터 엔지니어의 핵심 역량은 ‘데이터를 제대로 쌓고 관리할 수 있는 구조를 세울 수 있다’라고 볼 수 있다. 따라서 대량의 데이터를 수집하고 관리, 처리하는 인프라 툴인 Hadoop, MapReduce나 데이터베이스를 다루는 MySQL 등에 능숙한 유형이다.


데이터를 실시간으로 습득해 의사결정에 활용할 때 퍼포먼스의 결과가 더 좋게 나오는데, 이 데이터를 수집하고 활용하기에는 기존의 소프트웨어 엔지니어들(앱이나 웹 분야)이 가진 것과는 다른 종류의 지식이 필요하다. 이 부분을 보완하는 것이 데이터 엔지니어의 역할이라고도 볼 수 있다.


데이터 엔지니어를 필요로 하는 사업 분야를 보면 좀 더 명확히 알 수 있다. 아래 강연에서 보여 준 ‘데이터 관련 산업군별 수요’ 지표다. 여기에 두드러지는 특징이 하나 있다. Data System Developers가 바로 ‘데이터 엔지니어’에 해당하는데, Finance & Insurance가 상대적으로 수요가 적다.




이유는 명확하다. 데이터 엔지니어의 수요가 많은 분야는 데이터를 쌓기 위한 시스템을 구축해야 하는 곳이다. 금융과 보험 분야는 일찍부터 데이터를 수집하는 데 공들인 산업 분야다. 따라서 금융과 보험에는 데이터 수집을 위해 인프라를 새로 구축하는 것과 같은 대규모 수요가 발생하는 곳이 아니다. 오히려 그동안 쌓인 데이터를 분석하는 일에 집중하는 산업 분야이기 때문에 아래 ‘Analytics Manager', 데이터 분석가의 수요가 더 높은 편이다.


반대로 ‘Data System Developer’ 수요가 가장 많은 분야는 ‘Professional Services’다. 이용구 CTO님의 설명에 따르면 Professional Services는 ‘그냥 대다수의 서비스 제공 사업분야’라고 생각하면 된다. 대부분의 산업분야가 데이터를 새로이 수집, 저장하고 관리하기 위한 인프라를 구축하는 단계이기 때문에 ‘데이터 엔지니어’가 수요가 높다.


‘내 생각’ : 뉴스에서 말하는 ‘미래 유망 직종’에 포함되는 데이터 관련 분야는 ‘데이터 엔지니어’ 가 정확한 것 같다. 데이터 분석가와 혼용해서 쓰이다 보니 ‘데이터분석’이 미래 유망 직종으로 언급된 기사들을 본 것 같은데, 데이터분석 자체는 통계학에 뿌리를 두고 있는 역사가 오래된 직업이라고 보는 게 더 맞는 설명이라는 생각이 들었다.


강연 끝나고 누군가의 질문에 대한 대답 中

현업자의 입장에서 볼 때, 데이터 엔지니어는 업계에서의 경험이 아주 중요하다. 경력직 채용이 대다수인 이유이기도 하다. ‘사수’의 존재가 중요하다. 지식의 배움만으로는 채울 수 없는 노하우의 영역이 존재하는 부분이기 때문이다. 사수가 없다면 커뮤니티 등에서 꾸준히 트렌드를 파악하고 질문을 남기며, 현업자의 조언을 받는 게 중요하다.


다음으로, ‘데이터 분석가’는 오래 전부터 존재했던 직업이다. 통계를 활용한 분석이라는 전통적 분석가의 관점에 가장 부합하는 직업이며, ‘비즈니스’에 어떻게 도움이 될 수 있을지를 분석하고 통찰력을 제공하는 역할이다. ‘비즈니스의 서포터’라고 보는 것이 더 적절하며, 클라이언트의 요구에 맞는 결과를 제공하는 커뮤니케이션 능력이 필요하다. 결과를 상대방에게 쉽게 전달할 수 있는 시각화 능력도 중시된다.


물론 현대에 들어 의미가 조금씩 변경되어 ‘통계나 수치데이터를 바탕으로 분석한다’에서 ‘머신러닝 등의 기술과 분석 알고리즘을 통해 비즈니스 의사결정, 문제 해결에 도움을 주는 Helper’라는 의미변화도 진행 중이다. 이 점에서 ‘데이터 사이언티스트’와 혼용되어 쓰이고 있는 중이다.





강연자인 두 분조차도, 큰 틀에서는 비슷하지만 ‘데이터 사이언티스트’에 대해서는 조금 차이를 보인 부분이 있다. ‘데이터 사이언티스트’라는 용어가 최근에 등장한 용어이기 때문에 단순한 견해의 차이인지, 아니면 아직 정립이 안 된 것인지 개인적으로는 잘 모르겠다. 그래서 두 분의 이름과 견해를 각각 소개한다.


1. 이용구 ㈜스위즐랩스 CTO
  

‘데이터 사이언티스트’는 수학과 통계 지식을 깊이 이해하고 있으며, 프로그래밍으로 구현하는 일도 가능한 유형이다. 자신이 몸담은 산업에 대한 전문지식(Domain Expertise)을 바탕으로, 산업과 채널별로 적용되는 데이터의 특징과 분석 알고리즘을 다룰 수 있는 사람이다. 


무슨 소리인지 감이 잘 안 올 수 있어서, 데이터 분석가 / 데이터 엔지니어와 각각 비교했을 때의 특징을 설명해 주셨었다.


데이터 분석가: 비즈니스의 서포터. 클라이언트 또는 의사결정자에게 분석 결과를 설명하고 이해시키기 위해 시각화/커뮤니케이션 능력에 조금 더 방점이 찍혀 있다. 비즈니스 매니저 역할에 조금 더 치중했다고 보면 된다.


데이터 사이언티스트: 데이터 분석가에 비해 현업에서 얻어낸 분석 알고리즘과 기술, 시스템의 성능 향상에 좀 더 초점을 맞춘 유형이다. 머신러닝과 딥러닝으로 통계분석 수준을 넘어선 정확도와 분석력을 목표로 한다고 생각하면 된다.


데이터 엔지니어와 데이터 사이언티스트의 차이점: 데이터 엔지니어 쪽을 검색하면 보통 ‘어떤 인프라 툴이 사용하기 편하냐’ 등 Tool에 대한 내용이 많고, 데이터 사이언티스트 쪽을 검색하면 상대적으로 ‘어떤 알고리즘이 더 정확도가 높으냐, 오류가 적으냐’ 등의 내용이 많다.


2. 김상우 VCNC 데이터 분석팀 Leader


과거에는 데이터분석가 / 데이터 엔지니어 두 분야로만 나뉘어 있었다. 데이터 분석가를 ‘통계 전문가’, 엔지니어를 ‘DBA(데이터베이스 관리자)'로 총칭했다.
그런데 데이터 분석도구가 점차 효율이 좋아지고 가벼워지면서, 전문인력 한 사람이 더 많은 일을 하는 것이 가능해졌다. 데이터분석가도 분석툴이 다루기 쉬워지면서 프로그래밍 쪽을 공부할 여력이 생겼고, 엔지니어가 하는 일에도 접근이 가능해졌다. 이 과정에서 ‘데이터 사이언티스트’라는 직업군이 생겨났다.


데이터분석가: 비즈니스의 문제 해결에 집중하는 유형. 따라서 대량의 데이터를 다루거나 수학적 알고리즘, 모델을 만드는 능력을 기대하지 않았음.
데이터 엔지니어: Hadoop, SQL, 프로그래밍 등 대량의 데이터에서 필요한 부분을 추출하는 능력(ETL)이 발달된 유형. 보통 개발에 집중된 유형이다 보니 데이터분석이나 머신러닝 분야의 능력을 기대하지 않았음. 
데이터 사이언티스트: 머신러닝, 파이썬, 통계 등의 다양한 방법을 활용해 대량의 데이터에서 인사이트를 뽑아낼 수 있는 유형. 데이터를 다루는 스킬과 데이터를 분석해 의미를 도출하는 스킬에 능한, 다양한 업무를 담당할 수 있는 사람.


간단히 말해 데이터 사이언티스트 = 데이터분석가 + 데이터 엔지니어 가 되는 것이다. 많은 사람들이 지향하고 있지만, 당연하게도 그리 쉬운 일이 아니다.



팩트로 후드려패는 슬라이드..



통계학자가 머신러닝을 배울 경우

  - 개발을 배우기 어려움
  - 빅데이터를 다루는 능력의 어려움
개발자가 통계와 머신러닝을 배우는 경우
  - 수학을 익히기 어려움
  - 비즈니스적인 마인드가 부족함
비전공자
  - 배울 게 많음.


이러한 어려움 때문에 ‘데이터 사이언티스트’ 라는 직업은 고도의 전문인력이며, 다다르기 쉽지 않은 업(業)이기도 하다.




김상우 VCNC 데이터 분석팀 leader님이 비트윈 데이터팀이 하는 일의 목록을 보여주셨다. 이용구 CTO님이 정의한 직업 유형이 혼재하고 있다. 인프라 관리나 데이터 제품 관리(=데이터 엔지니어의 역할), 퍼포먼스 마케팅 분석과 전략 수립 서포트(=데이터분석가의 역할)를 동시에 담당하고 있다. 머신러닝 스터디와 리서치를 병행하는 것을 보니 최종적으로는 데이터 사이언티스트를 지향하는 것으로 보인다.




결국 현업에서는 명칭은 혼합해서 쓰고 있다 해도, 데이터를 어떤 목적으로 다루느냐에 따라 어느 정도 역할이 구분되어 있다는 것이 가장 나은 설명인 것 같다. 비즈니스 쪽에 초점이 맞춰져 있으면 ‘분석가’, 데이터의 수급과 유지보수에 방점이 찍혀 있으면 ‘엔지니어’, 데이터분석과 프로그래밍을 활용해 비즈니스 / 데이터 특성을 연구한다면 ‘사이언티스트’ 로 요약할 수 있지 않을까.


+ 개인적인 생각으로는, 결국 데이터를 가장 잘 분석할 수 있는 사람은 현업에서의 경험을 가진 사람, 즉 Domain Knowledge가 있는 사람일 거라 생각한다. 비즈니스에 도움이 될 수 있는 분석결과를 도출해내기 위해 통계학이라는 도구를 넘어 머신러닝과 딥러닝, 프로그래밍 등에도 데이터분석가가 손을 뻗친 것이 아닐까.
무엇이 되었건, 아래의 강의 슬라이드 두 장만큼 내가 해야 할 일을 잘 요약한 것은 없을 거다.



'아주 많은 공부'와 '경험'



'많은 시간과 노력, 인내'





반응형