문과생 네버랜드의 데이터 창고

문과생이 데이터 과학자가 될 때까지 - 1 (공부의 방법, 국비과정 경험) 본문

잡담

문과생이 데이터 과학자가 될 때까지 - 1 (공부의 방법, 국비과정 경험)

K JI 2024. 10. 30. 01:27

이 글을 쓰게된 이유는 내가 활동하고 있는 데이터 분석 관련 단톡방에 데이터 분석 관련 커리어에 대한 질문을 절실하게 올리시는 분들이 요즘들어 무척 많아졌기 때문이다.

 

대개 올라오는 질문은 '제가 xx학과 출신 학사(석사)인데요, XX자격증하고 XX공모전 경험 / 수상했는데 데이터 분석으로 채용될 수 있을까요?' 같은 스펙 관련 질문, 혹은 '파이썬이나 R, 혹은 수학 지식은 얼마나 중요한가요?'같은 스킬셋에 대한 질문들이 주로 올라왔다. 

 

그런 질문들을 보다보니, 처음 데이터 분석 분야로 취업준비를 시작했던 2018년의 내가 떠올랐다. '빅데이터' 라는 수식어를 전면에 달고 투자금이 몰리고 인력이 대거 양성되던 그 태동기는 직무 관련 정보도 적고, 소위 말하는 '합격 스펙'에 대한 합의된 기준도 없었던 그런 시절이었다.

 

그리고, ChatGPT나 각종 AI의 등장으로 데이터 분석 직무에 대한 정의가 근본적으로 격변하고있는 지금같은 상황에선 오히려 그때보다 더 불확실성이 높아 직무 적합성에 대한 고민과 불안은 그때보다 더할것이라 생각한다.

 

''

 

우선, 말씀드리고 싶은 것은 내가 커리어를 처음 시작한 2020년과 2024년은 매우 큰 격차가 있다는점을 말씀드리고 싶다. 불리한 배경을 가지고도 데이터 분석(혹은, 데이터 과학) 커리어를 시작할 수 있었던 2020년도의 나는 그 어떤 겸손함을 섞지 않더라도 분명, 운이 매우 매우 좋았다.

아마, 그때와 동일한 자격으로 지금 취준을 시작했다면 나는 볼것도 없이 커리어의 입구에서 바로 입구컷 당했을거라고 요즘 매일 생각한다.

 

그럼에도 불구하고, 지금 이순간에도 데이터 분석 커리어를 절실하게 원하시는 분들께

 

내가 어떻게 공부를 했고

어떻게 분석 커리어를 시작할수 있었는지, 그 이후로 어떤 커리어를 밟아왔는지

 

매우 부족하나마 관련된 내용을 전달하여 향후 의사결정을 하시거나, 혹은 전략, 커리큘럼을 짜는데 조금이나마 참고가 되었으면 하는 작은 마음에서 이 글을 시작하고자 한다.

 

==================================================================================

 

1. 데이터 분석 커리어를 준비하기위한 공부

 

1) 데이터 관련 커리어에 대한 공부법을 질문주시는 분들께, 보통 아래의 로드맵을 추천드리는 편이다. 

https://github.com/MrMimic/data-scientist-roadmap

 

이것저것 많은것이 적혀 있지만, 정리하자면 다음 세 가지의 분야로 정리할 수 있다.

 

(1) 수학적 기초를 쌓는다

 

-. 다음의 책으로 공부를 했다.

 

미적분학 : Gilbert Strang, '스트랭 미분적분학 3rd Edition', 한빛수학교재연구소 역, (서울: 한빛아카데미), 2019.
수리통계 : Hogg et.al, '수리통계학 개론 7th Edition', 박태영 역, (서울 : 경문사), 2018

선형대수 : Gilbert Strang, '딥러닝을 위한 선형대수학',  부산대학교 산업수학센터 역, (서울: 한빛아카데미), 2020
Khan Academy, 'Linear Algebra', Linear Algebra, Last modified 2015.06.18,  https://www.khanacademy.org/math/linear-algebra

 

