본문 바로가기

일상/개인 공간

Data Engineer로 가는 길

학부 과정에서 정보통계학을 전공했기 때문에, 교수님과 선배들로부터 데이터 분석머신러닝 및 딥러닝 분야가 굉장히 핫하고 전망이 밝다는 소리를 많이 들었다.
 
그러다 보니 자연스레 해당 분야에 관심이 가게 되었고, 어느 순간 머신러닝과 딥러닝 공부를 하고 있는 나 자신을 발견할 수 있었다.
 
비록 컴퓨터공학을 전공하지는 않았지만, 나름 코딩도 잘 할 줄 알고 통계적 지식도 있었기 때문에 데이터 분석 또는 머신러닝 및 딥러닝 쪽으로 공부를 해서 취업하는 것이 나에게 적합한 길이라고 생각했다. (한편으로는 비전공자들보다 훨씬 더 취업에 유리할 것이라고 생각하기도 했었다)

그리고...마침내 데이터 사이언티스트라는 직무로 회사에 취업을 해서 일을 하기 시작했다!

 
초창기에는 학부 과정에서 배운 내용을 토대로 다양한 예측 모델을 만들고, 실제 서비스에 적용해 볼 수 있을 거라는 생각에 매우 들떠 있었다. 하지만 현업에서 업무를 수행하다 보니, 예측 모델을 만드는 업무보다는 필요한 데이터를 수집하고 가공 및 적제해주는 작업이 훨씬 더 중요하다는 것을 알게 되었다. 그리고 무엇보다 예측 모델을 만드는 업무보다 데이터를 수집하고 가공 및 적제하는 업무에 더 큰 흥미를 느끼고 있는 나 자신을 발견하게 되었다.

이때부터였던 것 같다. 데이터 엔지니어라는 직무를 꿈꾸게 된 게...

 
그 날 이후, 데이터 엔지니어라는 직무로 커리어 전환을 하기 위해서 어떠한 것들을 공부해야 하는지 찾아보기 시작했고 구글링을 통해 아래의 로드맵을 찾을 수 있었다.
 

Data Engineer 로드맵

 
우선 위 로드맵을 보고 느낀 점은...데이터 엔지니어가 되기 위해서 공부할 내용들이 엄청나게 많다는 것이다. 로드맵을 보면 알겠지만 CS 지식부터 시작해서 컴퓨터 구조운영체제, 네트워크, DB, 하둡, 도커, 쿠버네티스, 클라우드, CI/CD, 보안 등 배워야 할 것들이 정말 말도 안 되게 많다;;

 
그런데 조금 더 구글링을 해보니 위의 내용들을 모두 완벽하게 알고 업무를 수행하는 데이터 엔지니어는 극히 드물다는 것을 알게 되었다. 실제로는 각 회사마다 사용하는 기술들이 다 다르다 보니, 지원하고자 하는 회사에서 요구하는 스킬부터 공부하는 것이 좋다고 한다.
 
물론 위의 다양한 기술들 중에서 데이터 엔지니어라면 기본적으로 알고 있어야 하는 것들(ex. CS 지식, 프로그래밍 언어, DB, 클러스터링 컴퓨팅 등)이 있긴 하다. 이러한 기본 지식부터 먼저 쌓고 난 뒤, 필요한 기술들을 추가적으로 공부해서 익히는 방식으로 준비를 하면 될 것 같다.


말이 조금 길어졌는데... (신입 기준) 데이터 엔지니어가 되기 위해 기본적으로 필요한 사항들은 아래와 같다.
 
1. CS 지식은 매우 중요하다.
- 따라서 백엔드 개발 경험이 있으면 매우 유리하다.
 
2. 기본적으로 프로그래밍 언어 1개는 중급 이상 수준으로 다룰 수 있어야 한다. (ex. Python, Java)
 
3. DB에 대한 개념과 SQL 실력이 매우 중요하다.
- 데이터 엔지니어는 말 그대로 데이터를 관리해주는 역할을 수행하기 때문에..
 
4. Airflow와 같은 워크플로우 관리 툴을 다뤄본 경험이 있으면 좋다.
 
5. Hadoop과 Spark에 대해서 공부하면 금상첨화!
요즘은 클라우드를 활용하는 기업들이 많긴 하지만, 아직도 온프레미스 방식을 선호하는 기업들도 있기 때문에 Hadoop에 대한 공부도 해두는 것이 좋다. 또한 Spark는 대용량 데이터를 처리할 때 굉장히 유용하기 때문에 반드시 학습해야 하는 기술 중 하나이다.
 

조바심 갖지 말고 하나씩 차근차근 공부하다 보면,
어느새 데이터 엔지니어라는 꿈에 한 걸음 더 가까워진 내 모습을 발견하지 않을까?

 

끝으로 나를 포함해서 퇴근 후에도 열심히 자기개발을 하는 모든 직장인들을 응원하며 포스팅을 마치도록 하겠다!