CPM

데이터 엔지니어

데이터를 수집·적재·변환하는 파이프라인을 만들고 운영해, 분석과 ML이 쓸 데이터를 안정적으로 흐르게 하는 직무입니다.

최종 업데이트 2026-08-23

01

데이터 엔지니어는 어떤 일을 하나요

데이터 엔지니어는 데이터가 지나다니는 길을 만듭니다. 여기저기 흩어진 데이터를 모아 한곳에 쌓고, 쓸 수 있는 형태로 바꾸고, 그 과정이 매일 자동으로 돌아가게 만듭니다. 데이터 분석가나 ML 엔지니어가 일을 시작할 수 있는 상태를 만들어주는 자리입니다.

신입 공고의 요구사항은 명확한 편입니다. 거의 모든 공고가 Python과 SQL을 필수로 요구하고, 데이터베이스와 클라우드 스토리지 구조에 대한 이해를 신입 요건으로 둡니다. 그 위에 Airflow 같은 워크플로우 오케스트레이션 도구와 ETL·데이터 모델링 경험이 붙는데, 신입에게는 우대에서 핵심 사이 어디쯤으로 걸립니다.

현실적인 이야기도 필요합니다. 이 직무는 신입 공개 채용 자체가 많지 않고, 백엔드나 데이터 분석을 거쳐 넘어오는 경우가 흔합니다. 그리고 면접에서는 화려한 스택을 나열하는 것보다 무엇을 왜 그렇게 만들었는지 설명할 수 있는지가 합격을 가릅니다. 도구를 늘리기 전에 하나의 파이프라인을 끝까지 돌려보는 편이 훨씬 유리합니다.

하루 업무는 대략 이렇습니다

  • 필요한 데이터가 어디에 어떤 형태로 있는지 확인하고 수집 방법을 정한다
  • 수집·적재·변환 과정을 코드로 만들고 스케줄에 걸어 자동으로 돌린다
  • 파이프라인이 실패하면 원인을 찾아 다시 돌리고 재발을 막는다
  • 데이터에 빠진 값이나 중복이 없는지 검증하고 모니터링을 붙인다
  • 분석가·ML 엔지니어의 요청을 받아 테이블을 설계하고 제공한다

02

필요한 핵심 역량과 기술 스택

필수는 없으면 서류에서 걸러지는 항목, 권장은 대부분의 합격자가 갖추는 항목, 우대는 있으면 확실히 차별화되는 항목입니다.

기본 무기

거의 모든 공고가 이 둘을 필수로 적습니다. 나머지는 이 위에 쌓입니다.

  • SQL필수

    조회를 넘어 집계와 윈도우 함수를 자유롭게 써야 합니다. 파이프라인의 변환 로직 상당수가 결국 SQL로 표현됩니다.

  • Python필수

    데이터를 옮기고 가공하는 코드를 작성합니다. pandas뿐 아니라 파일·API를 다루고 예외를 처리하는 일반적인 프로그래밍 능력이 필요합니다.

  • 리눅스 · 쉘권장

    서버에서 스크립트를 돌리고 로그를 확인하는 정도. 명령어 몇 개로 시작해도 됩니다.

  • Git필수

    파이프라인 코드도 버전 관리합니다. 협업 흐름을 아는지 확인하는 기본 항목입니다.

데이터 저장소 · 모델링

  • 관계형 데이터베이스 이해필수

    테이블 설계, 인덱스, 조인 비용. 데이터베이스 구조 이해는 신입 요건으로 직접 명시됩니다.

  • 클라우드 스토리지 구조필수

    S3 같은 오브젝트 스토리지에 데이터를 어떻게 나눠 쌓는지(파티셔닝), 파일 포맷을 왜 고르는지에 대한 이해입니다.

  • 데이터 웨어하우스 (BigQuery · Snowflake · Redshift)권장

    분석용 데이터가 모이는 곳입니다. 하나만 직접 써봐도 개념은 대부분 옮겨갑니다.

  • 데이터 모델링권장

    관계형 모델, Kimball 차원 모델, One Big Table 같은 방식의 차이와 언제 무엇을 쓰는지. 우대사항으로 자주 등장합니다.