Linear Algebra | Khan Academy

Learn linear algebra—vectors, matrices, transformations, and more.

www.khanacademy.org

 

-. 약 1년 정도, 월요일부터 토요일까지 하루 10시간동안 한시간 단위로 스케쥴을 쪼개서 공부를 했다.

 

당시 시간 단위로 관리했던 스케쥴.

 

 

-. 공부는 다음 방법론에 따라 했다.

 

① 해당 과목을 공부하는 시간의 1/2는 개념을 공책에 따라 쓰면서(+ 내가 이해한것을 그림이나 메모로 코멘트를 달면서)

② 개념을 공부한 후엔 반드시 연습 문제를 함께 같이 풀었다.

수리통계 공부 노트. 왼쪽 노트가 개념정리 노트, 오른쪽 노트가 연습문제를 푼 노트다.

 

연습문제를 푸는 이유는, 개념을 머릿속에서 정리한것과 실제 개념이 다른 경우를 방지하기 위해서 반드시 포함했다. 연습문제를 풀다 보니 개념을 잘못 이해한 경우도 문제를 풀면서 다시 바로 잡게되는 경우가 많았다.


연습문제를 푸는 시간이 늦어지면 1년, 매주, 매일 단위로 사전에 계획했던 스케쥴이 전부 어그러지기에 시간에 대한 부담감을 항상 느끼며 공부를 했던것같다.

그러나, 그런 압박감이 있었기에 시간이 한도끝도없이 늘어지지 않고 긴장감을 항상 유지하며 공부 페이스를 유지할 수 있었다.

 

(2) 코딩을 배우고, 머신러닝 알고리즘에 대해 공부한다.

 

-. 당시엔 Kaggle 정도가 유일한 컴페티션 커뮤니티라, Kaggle의 고수들이 올려놓은 노트북 파일을 많이 참조했던것 같다.

 

-. kaggle 노트북에 담겨있는 데이터 EDA 방법론을 꼼꼼하게 메모했다. 예를 들어

차원 축소에 쓰는 알고리즘이나 방법론은 무엇인지

② 해당 방법론을 어떤 상황에, 어떤 방식으로, 왜 적용하는지

③ 데이터를 살펴볼 때, 전처리를 할 때 주로 어떤 부분이 이슈가 되는지 공부했다.

 

-. EDA 방법론 만큼이나 분석 실무에서 활용하는 모델들 또한 곰꼼하게 기록하고 내가 이해한 내용을 추가 메모로 달아 확실하게 이해하고 암기하고자 했던것같다.

EDA, 전처리, 모델링에 활용하는 알고리즘들을 정리한 노트. 손으로 쓰고 정리하면서 역으로 머릿속에서 정리되는 느낌을 많이 받았다.

 

-. 앞서 수학을 공부했던 내용이 이때 도움이 많이 되었다. 예를 들어, A라는 EDA(전처리) 알고리즘이 어떤 이론의 연장선상에서 발전한건지 어느정도 감이 왔기 때문이다. 

 

수리 통계를 공부하면서 알게된 EM알고리즘, 계층적 베이지안 지식을 현업에서 쓰는 가우시안 믹스 모델, 잠재 디리클레 할당(LDA) 을 개념적으로 이해하는데 도움이 많이 되었다

미적분학을 공부하면서 알게된 미분의 엄밀한 정의, 뉴턴법의 정의를 응용하여 현업에서 프로젝트를 연구하는데 썼던 2차 차분의 개념, 그리고 딥러닝의 경사 하강법등을 이해할 수 있었다.(물론, 뉴턴법하고 경사하강법은 적용 방법이 다르기 때문에 같진 않다)

 

(3) 그 이후에 정형 분석 / 비정형(NLP, 이미지) 분석에 대해 가고자 하는 길을 선택한 후 해당 영역에서 필요로 하는 지식을 쌓는다.(물론, 다 공부하면 더 좋다!)

 

