Ilhwan Hwang

Data Engineer

phone+82 10-8967-0996emailih.hwang.325@gmail.comroomSeoul, Koreawebhttps://ilhwan.com

프론트에서 인프라까지.
욕심 많은 데이터 엔지니어.

Skills

Python (Spark, Keras, OpenCV), SQL,
Typescript (React, Express), C++, Java (Scala, Kotlin),
Rust, Serverless, Terraform


Education

Pohang University of Science and Technology (POSTECH) (Bachelor) Mar 2014 ~


Work Experience

Bagelcode, Data Engineer (Aug 2018 ~ )

layersPythonSparkScalaTableauKerasXGBoostServerlessTerraformAWSKubernetesGitLab CITypescriptReact
removeWarden: 코드 기반 스키마 관리 시스템
remove코드 기반의 데이터 인프라 유지보수
remove머신러닝 기반 유저 이탈 예측 모델 개발 및 배포
remove대용량 데이터 ETL 작업, 시각화 등 데이터 엔지니어링 업무 수행
remove데이터 검증 시스템 도입

VoyagerX (Feb 2018 ~ Aug 2018)

layersPythonBlenderKerasTensorflow
remove딥러닝 모델 모바일 최적화 담당
remove모바일 스캐너 vFlat 인공 데이터셋 생성

PUZZLE DATA (Sep 2017 ~ Jan 2018)

layersJavaScalaSparkPythonDjangoBootstrap
removePUZZLE DATA 홈페이지 개발
remove프로세스마이닝 전문 툴 ProDiscovery 2.0 개발 참여

Geekble, Director (Jan 2017 ~ Aug 2017)

layersEmbeddedAfter EffectLinuxWordpressBootstrap
remove웹 서버, 메일 서버 및 소프트웨어 관리
remove영상 기획, 촬영, 편집 및 임베디드 시스템 작품 제작 참여

Nano Studio, Chief Developer (Jul 2015 ~ Feb 2017)

layersGM:SSteam
remove팀 내 유일 개발자로 시스템 설계부터 콘텐츠 개발까지 전체 개발 주도

Bagelcode, Data Engineer (Aug 2018 ~ )

Warden: 코드 기반 스키마 관리 시스템 PythonGitLab CITypescriptReact BI 이벤트 스키마를 코드로 관리할 수 있는 시스템을 고안하고 처음부터 끝까지 개발을 주도하였습니다. 기존에 json으로 관리되던 텍스트 기반의 스키마를 Python 코드 기반으로 바꾸어 업무 효율을 향상시켰습니다.

코드 기반의 데이터 인프라 유지보수 PythonServerlessTerraformAWSKubernetes Terraform과 Serverless로 이루어진 코드 기반 인프라를 유지보수 하는 업무를 수행했습니다.

머신러닝 기반 유저 이탈 예측 모델 개발 및 배포 PythonKerasXGBoost Keras, Tensorflow, XGBoost를 이용하여 유저가 언제 게임에서 이탈할지 예측하는 모델을 만들고 이를 Databricks와 Airflow를 이용해 배포하였습니다. 매일 feature를 생성하고 이미 학습된 모델을 이용해 inference 하여 admin tool에 예측 값을 저장해서 기획팀이 사용할 수 있도록 자동화했습니다. 가설 설정, 데이터 전처리, 모델링 등 전 과정을 주도하고 Confluence에 모든 과정을 실험 노트로 남겼습니다.

대용량 데이터 ETL 작업, 시각화 등 데이터 엔지니어링 업무 수행 PythonScalaSparkTableau 200 billon rows 가량 되는 데이터를 Databricks Spark와 Airflow를 이용해 ETL을 하고 hourly로 Tableau Desktop 에서 볼 수 있도록 후가공 하는 업무를 수행했습니다.

