2024 데이터 엔지니어링 진입 로드맵
(blog.dataengineer.io)- 데이터 엔지니어링 취업은 복잡한 기술 생태계(예: Spark, Flink, Iceberg, BigQuery 등)로 인해 어렵게 느껴질 수 있음
- 단순히 Python과 SQL을 배우는 것만으로는 충분하지 않으며, 체계적인 전략과 실습이 필요
데이터 엔지니어링 취업에 필요한 요소
-
기술 역량:
- SQL 및 Python 숙련
- 분산 컴퓨팅 기술(Snowflake, Spark, BigQuery 중 하나 이상)
- 오케스트레이션 도구(Airflow, Mage, Databricks Workflows 등) 이해
- 데이터 모델링 및 데이터 품질 관리 능력
-
포트폴리오 프로젝트:
- 실제 기술을 보여줄 수 있는 프로젝트 제작
-
개인 브랜딩:
- LinkedIn 프로필 관리 및 인터뷰 준비를 통해 전문성 강조
SQL 학습 및 숙련
-
SQL은 데이터 엔지니어링의 필수 언어:
- 추천 학습 리소스:
- 핵심 개념:
- JOIN 유형: INNER, LEFT, FULL OUTER (RIGHT JOIN은 거의 사용하지 않음)
- GROUP BY를 통한 집계 및 DISTINCT 활용
- 윈도우 함수와 RANK, DENSE_RANK, ROW_NUMBER의 차이 이해
- SQL 분산 환경에서의 키워드와 셔플(예: JOIN, GROUP BY, ORDER BY) 이해
- CTE(Common Table Expression), Temp Table, View의 활용
Python 및 Scala 학습
-
언어 선택:
- 초보자는 Python, 경험자는 Scala 추천.
-
중요한 개념:
- 데이터 구조: 리스트, 딕셔너리, 스택 등
- 알고리즘: 반복문, 이진 검색, Big O 표기법 이해
- Python의 주요 활용:
- Airflow DAG 작성
- REST API와 상호작용
- Spark UDF 작성 및 성능 최적화
분산 컴퓨팅 개념
-
분산 컴퓨팅의 핵심:
- 데이터 처리량을 분산시키는 Hadoop/Spark 기반 아키텍처 이해
- 셔플과 스큐(skew) 문제 관리:
- Broadcast JOIN, Bucket JOIN, 파티셔닝 활용
- Spark 3+에서의 적응형 실행 사용
-
출력 데이터 관리:
- Parquet 파일의 런 렝스 압축(run length encoding)을 활용해 파일 크기 최적화
데이터 품질 및 사용성 확보
-
데이터 품질:
- 중복 제거, NULL 값 점검, 적절한 형식 및 데이터 양 확인
- 데이터 파이프라인에 Great Expectations 같은 도구로 품질 검증 추가
-
사용성:
- 적절한 문서화와 사전 사양 협의
- 데이터 모델링 방식:
- 관계형, Dimensional(Kimball), One Big Table 각각의 장단점 이해
-
개인정보 준수:
- 개인 식별 정보(PII)의 익명화 및 데이터 보관 기간 최소화
포트폴리오 프로젝트 제작
-
효과적인 프로젝트 특징:
- 개인적으로 관심 있는 주제 선택
- 프론트엔드와 연계된 프로젝트 제작 (예: Tableau, Power BI)
- 최신 기술(Spark, Snowflake, Delta Lake 등) 적용
- 프로덕션 환경에서 실행되는 파이프라인 구현
개인 브랜딩 및 인터뷰 준비
-
LinkedIn 활용:
- 채용 관리자, 동료와 네트워킹 구축
- 학습 여정을 공유하며 인지도를 높임
-
인터뷰 준비:
- 인터뷰어 및 회사 배경 조사
- 질문에 차분하고 긍정적으로 대응
- 기술 및 직무에 대한 호기심과 열정 전달
결론
- 2024년 데이터 엔지니어링 취업은 어려운 시장 상황에서도 체계적인 전략을 통해 접근 가능
- 위 로드맵을 따라가면 목표하는 데이터 엔지니어링 직업에 더 가까워질 것