- 예를 들어, NLP 커리어를 밟기 전에 내가 했던 공부는 다음과 같다

 

LSTM 등 시계열 딥러닝 알고리즘을 이용하여 Attention 구현

트랜스포머 논문 독파 : Attention is all you need의 논문을 천천히 읽으면서 개념 학습 

트랜스포머 직접 구현 : tensorflow Docs에 있는 트랜스포머 구조를 Keras로 옮겨서 다시 짜보기

자연어 분류 컴페티션 참여(스미싱을 분류하는 컴페티션이었는데, 아쉽게도 좋은 등수는 기록하지 못했다)

 

NLP 관련하여 공부했던 논문들. 문과생 입장에선 너무 어려운 용어나 개념들이 많아 힘들었다.

 

앞서 수학을 공부하면서 배웠던 여러 개념과, 그 개념을 수식적으로 나타낸 꼴을 공부한 경험이 논문을 이해하는데 매우 크게 도움이 되었다. 논문에선 엄밀한 정의를 위해 수식으로 개념을 나타내는 경우가 많은데, 수식을 보면 어떤 개념을 적용한건지 어느정도 감이 왔기 때문이다.

 

2. 국비과정 참여

 

결론부터 말하자면 국비과정을 들으며 느꼈던점은.. 국비과정, 혹은 부트캠프는 취업을 바로 할 수 있는 능력을 만들어주지 않는다는 것이다.

 

현업에 투입된 데이터 분석가 / 과학자는 입사하자마자 회사와 고객의 매우 큰 기대감에 부응하기위해 혼자서 발버둥 쳐야하는 경우가 매우 많다. 온갖 변수와 요구사항이 난무하는 와중에 두루뭉술한 요구를 실제 목표로 변환해서 결과물을 내는 것은 매우 깊은 공부가 선행되지 않고서는 추진이 거의 불가능하다.

 

결국 8개월의 국비과정을 경험하고서도 지식과 준비의 부족함을 느껴, 1년여의 추가 공부를 하고 나서야 분석 커리어를 겨우 시작할 수 있었다.

 

1) 데이터 공부의 첫 시작 :  파이썬을 이용한 데이터 분석을 가르치는 국비 과정이었다.

참여했던 회차는 다르지만 이 과정에 참여했었다.

 

(1) 과정 설명 : 해당 국비과정은 2개월 과정으로, 1개월은 코딩과 분석 보고서 작성에 대한 개념을 가르치고, 1개월은 공부했던 내용을 토대실무 프로젝트로 발표까지 진행하는 과정이었다.

 

(2) 이 과정에서 얻은 것은 다음과 같다.

 

-. 파이썬 / R 코딩 능력 : 천생 문과생으로 코딩은 커녕 데이터 분석은 SPSS로만 진행해보던게 다였던 좁디 좁은 세계에 처음으로 프로그래밍 언어가 들어온 순간이었다. 자료형이 무엇인지, 함수가 무엇인지, 반복문과 조건분기가 무엇인지, 클래스가 무엇인지 이때 머리털나고 처음으로 접했다.

 

-. 팀을 이루어 분석을 수행한 경험 : 팀을 짜서 하나의 분석 보고서를 산출하고, 발표를 위해 노력하는 경험을 해보았다. 팀워크에서 어떤 부분을 조심해야 하고, 어떤 부분에서 준비를 해야 시너지가 최대화 되는지 경험할 수 있었다.

 

(3) 이 과정에서 아쉬움을 느낀것은 다음과 같다.

 

-. 깊이의 얕음 : 겨우 2개월 정도의 교육이었고, 머신러닝 / 딥러닝을 활용한 과정은 겨우 이틀 남짓 진행하고 넘어가서 이 부분에 대한 기대가 컸음에도 충족이 안되었다. 배운 지식은 대부분 데이터를 판다스/넘파이를 이용해 전처리하고, 시각화 하는 부분까지였다.

 