파이프라인 · 오케스트레이션

  • ETL / ELT 개념필수

    수집·적재·변환을 어떤 순서로 왜 그렇게 하는지. 도구를 배우기 전에 이 개념이 먼저입니다.

  • Airflow권장

    워크플로우 오케스트레이션 도구로 가장 많이 언급됩니다. DAG를 직접 작성해 스케줄로 돌려본 경험이 있으면 신입 기준으로 충분합니다.

  • 분산 처리 (Spark)권장

    한 대에서 처리하기 어려운 데이터를 다룹니다. 실무의 벽이자 신입 지원자 사이에서 가장 확실한 차별화 지점입니다.

  • 스트리밍 (Kafka)우대

    실시간 데이터를 다루는 팀에서 요구합니다. 배치 파이프라인을 먼저 익힌 뒤에 보면 됩니다.

클라우드 · 운영

  • AWS 또는 GCP권장

    퍼블릭 클라우드에서 대용량 데이터를 처리하고 운영하는 환경이 기본입니다. 하나를 골라 스토리지·컴퓨팅·권한 정도는 다뤄보세요.

  • 데이터 품질 검증우대

    중복 제거, NULL 점검, Great Expectations 같은 검증 도구. 우대사항으로 자주 등장하고 실무 신뢰도와 직결됩니다.

  • Docker우대

    실행 환경을 고정해 어디서나 같게 돌아가게 만듭니다. 파이프라인 배포에 자주 쓰입니다.

  • 모니터링 · 알림우대

    파이프라인이 실패했을 때 바로 알 수 있게 만드는 것. 운영을 아는 사람이라는 인상을 줍니다.

03

우대 자격증과 경험

자격증은 실력을 대신하지 못하지만 서류 통과와 학습 커리큘럼에는 도움이 됩니다. 우선순위를 보고 고르세요.

SQLD (SQL 개발자)

권장

이 직무에서 가장 실용적인 자격증입니다. 준비 과정이 곧 SQL 정리라 시간 대비 효율이 좋고, 취득 기간도 짧습니다.

공식 사이트 →

빅데이터분석기사

우대

국가기술자격이라 공공기관·공기업 데이터 직군에서 가점이 되는 경우가 있습니다. 사기업에서는 SQLD보다 활용도가 낮습니다.

공식 사이트 →

AWS Solutions Architect – Associate / Google Professional Data Engineer

우대

클라우드 환경 이해를 보여줍니다. 다만 자격증만 있고 직접 파이프라인을 돌려본 적이 없으면 설득력이 없으니 프로젝트를 먼저 만드세요.

공식 사이트 →

정보처리기사

우대

공기업·SI를 함께 본다면 필요합니다. 사기업 데이터 엔지니어 채용에서는 영향이 크지 않습니다.

공식 사이트 →

평가에 도움이 되는 경험

직접 만들어 계속 돌아가는 파이프라인

한 번 실행하고 끝나는 스크립트가 아니라, 스케줄에 걸려 매일 도는 것. 이 차이가 이 직무의 핵심입니다.

대용량 데이터를 처리해본 경험

규모가 커지면서 처리 방식을 바꿔야 했던 경험은 실무와 가장 가까운 이야기입니다.

클라우드 데이터 플랫폼 운영 경험

우대사항으로 자주 등장합니다. 개인 프로젝트를 클라우드 위에서 돌려보는 것으로도 시작할 수 있습니다.

개발 경험

데이터 엔지니어링은 결국 소프트웨어 개발입니다. 백엔드 프로젝트 경험은 그대로 강점이 됩니다.

분석 경험

데이터를 쓰는 쪽 입장을 알면 어떤 형태로 만들어줘야 하는지 감이 잡힙니다. 분석 프로젝트 경험도 연결해 쓸 수 있습니다.

04

신입이 준비하는 포트폴리오 형태

개수를 늘리는 것보다 하나를 끝까지 완성하는 편이 유리합니다. 체크리스트를 기준으로 완성도를 점검하세요.

실제로 돌아가는 데이터 파이프라인 (핵심 1개)

중급

관심 있는 주제를 하나 정해 수집부터 적재, 변환, 시각화까지 이어지는 파이프라인을 만듭니다. 중요한 것은 한 번 돌려본 스크립트가 아니라 스케줄에 걸려 자동으로 도는 구조라는 점입니다. 화려한 스택보다 무엇을 왜 그렇게 했는지 설명할 수 있는지가 평가를 가릅니다.

  • 데이터 출처와 수집 방법 (공개 API·크롤링·공공데이터)
  • Airflow DAG로 스케줄링 (실패 시 재시도 포함)
  • 원본 → 정제 → 집계 계층으로 나눈 저장 구조
  • 변환 로직과 그렇게 설계한 이유
  • 결과를 보여주는 대시보드 (Tableau·Power BI·Looker Studio)
  • GitHub 저장소 + 전체 구조 다이어그램

