brunch

You can make anything
by writing

C.S.Lewis

by 박경아 Feb 05. 2022

빅데이터 커리어 가이드북

데이터 사이언스 공부를 시작했다면 누구나 부딪히는 문제가 무엇을 어떻게 공부해야 할지, 데이터 관련한 직업 혹은 직군은 어떤 것들이 있고 무엇을 준비해야 할 지, 대학원은 가야 할지 등등이다.


빅데이터 커리어 가이드은 이러한 질문에 대한 정석적인 대답을 담은 책이라 할 수 있다. 저자는 '세상을 읽는 새로운 언어, 빅데이터'라는 책을 쓴 서울대 조성준 교수님과 그 대학원 연구원 분들이 학자로서의 경험과 실무자들에게 인터뷰한 내용 등을 바탕으로 빅데이터 커리어를 6개 직무로 나눠 소개하고 그렇다면 무엇을 어떻게 공부해야 하는 지에 쓴 책이다.


이 책의 첫 인상은 아주 두꺼웠으나, 혼자 데이터 사이언스 공부를 시작해 지금 패스트 캠퍼스의 AI 데이터 사이언티스트 과정 절반을 지나고 있는 시점에 있는 나에게 이 책은 쉽지 않을까라는 오만한 생각이 처음에 살짝 들기도 했다. 하지만 각계 공부 방법에 들어가면, 특히 머신러닝 부분에서는 지금까지 공부한 부분들이 일반화되어 정리되기도 하고 모르는 내용도 많이 나왔다.


가장 좋았던 점은 머신러닝 이론을 공부하면 그냥 그 이론 자체를 공부하기 쉬운데 이 책은 머신러닝 이론 전반을 가볍게 소개하면서도 각 이론들의 관계가 어떻게 되고 종류가 머가 있는 지 깊지는 않아도 넓게 조망할 수 있는 면이 좋았다. 이런 내용들은 정말 처음 시작하시는 분들은 생소할 수 있으나 한 번 읽고 참고로 하고 필요할 때 마다 가볍게 찾아보는 말 그대로 사전의 역할을 하기 충분할 수 있다고 생각한다.



빅데이터 직무


같은 빅데이터 직무라고 하더라고 회사마다 원하는 능력이나 스펙이 다를 수 있다. 내가 관심있는 마케팅 직군만 하더라도 마케팅 데이터 애널리스트이지만 직무능력에 파이썬이나 SQL을 다룰 수 있는 능력이 적혀있는 곳도 있었다. 아마 본격적으로 데이터를 활용한 모델링을 시작하지 않았지만 애널리스트의 역할을 하면서도 이런 준비를 하기 위함인가??


아뭏든 자신이 원하는 회사의 원하는 직군이 있다면 그 직무내용을 잘 살펴보고 준비하도록 하자. 이 책은 빅데이터 관련 직무를 크게 6개로 나눴는데 이 부분은 부담없이 읽을 수 있을 것이다. 실제 개발자에게 물어봐도 데이터 엔지니어와 데이터 사이언티스트를 헷갈려하시는 분들도 많다.


물론 둘다 하실 수 있는 분도 가끔 있고 본인이 개발자로 데이터 사이언스를 공부할 수 있겠지만 데이터를 많이 활용하고 어느 정도 데이터 팀이 분업화된 회사에서는 데이터 사이언티스트와 데이터 엔지니어 직군이 구분되리라 생각한다.


두 직군의 가장 큰 차이점은 데이터 사이언티스트는 데이터를 가지고 문제 해결을 위한 모델링을 하는 것이 주요 업무이고, 데이터 엔지니어는 데이터 수집, 변환, 저장 등 회사의 데이터가 제대로 수집되고 이용되도록 관리하는 사람이다. 데이터 사이언티스트는 데이터 엔지니어가 수집하고 저장하고 관리하는 데이터를 활용하게 되므로 이 두 직군간의 협업이 많을 것이라 예상할 수 있다.


그 외 데이터 분석을 통해 해당 부서나 경영진에 인사이트를 제공하는 데이터 애널리스트, 자신의 주요업무가 데이터 관련한 업무는 아니지만 데이터를 활용해 자신의 능력과 성과를 향상시키는 시티즌 데이터 사이언티스트, 회사가 목표로 하는 빅데이터 프로젝트의 계획과 운영을 책임지는 데이터 기획자, 그리고 최신 연구를 공부하고 새로운 알고리즘을 만드는 데이터 리서처 등의 직업이 있다. 데이터 리서처는 최소 박사 이상의 학위를 요구한다고 하니 공부량 혹은 깊이에 있어서는 최고봉이라 할 수 있겠다.



빅데이터 지식 (공부자료)


각자 목표하는 직군에 따라 공부해야 하는 지식이 다를 것인데 그렇다면 무엇을 어떻게 공부해야 할까? 책의 후반부는 각 분야별로 공부해야 할 내용과 공부 자료 등이 소개 되어 있는데, 데이터 애널리스트와 데이터 사이언티스트에게 필요한 공부 분야를 중심으로 살펴보자.


1) 시각화

먼저 시각화는 데이터나 데이터 분석 결과를 보여주길 원하는 방향으로 상대방에게 전달하는 방법이다. 같은 데이터라고 하더라도 가로축이나 세로축 정의, 히스토그램의 구간(bins)를 어떻게 설정하느냐에 따라 그래프 모양이 다르게 나타나므로 원하는 내용이 잘 나타나는 지 확인하는 게 중요하다.