데이터 검증 시스템 도입 PythonSpark PySpark 기반으로 데이터를 자동으로 QA할 수 있는 프레임워크 개발 및 도입했습니다. 데이터의 uniqueness, count, nullity 등을 자동으로 검사하고 Slack으로 integrity에 대해 알림을 받을 수 있도록 설계했습니다. Databricks를 이용해 ETL 하는 과정에서 dependency를 명확하게 하고 유지보수를 쉽게할 목적으로 Markdown 포맷의 표준 코멘트를 도입했습니다.


VoyagerX (Feb 2018 ~ Aug 2018)

딥러닝 모델 모바일 최적화 담당 PythonKerasTensorflow Dr. Blur 개발 당시 Keras, Tensorflow를 기반으로 Pruning, distillation 등을 이용하여 모델을 고속화 및 압축하였습니다. 모델 패러미터 수는 30% 수준으로 줄이고 품질 degradation은 5% 이내로 유지하는 결과를 얻었습니다.

모바일 스캐너 vFlat 인공 데이터셋 생성 PythonBlender Blender 외부 python 스크립팅 기능을 이용해 자동으로 다각도에서 다양한 환경의 책 이미지를 자동으로 생성했습니다. 기존에 실사 촬영 후 손으로 라벨링하여 모으던 데이터를 대체했습니다.


PUZZLE DATA (Sep 2017 ~ Jan 2018)

PUZZLE DATA 홈페이지 개발 PythonDjangoBootstrap Django를 이용하여 서버 백엔드 부터 웹 페이지 프론트엔드까지 직접 개발했습니다.

프로세스마이닝 전문 툴 ProDiscovery 2.0 개발 참여 JavaScalaSpark On-premise Java Spark 환경에서 프로세스마이닝 알고리즘 논문을 구현했습니다.


Geekble, Director (Jan 2017 ~ Aug 2017)

웹 서버, 메일 서버 및 소프트웨어 관리 LinuxWordpressBootstrap

영상 기획, 촬영, 편집 및 임베디드 시스템 작품 제작 참여 EmbeddedAfter Effect Dragonboard, Raspberry Pi와 같은 임베디드 시스템과 시리얼 통신, 서보 모터 드라이브 등의 부속 시스템을 결합하여 작품을 제작했습니다.


Nano Studio, Chief Developer (Jul 2015 ~ Feb 2017)

팀 내 유일 개발자로 시스템 설계부터 콘텐츠 개발까지 전체 개발 주도 GM:SSteam Gamemaker: Studio를 이용해 게임 전체를 개발했습니다. Nano Script 라는 자체 언어를 설계하여 비개발자도 개발에 참여할 수 있도록 했습니다. Steam 전용으로 게임을 빌드하고 출시하는 과정을 담당했습니다.



Personal Project

스파이 게임

layersTypescriptNodejsExpressReactBootstrapGCP
remove스파이 게임을 즐길 수 있도록 만든 모바일 중심 웹 사이트.
removeNodejs와 Express를 이용해 REST API 서버를 만들고 React 웹앱에서 호출하도록 설계.

개발자 우정테스트

layersTypescriptNodejsExpressReactBootstrapGCP
remove우정 테스트 제작기에 영감을 얻어 만든 모바일 중심 웹 사이트.
removeNodejs와 Express를 이용해 REST API 서버를 만들고 React 웹앱에서 호출하도록 설계.

지곡 홍수 시뮬레이터

layersC++OpenGLGLSL
removeSPH 방법의 유체시뮬레이터를 쉐이더로 개발한 프로젝트.
remove매우 많은 상호작용 연산이 필요한 방법을 순수 쉐이더로 구현하여 1M particle을 60fps로 시뮬레이션 함.

포카워치

layersC++OpenGL
remove2016년 카이스트-포스텍 학생대제전 AI 종목 공식게임으로 개발한 게임.
remove소켓 통신을 이용해 한 서버에 두 클라이언트가 붙어서 게임 환경과 결정을 stateless하게 주고 받는 형식으로 제작함.
Ilhwan Hwang