데이터 품질 검증 붙이기

중급

위 파이프라인에서 파생시키는 것이 가장 효율적입니다. 중복이나 빠진 값이 들어왔을 때 그냥 통과시키지 않고 걸러내는 장치를 넣습니다. 우대사항에 자주 등장하는 항목이라 신입 포트폴리오에서 눈에 띕니다.

  • 검증 규칙 목록 (NULL·중복·범위·타입)
  • Great Expectations 등 검증 도구 적용
  • 검증 실패 시 파이프라인 동작 정의
  • 품질 리포트 또는 알림

분산 처리 적용 (심화)

심화

데이터 양을 의도적으로 키운 뒤 한 대로 감당이 안 되는 지점을 만들고, Spark 같은 분산 처리로 바꿔봅니다. 실무의 벽이 어디인지 겪어봤다는 이야기가 되고, 전후 처리 시간을 숫자로 비교할 수 있습니다.

  • 단일 처리에서 병목이 생긴 지점과 측정치
  • 분산 처리로 전환한 방법
  • 처리 시간 전후 비교
  • 비용 관점의 고민

05

추천 학습 순서

기간은 하루 3~4시간 기준의 대략적인 기준입니다. 이미 아는 단계는 건너뛰고, 순서만 지켜도 헤매는 시간이 크게 줄어듭니다.

  1. SQL 숙련

    1~2개월

    목표 — 여러 테이블을 조인해 원하는 집계를 뽑고, 윈도우 함수로 순위·누적·이전 값 비교를 할 수 있다.

    • SELECT·JOIN·GROUP BY·HAVING
    • 서브쿼리와 CTE
    • 윈도우 함수 (ROW_NUMBER·RANK·LAG·SUM OVER)
    • 실행 계획 읽기 기초

    참고 자료

  2. Python으로 데이터 다루기

    1~2개월

    목표 — 파일과 API에서 데이터를 가져와 정제하고 저장하는 코드를 스스로 작성할 수 있다.

    • Python 문법, 함수, 클래스, 예외 처리
    • pandas로 데이터 정제
    • requests로 API 호출, CSV·JSON·Parquet 다루기
    • 가상환경과 패키지 관리

    참고 자료

  3. 데이터베이스와 모델링

    1개월

    목표 — 요구사항을 듣고 테이블 구조를 설계할 수 있고, 분석용 모델이 왜 다르게 생겼는지 설명할 수 있다.

    • 정규화와 ERD
    • 인덱스와 조회 성능
    • 차원 모델(팩트·디멘션)의 개념
    • One Big Table 방식과의 장단점 비교

    참고 자료

    • []데이터 모델링 입문 도서 한 권
    • [실습]PostgreSQL 설치해 직접 테이블 설계해보기
  4. ETL 개념과 Airflow

    1개월

    목표 — 수집·적재·변환 과정을 나눠 설계하고, 매일 자동으로 도는 워크플로우를 만들 수 있다.

    • ETL과 ELT의 차이
    • 멱등성과 재실행 (같은 작업을 다시 돌려도 안전하게)
    • Airflow DAG·Task·스케줄
    • 실패 시 재시도와 알림 설정

    참고 자료

  5. 클라우드 스토리지와 데이터 웨어하우스

    1개월

    목표 — 클라우드에 데이터를 나눠 쌓고, 웨어하우스에서 분석용 쿼리를 돌릴 수 있다.

    • 오브젝트 스토리지(S3·GCS)와 파티셔닝
    • Parquet 같은 컬럼 포맷을 쓰는 이유
    • BigQuery 또는 Snowflake로 쿼리해보기
    • 권한 관리와 비용 구조
  6. 분산 처리 (Spark)

    1~2개월

    목표 — 한 대로 감당이 안 되는 데이터를 나눠 처리하는 방식을 이해하고 직접 돌려볼 수 있다.

    • 분산 처리가 필요한 순간
    • PySpark DataFrame 다루기
    • 셔플이 왜 느린가
    • 배치 작업 작성과 튜닝 기초

    참고 자료

  7. 파이프라인 프로젝트 + 심화

    2~3개월

    목표 — 면접에서 설계 의도를 처음부터 끝까지 설명할 수 있는 파이프라인 하나를 완성한다.

    • 주제 선정과 데이터 소스 확보
    • 수집 → 적재 → 변환 → 시각화 연결
    • 데이터 품질 검증 규칙 추가
    • 대용량 상황을 만들어 최적화 시도
    • 설계 이유를 문서와 다이어그램으로 정리

