80% 문제
모든 ML 프로젝트, 모든 대시보드, 모든 분석 리포트, 모든 자동화 이메일 — 다 어디 지저분한 데에서 온 데이터 위에 얹혀 있어. 업계 설문은 15년째 같은 얘기를 해. 실무자들은 약 80% 의 시간 을 데이터 wrangling 에 쓰고 20% 만 그 데이터로 하려던 일에 써. 비율은 조금씩 흔들리지만 순서는 절대 안 뒤집혀.
그 80% 가 데이터 엔지니어링이야. 화려하지 않아. 슬라이드에 못 넣는 일이야. 근데 더러운 데이터로 학습한 모델은 당연히 쓰레기 예측을 뱉고, 일관성 없는 schema 를 먹은 대시보드는 당연히 거짓말을 해. 숨은 가정이 있는 파이프라인은 당연히 새벽 3시에 조용히 죽어 — 그리고 만든 사람은 8개월 전에 회사 떠났어.
이 quest 에서 말하는 "데이터 엔지니어링"
이 단어가 좀 부풀려졌어. 어떤 사람들한텐 "페타바이트 처리하는 Spark cluster 만들기" 야. 그건 진짜 직업이긴 한데 niche 야. 대부분의 실무자 — 이 quest 읽는 사람 거의 전부 — 한테 데이터 엔지니어링은 더 실용적이고 발 닿는 일이야.
- 지저분한 파일 읽기 (타입이 섞인 CSV, merged cell 가득한 Excel, 4단계 nested JSON) 안에 진짜 뭐 있는지 파악.
- 청소 — 타입 고치기, 날짜 파싱, null 처리, 문자열 정규화, 중복 제거.
- 변환 — 테이블 join, aggregate, 새 컬럼 derive, wide-to-long reshape.
- 검증 — schema drift 가 downstream model 망가뜨리기 전에 잡아내기.
- 생산 — 다른 사람 (또는 미래의 아빠 — 아니, 미래의 너) 이 검산 안 해도 믿고 쓸 수 있는 결과물.
이게 일이야. 거의 다 Python 으로 하고, version control 안에 살고, 테스트 받아. 나중에 페타바이트로 scale up 하고 싶으면 같은 사고가 그대로 가 — Pandas 를 Spark 나 Dask 로 바꾸기만 하면 돼. 분야는 그대로야.
이 quest 끝나면 할 수 있는 것
- 웬만한 파일 포맷 (CSV, Excel, JSON, Parquet, Arrow IPC) 읽고, auto-detect 믿지 말고 explicit schema 만들기.
- Pandas 나 Polars 중 상황에 맞는 걸로 청소 + 변환.
- 한 번 돌리든 스무 번 돌리든 같은 결과 내는 idempotent 파이프라인 작성.
- Pandera 나 Great Expectations 로 downstream 보내기 전에 검증.
- Airflow / Dagster / Prefect 로 스케줄 + 모니터링, 그리고 왜 그걸 골랐는지 설명.
- Star schema, slowly changing dimension 으로 dimensional model 짜고 dbt 로 transformation 표현.
- 비용, lineage, PII — 일회성 스크립트를 시스템으로 만드는 것들에 대해 추론.
이게 계약이야. 다음 46 lesson 이 거기까지 데려다 줄게.