Software engineer working on data platform.
Seoul, South Korea
Software engineer, Data Platform - Oct 2022 ~ Present
Data platform 셀에서 Software engineer로 일하며, 데이터를 효율적으로 수집, 적재, 가공하는 데이터 기반 인프라와 서비스를 제공하고 있습니다.
- Databricks 아키텍처링 및 사용 패턴 개발을 진행했으며, 크게는 다음의 3가지 작업으로 나눌 수 있습니다.
- Airflow를 기반으로 한 workflow 시스템의 샌드박스 환경을 개발했습니다.
Vancouver, Canada
Software Development Engineer - Oct 2020 ~ Sep 2022
Subscriptions 팀에서 SDE로 일하며, Amazon의 모든 비즈니스(Prime, Kindle, Alexa 등)를 위한 회원 및 구독 정보를 관리하는 플랫폼을 개발하고 운영했습니다.
- Subscriptions팀이 운영하는 서비스인 SubscriptionService의 개발 및 유지보수의 주 기여자였습니다. SubscriptionService는 모든 종류의 구독 계약 및 lifecycle 이벤트를 시작하고 회원의 구독 정보를 제공하는 역할을 하는 백엔드 서비스로, 전 세계 고객들로부터 하루 평균 20,000 TPS 이상의 트래픽을 수용했습니다.
- PayStation이라는 새로운 내부 결제 플랫폼으로 SubscriptionService 및 팀이 운영하는 모든 컴포넌트를 이전했습니다. 개발 작업 뿐만 아니라 각 지역의 결제 수단에 대한 요구사항 및 각종 의존성이 있는 컴포넌트 간의 리스크 조사, End-To-End 테스트까지 주요 작업자로 참여했습니다.
- Signup unification 프로젝트의 주 작업자로 참여해 Subscriptions 팀이 운영하던 7개의 signup 흐름을 4개로 줄이는데에 기여했습니다. 이 과정에서 다양한 변수들을 처리하기 위해 작성된 기존의 로직을 플러그인으로 리팩토링하는 작업을 같이 진행했으며, 각 비즈니스 팀이 필요로 피쳐를 self-service하는 형태로 선택하거나 추가할 수 있도록 개선했습니다.
Seoul, South Korea
Data Engineer - May 2018 ~ Mar 2020
- Kubernetes를 기반으로 PUBG의 데이터 분석 인프라를 개발했습니다. 데이터 분석 인프라의 모든 구성 요소를 컨테이너화했으며, 확장 가능하고 재현 가능한 데이터 분석 환경을 제공하기 위해 'Spark on Kubernetes'를 기반으로 한 새로운 데이터 분석 플랫폼의 설계 및 구현에도 참여했습니다.
- 로그 ETL 파이프라인 및 분석 배치 시스템을 개발했습니다. 중간 로그 수집기와 Apache Spark를 연결한 새로운 파이프라인을 통해 중복이나 유실 없이 매시간 배치 작업을 실행할 수 있도록 만들었습니다.
- PUBG ETL 파이프라인의 성능 최적화. 정규 표현식 처리 최적화와 로그 포맷 개선을 통해 Unreal dedicated 서버 로그의 크기를 40%, 처리 시간을 20% 감소시켰습니다. 결과적으로 데이터 분포의 불균형을 완화하여 PUBG 게임 내 로그 처리 시간을 절반 가량 줄이는 데에 성공했습니다.
Sphynx: Building a Data Platform with Spark on Kubernetes
- WeAreDevelopers Congress Vienna - Vienna, Austria, Nov 2019
Containerized Data Engineering with Kubernetes and AWS
- AWS Highlander Seoul 2019 - Seoul, South Korea, Jun 2019
B.S., School of Computing - Feb 2011 ~ Feb 2018
- magna cum laude - GPA: 3.89/4.3
- 대통령과학장학금, 한국장학재단 - Feb 2011 ~ Jun 2015
- Honor Scholarship, KAIST - Sep 2013 ~ Dec 2013