06

신입이 자주 하는 실수

준비 방향을 잘못 잡으면 들인 시간에 비해 결과가 안 나옵니다. 아래 항목에 해당하지 않는지 점검해 보세요.

  • 도구부터 배우는 것. Airflow와 Spark를 먼저 손대면 SQL과 Python이 약해 정작 아무것도 만들지 못합니다. 순서를 지키세요.
  • 한 번 실행하고 끝나는 스크립트를 파이프라인이라고 부르는 것. 스케줄에 걸려 반복해서 돌고, 실패해도 안전하게 다시 돌아가야 파이프라인입니다.
  • 스택을 나열하는 것. 면접에서는 화려한 기술보다 무엇을 왜 그렇게 했는지 설명할 수 있는지가 합격을 가릅니다.
  • 데이터 분석가와 같은 준비를 하는 것. 분석가는 답을 찾는 쪽이고, 엔지니어는 그 데이터가 흐르게 만드는 쪽이라 개발 비중이 훨씬 큽니다.
  • 신입 공고가 적다는 점을 늦게 아는 것. 백엔드나 데이터 분석 공고를 함께 지원해 두 갈래로 준비하는 편이 현실적입니다.
  • 클라우드 실습 비용을 방치하는 것. 실습 전에 예산 알림을 걸고, 끝나면 자원을 지우세요.

07

자주 묻는 질문

Q.데이터 엔지니어와 데이터 분석가는 어떻게 다른가요?

분석가는 이미 쌓인 데이터에서 답을 찾아 의사결정을 돕고, 엔지니어는 그 데이터가 제때 제대로 쌓이게 만드는 쪽입니다. 분석가는 SQL·지표·커뮤니케이션 비중이 크고, 엔지니어는 코드·시스템 설계·운영 비중이 큽니다. 실제로 데이터 엔지니어 업무의 상당 부분은 소프트웨어 개발에 가깝습니다.

Q.신입으로 데이터 엔지니어에 바로 갈 수 있나요?

가능하지만 공개 채용 자체가 많지 않습니다. 백엔드나 데이터 분석으로 입사해 데이터 업무를 맡으며 옮겨가는 경로가 흔합니다. 신입으로 바로 노린다면 실제로 돌아가는 파이프라인 포트폴리오가 사실상 필수이고, 백엔드 공고를 함께 지원해 선택지를 넓히는 전략을 권합니다.

Q.Airflow는 꼭 알아야 하나요?

워크플로우 오케스트레이션 도구 중 공고에서 가장 자주 언급됩니다. 신입에게 깊은 운영 경험을 기대하지는 않지만, DAG를 직접 작성해 스케줄로 돌리고 실패 시 재시도를 설정해본 정도는 해두는 것이 좋습니다. 그 경험이 있으면 다른 오케스트레이션 도구로 옮기는 것도 어렵지 않습니다.

Q.Spark까지 해야 하나요?

SQL과 Python, ETL, Airflow가 먼저입니다. 다만 Spark·Snowflake·BigQuery 중 하나 이상을 다뤄본 경험은 신입 지원자 사이에서 확실한 차별화 지점이 됩니다. 기본기를 먼저 채우고, 개인 프로젝트에서 데이터 양을 키워 분산 처리가 필요한 상황을 직접 만들어보는 순서를 권합니다.

Q.포트폴리오는 어떤 데이터로 만드는 게 좋나요?

공공데이터포털이나 공개 API처럼 주기적으로 갱신되는 데이터가 좋습니다. 매일 새 데이터가 들어와야 스케줄링과 중복 처리, 재실행 같은 실제 문제를 겪을 수 있기 때문입니다. 한 번 받아서 끝나는 정적 파일로는 파이프라인다운 고민이 나오지 않습니다.

이 직무로 내 로드맵 만들기

졸업까지 남은 기간과 지금 수준을 고르면, 위 학습 순서를 시기별 계획으로 나눠 드립니다. 결과는 링크로 그대로 공유할 수 있습니다.

데이터 엔지니어 로드맵 만들기 →

함께 보면 좋은 직무