한 줄로
단일 문제가 아니라 여러 도메인을 순차적으로 넘겨받으며 오너십을 넓혀 온 장기 프로젝트입니다. 도달(reach) 예측 → 배치 업로드 검증 → 배치 인프라까지, 초기에 세운 설계 원칙을 이후 기능에도 일관되게 적용해 왔습니다.
도달 예측
- 매 요청마다 외부 매체 API를 부르던 구조가 응답 지연의 원인이라는 걸 파악하고, 여러 PR에 걸쳐 DB 우선 캐싱 조회로 전환 — 평균 응답 시간 50% 단축. 이후 API 재구현 때도 같은 원칙 유지
- 예측 이력 테이블 설계 → 인구통계 DB 도입 → 분류 로직 고도화 → API 재구현까지 1년 넘게 지속 개선
- 광고 규모 적절성 분류는 이름과 달리 ML이 아닌 규칙 기반 로직입니다
배치 업로드 · 검증
- CSV 업로드를 전체 성공/실패 이분법에서 행 단위 에러 수집 + 207 Multi-Status 응답으로 재설계 — 이후 관련 기능이 이 규격 위에서 확장
- 다중 인코딩 지원, 대용량 Excel 업로드의 OOM 문제를 실제로 겪은 뒤 배치 처리 방식을 다시 설계
- 외부 API 대량 호출은 25개 단위 배치 +
asyncio.gather로 나눠 실패 반경 제한
배치 인프라
오디언스 규모 수집, 외부 데이터 연동, 도달 예측 재구현을 위한 배치 인프라를 새로 구축하고 있습니다.
배운 점
1.5년간 여러 도메인을 순차적으로 맡으면서, 초기에 세운 원칙(캐싱 우선, 에러는 행 단위로 격리)을 이후 신규 기능에도 일관되게 적용하는 것이 장기 오너십의 핵심이라는 걸 체감했습니다.
한계
규칙 기반 로직과 백엔드·배치 시스템 중심의 프로젝트로, ML 성능 지표는 해당되지 않습니다.