데이터 분석을 배우기 전 FAQ
Data Scientist, Data Analyst와 같은 직업이 흔해지다 보니 주위에 꽤 많은 사람들이 저에게 진로 상담, 데이터 분석가로서 필요한 스킬을 물어보십니다. 진로에 대해 고민 중인 취업 준비생, 커리어 전환을 꿈꾸는 직장인, 내가 원하는 데이터를 직접 보고 싶은 마케터/기획자 등 질문하시는 분들의 직업, 나이의 범위도 큽니다. 이 중 가장 많이 받았던 질문에 대한 답을 이번 글을 통해 공유드리려 합니다.
결론부터 말씀드리자면 석사 학위가 필수는 아닙니다. 특정 주제에 대해 구체적으로 더 깊게 공부하고 싶다면 당연히 석/박사 프로그램을 선택하시는 게 맞습니다. 하지만 저에게 질문을 주시는 분들이 이루고 싶으신 바는 주로 취업/이직/자기 계발 정도이기 때문에 이를 위해서라면 반드시 필요하진 않습니다. 대학원에서 보내는 2년이라는 시간보다 실제 데이터를 가지고 현업에서 수행한 업무 경험 2년이 배움에 있어서는 더 효과적이라 생각합니다.
데이터 분석 관련 직군에서 '석사 우대'라는 조건이 내포하는 뜻은 '우리는 당신에게 데이터 분석을 처음부터 가르칠 시간이 없을뿐더러, 우리가 원하는 인재는 데이터가 주어졌을 때 어느 정도 독자적 분석 업무 수행이 가능한 사람'입니다.
생각해보면 당연한 이야기입니다. 데이터 분석을 주 업무로 수행하는 회사에서 정직원을 채용하는데 분석을 전혀 할 줄 모르는 사람을 뽑진 않을 것입니다. 이는 어느 직군이건 마찬가지입니다.
그리고 '데이터 분석이 가능하다'라는 타이틀 자체만으로는 실력이 입증되지 않습니다. 그래서 그 검증을 그나마 '석사 학위'라는 것으로 대체하는 것입니다. 기본적 문제 해결 능력을 보유하고 있음을 갈음하는 거죠. ‘데이터가 주어졌을 때 독자적으로 분석 업무 수행이 가능한’ 분이라면 이를 타인에게 증명할 수 있는 방법을 찾으시면 됩니다.
주위의 여러 사람들에게 이 질문을 해보셨다면 느끼셨을 수도 있겠지만, 이에 대한 답은 의견이 분분합니다. 사람마다 프로그래밍에 있어 어떤 백그라운드를 가졌냐에 따라 다르게 대답할 수 있는 주관적 견해이기 때문입니다. 하지만 제 생각에는 정말 입문자시라면, R이든 Python이든, 배울 때의 난이도는 비슷하게 느껴지실 거라 생각합니다. 그래서 친한 친구들이 쓰는 툴부터 사용해보시길 권장합니다. 입문자시라면 프로그램 설치부터 시작하여 모든 과정이 생소하고 혼란스럽습니다. 민망할 정도로 매 스텝마다 질문을 해야 될 경우가 생기실 텐데, 그때 옆에서 도와주는 친구가 있다면 큰 도움이 됩니다.
만일 그러한 친구들이 없으시다면, 이해가 잘 가는 인터넷 강좌 강사 혹은 블로거가 쓰는 툴을 쓰시길 추천합니다. 강좌 자체도 이해가 잘 되고, 댓글을 달면 금세 답을 주시는 분들이요.
* 참고로 R, Python 모두 전 세계적으로 엄청난 수의 유저들이 활발히 활동 중이기 때문에 작업을 하시면서 생긴 궁금증에 대한 답은 구글링을 통해 대부분 찾으실 수 있습니다. 저는 R을 하시든, Python을 하시든, SAS를 하시든 일단 하나를 정하시고 시작하시라 말씀드리고 싶습니다. 저 중 하나라도 제대로 알면 그 외 다른 언어를 배우는 건 크게 어렵지 않습니다.
이 질문에 대해서도 두 가지의 경우로 나눌 수 있는데
1) 현업에서의 활용도
저는 금융업에서만 줄곧 종사하고 있기 때문에 이 질문에 대해서는 제한적으로 정보를 드림에 양해 부탁드립니다. 안타깝게도 아직까지 금융업권에서는 R이나 Python을 활발히 사용하고 있지 않습니다. 머신러닝, 딥러닝 등을 활용할 경우에 해당 툴들을 쓰고 있긴 하지만 대부분의 실무자들에게는 생소한 툴입니다. 그럼 어떤 툴을 쓰냐라고 물어보신다면, 다수의 경우 공통적인 툴은 SAS라 말씀드릴 수 있습니다. 저희 업계는 수집된 데이터들이 DB(데이터베이스)에 저장이 되고 실무자들은 그 DB에 접속해서 원하는 데이터를 추출해서 씁니다. 이때 SQL을 활용하죠. 저는 대부분의 분석 업무 시 SQL로 데이터를 뽑고 모델링(통계 모형 개발)을 할 경우에는 SQL을 이용한 데이터 전처리를 진행 후, cleansing 된 데이터셋을 기타 통계 분석 툴(SAS, R, Python)에 부어 그 뒷단 작업을 진행합니다. 환경상 이 방법이 불가능한 경우 통계 분석 툴만을 활용하기도 합니다.
2) 용도 확장성
우선은 R과 Python 모두 비슷한 작업 수행이 가능합니다. 둘 중에 무엇을 더 진득하게 배울 까에 대한 질문이라면 향후 어떤 기대/목적으로 접근하시냐에 따라 갈릴 수 있을 것 같습니다.
R은 통계학도/통계학자를 위한 툴이라 생각합니다. 통계 분석 목적만을 가지고 있으시다면 R을 선택하시는 편이 좋을 것 같습니다. 'R은 진짜 "언어"가 아니다.'라고 하는 말들이 있긴 하지만, 뭐 어때요? 내가 원하는 용도에 맞게 툴을 쓰는 것이 목적이지 않습니까? R은 정말 다양한 통계 분석 패키지가 있고, 특히나 visualization 측면에서는 훨씬 예쁩니다. (여담이지만, 제가 대학교 때 ggplot2를 만드신 Hadley Wickham(현 R studio의 Chief Scientist) 교수가 계셔 R 직강을 하셨는데, 저는 그때까지만 해도 R이 이렇게 유명해질 줄은 몰랐습니다.. 물론 제가 프로그래밍에 대해서는 전혀 관심도 없었기도 했지만요. 왜 그의 수업을 더 많이 듣지 않았을까라는 후회를 이제야 하네요.)
Python은 범용적이라는 장점이 있습니다. 예를 들어서 분석 결과를 다른 웹에 넘긴다거나 모형 결과를 서버에 심는 과정 등에 대한 작업에서 Python이 더 수월하다고 느꼈습니다. 또한, AI의 Boom으로 현재 많은 개발자들이 Python으로 패키지를 올리고 있습니다. 따라서 향후 딥러닝 관련 최신 논문을 구현해보고 싶다면 Python을 시작으로 하시는 게 좋을 듯싶습니다.
1. 분석 툴을 선택한다.
2. 샘플 데이터를 다운 받는다.(본인이 앞으로 활용할 데이터와 가장 유사한 형태의 데이터일수록 좋겠죠?)
3. 실력에 맞게 차근차근 코드를 짜본다.
4. 사고하며, 3번을 반복한다.
고민하실 시간에 1번과 2번을 빨리 결정해서 실행에 옮기셨으면 좋겠습니다. 책을 읽고 강좌를 보신다 해도 직접 코드를 구현해보지 않으시면 응용문제 해결이 불가능합니다. 저희가 피아노를 눈과 머리로만 터득하지는 않으니까요. '사고하며, 3번을 반복한다.'는 내가 분석하고 있는 데이터로 발생할 수 있는 다양한 케이스들을 생각해보시라는 뜻입니다. 머릿속으로 많은 시나리오를 짜보셔야 합니다. 그리고 무한히 반복해보시길 권장합니다.
자격증에 대해서도 많이 물어보십니다. 뭐라도 증명을 해야겠다라는 마음으로 자격증을 따려는 심정은 잘 알지만, 6년 동안 데이터 분석을 해봤던 실무자 입장에서 말씀을 드리자면 현존하는 자격증 중에 개인의 분석 능력치를 보여주는 자격증은 없습니다. 데이터 분석은 암기 과목이 아닙니다. 자격증 취득을 위한 공부 시간에 분석 훈련을 한 번이라도 더 해보시는 게 바람직하다 여겨집니다.
데이터 분석 관련 온라인/오프라인 강좌들이 점점 더 많아지고 있습니다. 커리큘럼과 수강비용을 종합적으로 고려해봤을 때 터무니없는 가격 책정이 많았습니다. 그리고 커리큘럼 중에는 여러분들이 굳이 수강하지 않아도 될 목차들도 존재합니다. 오프라인 수업을 통해 수강생들끼리의 활발한 의견 공유 등이 목적이시라 하더라도 제가 알고 있는 수강료 수준은 과하다고 생각합니다. 수업 시간의 반 이상이 실습이어야 하고 분석 스킬은 누가 가르쳐주는 것이 아니라 본인이 스스로 터득해야 하기 때문입니다.
무료 온라인 강의 중 컴팩트한 커리큘럼과 좋은 강의를 보유하고 있는 강좌들이 다수 존재합니다. 온라인 강의를 통해서 개인적으로 연습해 보시고, 질문이 있으시다면 페이스북과 같은 커뮤니티 페이지에 공유해보신다면 친절하고 적극적인 답변들을 얻으실 수 있습니다.