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년 데이터 엔지니어링 취업은 어려운 시장 상황에서도 체계적인 전략을 통해 접근 가능
 - 위 로드맵을 따라가면 목표하는 데이터 엔지니어링 직업에 더 가까워질 것