데이터 엔지니어가 되기까지
이번에 무사히 수습을 합격하고 데이터 엔지니어링 팀에서 일하게 되면서 문득 무엇을 공부해야 하는가, 에 대한 의문이 들어 이런 메모를 적게 되었습니다.
스타트업에서 자바 백엔드(Spring)과 자연어 처리(NLP) 업무를 2년 가량 하면서, 사실 많은 고민이 있었습니다. ML과 BE라는 분야에서 제가 나아가야 할 방향에 대한 많은 고민이 있었습니다.
사업을 꿈꾸다가 부족함을 깨닫고 취업이라는 길을 택하게 되었을 때 이 두 방향의 취업 시장은 너무나 달랐습니다.
자연어 처리라는 분야가 제가 생각하기에 이미지를 제외하면 가장 딥러닝스러운? 영역이기 때문에, 이 분야로 나아가기 위해서는 연구라는 키워드가 항상 발목을 잡았습니다. 아무래도 저는 학부생이기 때문에 기업에서는 어정쩡한 학생으로 보여지기 때문이죠.
그래서 어느정도 포기를 하고 백엔드 개발자가 되고자 했습니다. 오직 Spring만을 다루던 백엔드 개발자는 아니지만 어느정도의 CS지식과 그 내용을 코드에 적어 낼 수 있다고 생각했으니까요.
그리고 데이터 엔지니어라는 길을 발견했습니다. 백엔드에 가깝지만, 모델링의 전반적인 지식과 데이터의 지식이 필요한 직군이죠. 그리고 지금 회사에 취직했습니다.
앞으로 나아 갈 방향
사실 공부의 순서로는 SQL -> Hadoop -> Spark 순서로 진행이 되어야 한다고 생각하지만, SQL과 Hadoop은 데이터의 적재에 초점이라면 Spark는 데이터 처리의 개념이기 때문에, 현재 IDC에 Hadoop 클러스터에 데이터가 차곡차곡 적재되어 있는 상황에서 Spark가 우선시 되어야 한다는 생각이 되어 Spark를 먼저 학습 할 예정입니다.
SQL은 기초적인 지식은 있기 때문에 다음 학습은 SQL 튜닝에 관련한 내용 일 것 같습니다. 아마 DML의 처리 과정을 따라가보면서 동작하는 방식또한 Tracking 할 것 같습니다.
그 다음으로 Hadoop의 HDFS를 공부 할 예정입니다. 다양한 데이터 적재 방식이 있지만, 적어도 아직까지는 SQL, NoSQL, HDFS로 나뉘는 것 같아서 이 부분도 중점적으로 공부 할 것 같네요.
이 전반적인 학습이 끝나면 약 1년 정도 지나지 않을까 합니다.
나의 OKR
Objective
데이터 엔지니어로써 필요한 기술 스택을 갖춘다.
Key Results
1. 파이썬 학습 ( 파이썬 코딩의 기술 포스팅 )
2. Spark - Kafka - Flink 에 대한 기본적인 동작 학습
2.1 관련 교육 수강 및 HDFS와 연동하여 간단한 프로젝트 진행
3. SQL 에 대한 학습
3.1 SQL 튜닝 관련 도서 학습
4. HDFS에 대한 학습
4.1 관련 도서 학습 및 Spark와 같은 데이터 처리 플랫폼 연동 프로젝트 진행
OKR이라고 말하기에 부끄러운 짧은 목표지만 내년 1Q까지 다음의 목표를 이루기 위해 노력 할 예정입니다. 그리고 그 내용을 이 블로그에 포스팅하도록 하겠습니다.