본문 바로가기
C.W.K.
Stream
Lesson 06 of 06 · published

데이터 엔지니어링 커리어 현실

~10 min · career, production, meta

Level 0구경꾼
0 XP0/47 lessons0/11 achievements
0/120 XP to next level120 XP to go0% complete

하루가 실제로 어떻게 생겼나

데이터 엔지니어링 마케팅 자료 속에선 다들 unicorn 을 타고 Spark cluster 와 Iceberg lakehouse 를 지나 실시간 추천 시스템으로 달려가. 실제 하루는 이래:

  • 대시보드 숫자가 이상해 보인다는 Slack 메시지 triage (알고 보니 upstream 이 지난 화요일에 enum 값을 하나 추가했어).
  • 누군가의 dbt PR 리뷰. Join key 에 빠진 not_null test 를 잡아냈어.
  • 새 ingestion 용 작은 Pandera schema 작성. 일주일치 historical 데이터에 돌렸더니 0.3% 의 row 가 fail — producer 를 대화에 불러들여.
  • 데이터 사이언티스트와 30분 미팅. 원하는 feature 를 schema 는 받쳐 줄 수 있는데 freshness SLA 가 안 나온다고 설명.
  • Transient API 실패를 더 잘 견디게 Airflow DAG 손보기.
  • 지난주 사고를 복기해 보니 기존 runbook 에 한 step 이 빠져 있었어 — runbook 업데이트.

이거 멋진 일이야. 그리고 대부분 화려하지 않아. 지루한 부분이 일이야. 화려한 부분은 곁가지고.

시니어와 미드를 가르는 것

본능은 같아. 겨누는 시점이 달라.

  • Mid: "이 transformation 느리네, 더 큰 warehouse 로 옮기자"
  • Senior: "이게 느린 건 model 이 Type 2 dimension 셋을 join 해서야 — 자연 key 에 validity 조건 거는 대신 surrogate key 를 쓰게 model 을 고치자"
  • Mid: "schema 가 바뀌어서 깨졌네, consumer 를 패치하자"
  • Senior: "schema 가 바뀌어서 깨졌네 — contract 랑 CI 체크를 써서 이게 다시는 일어날 수 없게 하자"
  • Mid: "이번 on-call 시프트 끔찍했다, 알림을 고치자"
  • Senior: "이번 on-call 시프트 끔찍했다 — 검증 게이트를 조여서 on-call 이 쳐다봐야 할 사고의 수 자체를 줄이자"

안 변하는 것

Schema. Lineage. Idempotency. Contract. Validation. Observability. 이 quest 의 어휘가 2026년 시니어 데이터 엔지니어의 작업 어휘야 — 아마 2030년에도. 도구는 돌고 돌아 (오늘의 hot orchestrator 가 내일의 legacy 마이그레이션이야). 원리는 살아남아.

오늘 오후에 당장

끝났어. 노트북 들고, inbox 에서 제일 지저분한 CSV 를 골라서, Pandera 검증에 Polars transform 에 dbt model 에 freshness 체크까지 달린 partitioned Parquet warehouse 로 바꿔 봐. 허락은 필요 없어. 오후 하나면 돼. 가.

Code

"Quest 끝" 이 프로젝트 모양으로 어떻게 생겼나·text
your-first-de-project/
├── pipelines/
│   ├── orders.py            # extract + transform + load
│   └── customers.py
├── schemas/
│   ├── orders.py            # Pandera DataFrameModel
│   └── customers.py
├── dbt/
│   ├── models/
│   │   ├── staging/
│   │   ├── intermediate/
│   │   └── marts/
│   ├── snapshots/
│   └── tests/
├── contracts/
│   └── orders_v1.yaml
├── orchestration/           # 한 Dagster repo 또는 Prefect 배포
├── monitoring/
│   └── checks.py            # freshness + volume + schema
└── README.md                # 어떻게 돌리고, 뭐 만들고, 누가 소유

External links

Exercise

"내 데이터 엔지니어링 원칙" 문서를 한 페이지로 써. 독자는 6개월 뒤, 새 프로젝트를 시작하면서 이 quest 의 lesson 들을 잊어버린 본인이야. 들어갈 것: schema 먼저, 어디서나 검증, idempotent write, layer 나눈 model, 속사정 말고 결과 모니터링, 코드로서의 contract. 인쇄해. 모니터에 붙여.

Progress

Progress is local-only — sign in to sync across devices.
이 페이지에서 버그를 발견하셨거나 피드백이 있으세요?문제 신고

댓글 0

🔔 답글 알림 (로그인 필요)
로그인댓글을 남기려면 로그인해 주세요.

아직 댓글이 없어요. 첫 댓글을 남겨보세요.