-.  프로그래밍에 대한 기초는 배웠으나, 초급 이상은 넘어서지 못했다.

 

2) 두번째 국비 과정 : 딥러닝과 머신러닝에 특화되어 6개월동안 집중적으로 가르치는 과정이었다.

역시 참여했던 회차는 다르지만, 이 과정에 참여했다.

 

(1) 과정 설명 : 해당 국비과정은 6개월 과정으로, 3개월은 머신러닝과 딥러닝 알고리즘에 대한 개념을 가르치고, 3개월은 공부했던 내용을 토대 실무 프로젝트로 발표까지 진행하는 과정이었다.

 

(2) 이 과정에서 얻은 것은 다음과 같다.

 

-. 머신러닝 / 딥러닝에 대한 지식 : 앞선 2개월의 과정이 코딩 능력을 배양하고 분석보고서를 쓰는데 집중했다면, 이번 과정은 오직 알고리즘을 어떻게 다루는지에 대해 특화하여 교육을 진행하였다. 요컨데

 

① 트리 모형의 하이퍼 파라미터는 어떻게 조정해야 하는지

② 회귀분류 문제에 적용 가능한 알고리즘들은 무엇이 있는지

③ 트레인셋과 테스트셋을 나누는 이유는 무엇인지 

 

등등에 대한 답을 얻을 수 있었다.

 

-. 고도화된 분석 프로젝트 수행 경험 : 팀을 이뤄 자체적으로 가설을 세우고, 데이터를 수급하고, EDA를 수행하고, 데이터를 전처리하고, 모델을 학습시키고, 성능을 평가하고, 보고서를 만들어 발표까지 하는 전과정을 수행할 수 있었다. 우리 조는 맥주 추천 챗봇을 만들었는데, 아래와 같은 과정을 거쳐 수행했다.

 

① 데이터 수집 : 술 리뷰 사이트에서 9개의 맥주에 대한 리뷰를 크롤링

② EDA 및 전처리 : 적절한 토크나이저는 무엇인지, 패딩은 어느 수준으로 넣어야 하는지 EDA과정에서 탐색하고, 임베딩 공간에서 9개 맥주에 대한 리뷰가 적절하게 클러스터링 되는지 확인

③ 모델 학습 : CNN-LSTM을 구성하여 학습

④ 추론 엔진 구성 : 사람의 질의에 대해서 9개 중 하나의 맥주로 분류하여 해당 맥주를 추천

 

(3) 이 과정에서 아쉬움을 느낀것은 다음과 같다.

 

-. 깊이의 얕음 : 앞선 2개월 과정보다는 좀 더 알고리즘이 특화된 과정이라 깊이는 더 깊었지만, 여전히 6개월동안 배운 지식으로는 현업에서 쓰기에는 불가능하다는것을 어렴풋이 느꼈다. 특히, 알고리즘에 대해 더 깊게 들어가면 들어갈수록 수학적 지식의 결여에 대한 부분이 너무 뼈아프게 느껴졌다. 코딩을 아예 끊고 1년동안 수학만 공부하기로 결심한 계기가 되었다.

 

"

 

국비과정 8개월과, 자습 1년을 합쳐 도합 2년의 시간을 데이터 분석 취업준비에 거의 쏟아부었다.

 

이렇게 긴 시간을 공부에 투자하는게 옳은건지, 이렇게 투자한다고 해서 (미천한 문과 출신에 불과한 내가) 분석 커리어를 '감히' 시작할 수 있는건지 불안과 자기 부정에 끊임없이 시달리는 시기였었던것 같다.

 

"

 

다음 글은 어떻게 취업준비생 생활을 했고, 데이터 분석가로 취업에 성공한 이후 4년동안 어떤 커리어를 밟아왔는지 전달을 드릴수 있으면 합니다.

 

긴 글 읽어주셔서 감사합니다. 🙇‍♂️