Resume

๐Ÿ‘จโ€๐Ÿ’ป 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]

[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 ์ •๋ณด์ฒ˜๋ฆฌํ•™ํšŒ

  • ๋ฉ”๋””์ปฌ Expert ์‹œ์Šคํ…œ์„ ์œ„ํ•œ Drools์™€ JavaFX ๊ธฐ๋ฐ˜์˜ ์‚ฌ์šฉ์ž ์ธํ„ฐํŽ˜์ด์Šค ์„ค๊ณ„ ๋ฐ ๊ตฌํ˜„

    https://github.com/WonYong-Jang/Medical-Expert-System



๐Ÿซ Education

  • 2012.03 ~ 2018.06 ๊ตญ๋ฏผ๋Œ€ํ•™๊ต ์†Œํ”„ํŠธ์›จ์–ด๊ณตํ•™๊ณผ ์กธ์—