통합 검색어 입력폼

빅데이터 공부, 무엇부터 해야 하나요?

조회수 2020. 2. 27. 15:41 수정
번역beta Translated by kaka i
번역중 Now in translation
글자크기 설정 파란원을 좌우로 움직이시면 글자크기가 변경 됩니다.

이 글자크기로 변경됩니다.

(예시) 다양한 분야의 재밌고 유익한 콘텐츠를 카카오 플랫폼 곳곳에서 발견하고, 공감하고, 공유해보세요.

안녕하세요, 멘토님. 군대를 마치고 복학을 앞둔 25세 학생입니다.


저는 어렸을 때부터 숫자에 관심이 많았는데요. 시스템경영공학(구 산업공학)을 전공하다 보니 빅데이터에 관심이 생겼습니다. 생각하고 있는 직무는 빅데이터 분석가입니다.

출처: ⒸTippaPatt

하지만 그동안에는 코딩이나 프로그래밍 언어는 저와 관련이 없다고 생각했었기 때문에 관련 공부를 전혀 하지 않았습니다. 이제라도 시작해 보려고 하는데, 당장 어떤 것을 어디서부터 준비해야 하는지 감이 안 잡히네요.


어떤 사람은 C가 기본이니 C부터 해야 한다고 하고, 또 다른 사람은 자바를 해야 한다고 합니다. 또 파이썬과 R을 할 줄 알아야 한다고 얘기하는 분이 있는가 하면, SQL이 필수라고 말씀하시는 분도 있어요.


전혀 베이스가 없는 제가 가장 먼저 공부할 수 있고 또 해야 하는 분야는 무엇인가요? 멘토님께서 조언 주시면 많은 도움이 될 것 같습니다. 그럼 답변 부탁드립니다. 감사합니다.


안녕하세요, 멘티님. 고민이 많으실 시기이네요. 일단 무엇을 공부하고 준비해야 하느냐는 질문에 앞서 더 중요한 것은, 멘티님께서 정말 하고 싶고 이끌리는 분야가 어느 쪽인지 고민을 마치시는 것이라는 생각이 듭니다. 


'빅데이터 분석가'라고 적어 주셨지만, 일반적으로 실무를 경험해 보지 못하신 분들은 그 의미를 제대로 이해하지 못하고 말씀하시는 경우가 많은데요. 아마 주위에서 조언을 해 주신 분들도 그 의미를 자기 안의 범위에서 판단하고 말씀해 주시지 않았을까 싶네요.

출처: ⒸPIYAWAT WONGOPASS

빅데이터 분석에 관한 여덟 가지 업무 영역 분류

빅데이터 분석에서는 각기 다른 업무 영역들이 상호 작용하고 있는데, 이를 저의 경험을 바탕으로 말씀드려 볼게요. 회사마다 상황은 다르겠지만 대략 분류해 본다면 아래와 같을 거예요.

  1. 데이터 수집 : Business Data Analyst, Data Engineer, Marketing Technologist, Growth Hacker
  2. 데이터 파이프라인 구축(데이터 정제) : Data Engineer
  3. 분석 환경 구축 : Data Platform Architecture
  4. 데이터 분석 도구 개발 : SW Engineer
  5. 데이터 시각화 : Business Data Analyst(Data Miner), Marketing Technologist, Growth Hacker
  6. 비즈니스 데이터 분석 및 업무 적용 : Business Data Analyst(Data Miner), Marketing Technologist, Growth Hacker
  7. 머신러닝 모델 개발 및 적용, 개선 : ML Engineer, Data Scientist(Data Miner), Marketing Technologist, Growth Hacker
  8. 선행 기술 연구 : Data Scientist, Marketing Technologist

업무 역할에 따라 필요한 언어가 달라져요

일반적으로 데이터 엔지니어는 여러 기기 혹은 거래로부터 발생하는 데이터를 수집/가공해 데이터 분석가나 엔드 유저가 쉽게 활용할 수 있도록 다리 역할을 하는 이들을 의미합니다.


데이터 파이프라인을 생성한다고 표현하며, 따로 담당 직무가 없는 경우 백엔드 개발자가 같이 수행하기도 하지요. 제 영역은 아니기 때문에 아주 자세히 말씀드리기는 어렵지만, 일반적으로 데이터 구조와 알고리즘, OS 등의 지식을 기반으로 하둡 에코시스템에 대한 이해가 필요하고요. 자바나 스칼라 등의 언어에 대한 이해가 요구된다고 알고 있어요.

출처: Ⓒpressfoto

머신러닝 엔지니어의 경우, 기업에서 필요로 하는 머신러닝 모델을 실제로 개발하고 적용하는 역할을 합니다. 기존에 통계학을 베이스로 한 전문가들 관점에서는 데이터 마이너라고 불리기도 했죠. 이런 머신러닝 모델을 개발하기 위해서는 R, Python, Spark, Tensorflow, Keras 등의 분석 언어와 라이브러리들에 대한 이해가 필요해요.


데이터 사이언티스트는 기업에 따라 조금 다르기는 한데요. 대부분이 연구 조직으로 선행 기술 연구를 위해 논문 분석을 주로 하고요. 기업에 적합한 분석 방법론을 제시해주는 역할을 합니다. 하지만 대부분의 기업에서는 데이터 사이언티스트가 머신러닝 엔지니어와 혼용되고 있으며, 실제 프로덕트 개발에 치우친 업무를 하는 경향도 많아요.

비즈니스 데이터 분석가는 CRM 담당자 등이 실제 기업에서 수행해야 하는 각종 의사결정을 지원하기 위한 데이터 분석을 수행하는데요. 데이터 활용의 엔드 유저 중 하나입니다. 맡은 업무 분야에 따라 마케팅, 전략, 상품 개발 등에 데이터를 활용하며, 각종 지표를 분석하거나 시각화하여 표현하는 업무도 수행합니다.


위에서 말씀드린 모든 직무는 기본적으로 데이터베이스, 데이터레이크에서 본인들이 원하는 데이터를 정확하고 효율적으로 추출할 수 있어야 하기 때문에 SQL이 아주 기본적인 무기가 됩니다.

출처: Ⓒnikitabuida

SQL은 공통, 분야에 따라 자바나 파이썬을 공부하세요

다시 처음으로 돌아가 볼게요. 멘티님께서 앞으로 나아가고 싶은 직무의 길이 데이터 엔지니어 류라고 한다면, C, 자바, 파이썬, 하둡에코시스템 쪽의 스킬셋을 확보하시는 게 도움이 되실 거예요.


그리고 만약 머신러닝 엔지니어나 데이터 분석가 쪽으로 가신다면, 파이썬(또는 R) 및 관련 분석 패키지/라이브러리에 대한 지식을 갖추는 것이 도움이 됩니다. SQL은 직무와 무관하게 반드시 알아야 하는 아주 기본적인 스킬셋이에요.


결론적으로 정리한다면 이렇습니다. 첫 발걸음을 시작하시는 단계이니, 엔지니어링 쪽을 선택하신다면 SQL과 자바(C)를 공부하시면 되고요. 분석 쪽을 선택하신다면 SQL과 파이썬을 공부하시면 좋겠네요.

원하시는 답변이 되었으면 좋겠습니다. 열심히 준비하시고 원하는 직무에서 일하시길 바랄게요. 감사합니다.

 

ⓒ저작권은 해당 멘토에게 있으며, 콘텐츠의 편집 및 전송권은 잇다가 가지고 있습니다.


▼ 지금 이 현직자에게 직접 질문하고 싶다면?

이 콘텐츠에 대해 어떻게 생각하시나요?