๐จโ๐ป Sr. Data Engineer
7๋
์ฐจ Data Engineer ๋ก์ ํ๋ฃจ ํ๊ท 2000๋ง๊ฑด ์ด์์ ๋ฐ์ดํฐ๋ฅผ
Spark Streaming ๋ฐ AWS ์ธํ๋ผ๋ฅผ ํตํด
์ค์๊ฐ์ผ๋ก ์ฒ๋ฆฌํ๋ ํ์ดํ๋ผ์ธ ๊ตฌ์ถ ๊ฒฝํ์ ๊ฐ์ง๊ณ ์์ต๋๋ค.
๋ฐ์ดํฐ ๋ณผ๋ฅจ์ด ์ฆ๊ฐํ์ ๋ processing delay ๋ฐ ๋ถ์ฐ์ฒ๋ฆฌ ์์คํ
์์์ ๋์์ฑ ์ด์ ๋ฑ
์ฌ๋ฌ incident๋ฅผ ๊ฒฝํํ๋ฉด์ ์คํธ๋ฆฌ๋ฐ ์ฑ๋ฅ ์ต์ ํ๋ฅผ ์งํํ์๊ณ
๊ทธ ๊ฒฐ๊ณผ, ๊ธฐ์กด ๋๋น 10๋ฐฐ ์ด์์ ์ฑ๋ฅ ํฅ์ ๊ฒฝํ์ ๊ฐ์ง๊ณ ์์ต๋๋ค.
ํญ์ ์ผ์ ์งํํ ๋ ํ์
๊ณผ ์ปค๋ฎค๋์ผ์ด์
์ด ํ๋ก์ ํธ์ ์ฑํจ๋ฅผ
์ข์ฐํ๋ค๊ณ ๋ฏฟ๊ณ ์์ต๋๋ค.
์ ๋ ์ฃผ์ด์ง ์ผ์ ๋ฌธ์ ๊ฐ ๋ฐ์ํ์์ ๋ ๋ฌธ์ ๋ฅผ ๊ณต์ ํ๊ณ ,
ํ์
์ ํตํด ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ๊ธฐ ์ํด ๋์์์ด ๋
ธ๋ ฅํ๊ธฐ ๋๋ฌธ์
์๋ก์ด ์ผ์ ๋ํด ๋๋ ค์ ์์ด ์ฑ๊ณต์ ์ผ๋ก ๋ง๋ฌด๋ฆฌํ ์ ์์ต๋๋ค.
๐ช Skills
Backend
- Java, Kotlin, Scala, Python
- Spring Boot/MVC
- JPA, Querydsl
- Junit4/5, Mockito, Spock, Kotest, ScalaTest
- Gradle, Maven
DevOps
- DocumentDB(MongoDB), RDS(Aurora), Mysql
- Jenkins, CircleCI, Airflow
- Elastic Cache (Redis), S3, EC2, Cloud Watch
- Nginx, Tomcat
- Spark Streaming/Batch, Structured Streaming
- AWS Event Bridge, Kinesis, Kafka
- Hive, Trino(Presto), Iceberg
- ELK Stack
- Grafana, Graylog, Prometheus, nGrinder
- Git/Github
Frontend
- React, Redux
- Typescript, Javascript
Collaboration
- Jira / Wiki Confluence
- Slack
๐ผ Work Experience
์ฟ ํก CS Intelligence Backend Engineer
2021.02.01 ~ ํ์ฌ
[Construct data pipeline for large-scale batch processing]
- ๊ธฐ์กด hive ํ
์ด๋ธ์ iceberg ํ
์ด๋ธ๋ก ์ ํ
- hive ํ
์ด๋ธ์ ๋ฐ์ดํฐ ์
๋ฐ์ดํธ๊ฐ ์ด๋ ต๊ธฐ ๋๋ฌธ์ ์ค๊ฐ ํ
์ด๋ธ์ด
์๊ฒจ ๋ฆฌ๋ ํ์ ๋ฐ ํ์ดํ๋ผ์ธ ๋ณต์ก์ฑ ์ฆ๊ฐ
- iceberg ํ
์ด๋ธ๋ก ์ ํํ์ฌ ํธ๋์ญ์
์ ๊ณต ๋ฐ ํ
์ด๋ธ ๊ฐ์ํ
- ์ ์ฐํ ์คํค๋ง ๋ณ๊ฒฝ ์ ๊ณต
- spark๋ฅผ ํ์ฉํ ํจ์จ์ ์ธ join ์ ๋ต
[Leading streaming data pipeline revamp project]
- Processed rows per second(AS-IS: 800 -> TO-BE: 10,000)
- ๋ถํ์ํ Shuffle ์ ๊ฑฐ
- ์ฌ์ฒ๋ฆฌ ๊ตฌ์กฐ ๊ฐ์
- ๋ฐ์ดํฐ ์ ํฉ์ฑ ๋ฉํธ๋ฆญ ๊ตฌ์ฑ
- Migrate from spark streaming to structured streaming.
[Elastic Search์ Airflow ์ค์ผ์ค์ ์ด์ฉํ ์ค์๊ฐ ์ง๊ณ ๊ฒฐ๊ณผ๊ฐ ์ ๊ณต]
- ๋ฐ์ดํฐ ์จ์ดํ์ฐ์ค์์ ๋ฐ์ดํฐ ์ถ์ถ ๋ฐ S3 ์ ์ฅ
- S3 ๋ฐ์ดํฐ ๋ก๋ํ์ฌ Elastic Search ์ธ๋ฑ์ฑ
- ํ๋ฃจ ํ๊ท 1,500๋ฐฑ๋ง๊ฑด ๋ฐ์ดํฐ๋ฅผ api๋ก ์ค์๊ฐ ์ง๊ณ ๊ฒฐ๊ณผ๊ฐ ์๋น
- nGrinder๋ฅผ ์ด์ฉํ ์ฑ๋ฅ ํ
์คํธ
[์๋ด ๊ฐ๋ฅ์ฑ ๋์ ์ํ ์์ธก ๋ฐ call routing ์๋น์ค ๋ฐ์]
- Accuracy: (60% -> 92%)
- Precision: (42% -> 77%)
- Recall: (30% -> 68%)
[Bus Route Recommendation Service]
- Fulfillment Center ์ง์์์๊ฒ ๋ฒ์ค๊ฐ ์ ๊ณต๋๋ฉฐ, ์ง์์ ๊ฑฐ์ฃผ์ง ๊ธฐ์ค์ผ๋ก ์๋์ผ๋ก ๊ฐ๊น์ด ๋ฒ์ค ์ถ์ฒ
- ๊ธฐ์กด์๋ ์๋ด์ฌ๊ฐ ์ง์ ์ง์์์ ๊ฑฐ์ฃผ์ง์ ๊ฐ๊น์ด ๋ฒ์ค ์ ๋ฅ์ฅ์ ์ฐพ์์ ์ ๋ฌํ๊ธฐ ๋๋ฌธ์ ์๋ด์๊ฐ ์ง์ฐ ๋ฐ์
- ์ง์์์ ๊ฑฐ์ฃผ์ง๋ฅผ ์, ๊ฒฝ๋๋ก ๋ณํ ํ ๋ฒ์ค ์ ๋ฅ์ฅ์ ์, ๊ฒฝ๋์ ๋น๊ตํ์ฌ ๊ฑฐ๋ฆฌ ๋ฐ ์ฐ์ ์์์ ๋ฐ๋ผ ์ถ์ฒ
- Haversine formula ์๊ณ ๋ฆฌ์ฆ์ ์ด์ฉํ์ฌ ๊ฐ๊น์ด ๊ฑฐ๋ฆฌ ๊ณ์ฐ
- Redis๋ฅผ ํ์ฉํ์ฌ ๋ฒ์ค ์ ๋ฅ์ฅ ๋ฐ์ดํฐ๋ฅผ ์บ์ฑํ์ฌ ์ฑ๋ฅ ๊ฐ์
- ์๋ด์ฌ์ ์๋ด ์ค๋น์๊ฐ(After Call Work)์ 60% ๊ฐ์
- As-Is : 2.5 min
- To-Be : 1 min (์
ํ๋ฒ์ค๋
ธ์ ํ์ธ ์๊ฐ ๊ฐ์)
[Build customer service data pipeline with Kafka, Spark streaming and DocumentDB]
- ๊ธฐ์กด batch ๊ธฐ๋ฐ์ผ๋ก API๋ฅผ ๋ฐ๋ณต์ ์ผ๋ก ํธ์ถํ๋ ๋ฐฉ์์์ AWS event bridge๋ฅผ ์ฌ์ฉํ์ฌ 3rd party data pipeline ๊ตฌ์ถ
- Spark Streaming์ ๋ง์ดํฌ๋ก ๋ฐฐ์น(10์ด)๋ฅผ ํตํด Data ์์ง ๋ฐ Kafka publishing ํ์ฌ ํ ๋๋ฉ์ธ์์ ์ฌ์ฉํ ์ ์๋๋ก ์ ๊ณต
- API ๊ธฐ๋ฐ์ ๋ฐ์ดํฐ ์ฒ๋ฆฌ ๋ฐฉ์ ๋๋น ์ฝ 60๋ฐฐ์ ํผํฌ๋จผ์ค ๊ฐ์
- As-Is : 250/sec
- To-Be : 15,000/sec
- API error๋ก ์ธํด ๋ฐ์ํ๋ exception 100% ๊ฐ์
- As-Is: 1000/day
- To-Be: 0/day
- Airflow๋ฅผ ํตํด 3rd party domain์ ์ฅ์ ๋ฐ์ ๋ฐ Event bridge๋ก ๋ฐ์ดํฐ ์ ๋ฌ ๋๋ฝ, ์ด๋ฒคํธ ์ฒ๋ฆฌ ์คํจ์ ๋ํ retry ํ๋ก์ธ์ค ์ ์ฉ
- Data ์ ์ฅ์ ์ํ AWS storage cost ์ ๊ฐ
- As-Is : $12,264 /Month (AuroraDB r5.12xlarge)
- To-Be : $3,901 /Month (DocumentDB r5.4xlarge)
์ผ์ฑSDSํ์ฌ ITํ์ ์ฌ์
๋ถ Software Engineer
2019.01 ~ 2021.01 (์ด 2๋
1๊ฐ์)
- SW Certificate ๊ฐ์ฌ ํ๋
- Samsung SW certificate professional ์ทจ๋
- ์๋ฐ, ์คํ๋ง ๊ธฐ๋ฐ์ Outsourcing Management System ๊ฐ๋ฐ ๋ฐ ์ด์
- ์ผ์ฑ SDS ๋ํ์ it ๋ฉํ ๋ง ๋ฐํ
https://www.youtube.com/watch?v=WW8luDK_pCk
์ธํฌ๋ฑ
ํฌ ํ์ฌ Expert System ๊ฐ๋ฐํ ์ธํด
2018.01 ~ 2018.02 (์ด 2๊ฐ์)
- ํ์ํ ๋ถ์ผ์ Drools๋ฅผ ์ด์ฉํ ์ ๋ฌธ๊ฐ ์์คํ
์ ์ตํฉ ๋ฐ ์น์๋น์ค ์ ๊ณต
- Nginx๋ฅผ ์ด์ฉํ ๋ก๋๋ฐธ๋ฐ์ฑ ๊ตฌ์กฐ ๊ตฌ์ถ ๋ฐ ์ฑ๋ฅ ๋ฒค์น๋งํน
- A Scalability Study with Nginx for Drools-Based Oriental Medical Expert System ๋
ผ๋ฌธ ๋ฐํ
https://github.com/WonYong-Jang/Medical-Expert-System
โ๐ป Personal Experience
ํจ์คํธ ์บ ํผ์ค ๊ฐ์
๐ Problem Solving Experience
Spark streaming trouble shooting
๐ Prize
2018. 05 ์ถ๊ณํ์ ๋ฐํ๋ํ ์์
์ ์์ ๋ณด์ฐ๊ตฌ์ ๋ณด์ผํฐ ํ๊ตญ์ ๋ณด์ฒ๋ฆฌํํ (์ 2018-6-18 ํธ)
- Drools๋ฅผ ์ด์ฉํ Nginx์ Ajax๊ธฐ๋ฐ์ Medical Expert System ๊ฐ๋ฐ
๐ Paper
2018. 12. 07 ์ ๋ณด์ฒ๋ฆฌํํ๋
ผ๋ฌธ์ง
2018. 05. 12 ์ ๋ณด์ฒ๋ฆฌํํ
- Drools๋ฅผ ์ด์ฉํ Nginx์ Ajax๊ธฐ๋ฐ์ Medical Expert System ๊ฐ๋ฐ
2017. 11. 04 ์ ๋ณด์ฒ๋ฆฌํํ
- Drools ๊ธฐ๋ฐ์ ๋ฉ๋์ปฌ Expert ์์คํ
์ํคํ
์ฒ์ ํ๋ก์ธ์ค ์ฐ๊ตฌ
2017. 11. 04 ์ ๋ณด์ฒ๋ฆฌํํ
๐ซ Education
- 2012.03 ~ 2018.06 ๊ตญ๋ฏผ๋ํ๊ต ์ํํธ์จ์ด๊ณตํ๊ณผ ์กธ์