파이썬 사용자는 Matplotlib, Seaborn 같은 시각화 라이브러리를 주로 사용하며 고정된 시각화가 아니라 사용자 조작에 따라 원하는 정보를 볼 수 있는 ‘반응형 시각화’를 원한다면 plotly와 같은 라이브러리를 사용할 수 있다. 한편, 코딩이 필요없는 시각화 툴로는 태블로, 스팟파이어 등이 있다.



2) 데이터 분석 소프트웨어

데이터 분석 소프트웨어는 복잡한 코딩없이 간편하게 데이터 분석 결과를 얻을 수 있는 플랫폼으로 주로 데이터 애널리스트나 시티즌 데이터 사이언티스트가 사용한다. KNIME, RapidMiner, SAS 등이 대표적이며 복잡한 전처리나 모델링을 할 수는 없어도 이들 소프트웨어의 기능을 잘 익히는 것만으로 빨리 효율적으로 모델링을 해볼 수 있다는 장점이 있다.



3) 프로그래밍

나를 포함해 코딩을 처음 배워보는 사람들은 먼가 컴퓨터 언어에 '막연한 어려움'이라는 게 느껴지는 데 일단 한 개 언어의 이론을 익히고 실습을 통해 자유롭게 사용할 수 있게 되면 다른 언어도 빠르게 습득할 수 있다고 한다.


지난 번 글에 코딩 공부에 대한 내 생각을 적은 적이 있는 데 영어 문법과 수학 서술형 문제를 푸는 그 중간쯤 같다고 한 적이 있다. 답은 하나가 아니고 여러가지 방법으로 문제를 해결할 수 있지만 가능하면 논리적이고 효율적으로 코드를 작성해야 하기 때문이다. 그래서 코딩을 잘하기 위해서는 문법도 꼼꼼히 익혀야 하지만 실제 코딩과 디버깅을 하는데도 시간을 많이 할애해야 한다. 하면서 다시 문법을 찾아보고 해결 경험을 쌓아갈 수 있다.


리트코드나 해커랭커는 원하는 언어별로 실제 코딩 과제를 풀어볼 수 있는 사이트들이다.


# 책에서 소개된 공부자료
코세라, Applied Data Science with Python Specialization
리트코드 (https://leetcode.com/)
해커랭크 (https://www.hackerrank.com/)
생활코딩 (https://opentutorials.org/course/1)

모두의 알고리즘 with 파이썬 (길벗)
Do it! 자료구조와 함께 배우는 알고리즘 입문 (이지스퍼블리싱)
Introduction to Algorithms (MIT Press)
알고리즘 트레이닝 - 프로그래밍 대회 입문 가이드 (인사이트)


4) 수학 및 통계학

관련 학부 전공자라면 다행히 선형 대수학이나 일반 통계학 등을 공부하겠지만 너무 좌절하진 말자.. 이 책에서도 머신러닝을 위한 수학 공부는 수학 공부에서 시작하는 것이 아니라 머신러닝에서 시작할 것을 이야기하고 있다.


즉, 머신러닝의 결과가 무엇을 의미하는 지, 머신러닝 모델 안에서 어떠한 계산이 이뤄지는 지 알고 싶다면 머신러닝 기법에 대한 이해가 필요하고, 머신러닝 기법을 이해하기 위해서는 선형대수학에 대한 지식이 필요하다는 것이다. 이는 목표 달성을 위한 지식이기 때문에 수학 공부를 의욕적으로 할 수 있을 것이다!


# 책에서 소개된 공부자료
에드위드, 모두를 위한 선형대수학 (칸아카데미)
MIT 온라인 강의 - 선형대수학
코세라, Mathmatics for Machine Learning Specialization

Linear Algebra and its Applications (Cengage Learning)
Linear Algebra (Pearson)
일반 통계학 (영지문화사)
수리 통계학 (민영사)


5) 머신러닝

이 책에 따르면 데이터 사이언티스트와 데이터 리서처는 관심있는 머신러닝 기법의 모든 가정, 내부 작동을 세세히 알고 있어야 한다. 한편, 데이터 분석가는 머신러닝 알고리즘의 작동 원리를 설명할 수 있는 수준까지는 아니여도 각 알고리즘이 어떠한 가정을 포함하고 있고 파라미터 수정이 어떠한 영향을 미치는 지 알고 있으면 된다고 한다.


나 역시 각 알고리즘이 어떠한 원리로 만들어 졌는 지 이해하려고 노력하지만 어느 정도까지 깊게 공부할 지는 밸런스를 잡아야 할 것 같다. 데이터 사이언티스트는 학자라기 보자는 실제 해결 경험이 더 중요할 수 있기 때문이다. 그리고 결론은 다시 필요한 수학 공부로 돌아가게 된다...


# 책에서 소개된 공부자료
앤드류 응 머신러닝 온라인 강의
Hands on Machine Learning with Scikit-Learn, Keras, Tensorflow (O’Reilly Media)
Mathematics for Machine Learning (Cambridge University Press)
Pattern recognition and Machine learning (Springer)
모두의 머신러닝 (길벗)
단단한 머신러닝 (제이펍)

김성훈 교수의 모두를 위한 딥러닝 비디오 강좌, 깃허브
CS231n, CS224n 스탠포드 비디오 강의
모두의 딥러닝 (길벗)
단단한 딥러닝 (제이펍)


구정 연휴가 끝났는데 공부해야 할 것은 너무 많다. 차근차근 해나가면서 실력을 쌓아나아가 보자!


# 참고로 이 책은 사고 싶던 책 중에 하나였는데 마침 출판사에서 리뷰 의뢰를 하셔서 현물(책)을 지원받아 작성했습니다.

브런치는 최신 브라우저에 최적화 되어있습니다. IE chrome safari