About Me

๐Ÿ‘จโ€๐Ÿ’ป Sr. Backend Engineer

6๋…„ ์ฐจ ๋ฐฑ์—”๋“œ ๊ฐœ๋ฐœ์ž๋กœ์„œ ํ•˜๋ฃจ ํ‰๊ท  2000๋งŒ๊ฑด ์ด์ƒ์˜ ๋ฐ์ดํ„ฐ๋ฅผ Spark Streaming ๋ฐ AWS ์ธํ”„๋ผ๋ฅผ ํ†ตํ•ด ์‹ค์‹œ๊ฐ„์œผ๋กœ ์ฒ˜๋ฆฌํ•˜๋Š” ํŒŒ์ดํ”„๋ผ์ธ ๊ตฌ์ถ• ๊ฒฝํ—˜์„ ๊ฐ€์ง€๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค.

๋ฐ์ดํ„ฐ ๋ณผ๋ฅจ์ด ์ฆ๊ฐ€ํ–ˆ์„ ๋•Œ processing delay ๋ฐ ๋ถ„์‚ฐ์ฒ˜๋ฆฌ ์‹œ์Šคํ…œ์—์„œ์˜ ๋™์‹œ์„ฑ ์ด์Šˆ ๋“ฑ ๋งŽ์€ incident๋ฅผ ๊ฒฝํ—˜ํ•˜๋ฉด์„œ ์ŠคํŠธ๋ฆฌ๋ฐ ์„ฑ๋Šฅ ์ตœ์ ํ™”๋ฅผ ์ง„ํ–‰ํ•˜์˜€๊ณ 
๊ทธ ๊ฒฐ๊ณผ, ๊ธฐ์กด ๋Œ€๋น„ 10๋ฐฐ ์ด์ƒ์˜ ์„ฑ๋Šฅ ํ–ฅ์ƒ ๊ฒฝํ—˜์„ ๊ฐ€์ง€๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค.

ํ•ญ์ƒ ์ผ์„ ์ง„ํ–‰ํ•  ๋•Œ ํ˜‘์—…๊ณผ ์ปค๋ฎค๋‹ˆ์ผ€์ด์…˜์ด ํ”„๋กœ์ ํŠธ์˜ ์„ฑํŒจ๋ฅผ ์ขŒ์šฐํ•œ๋‹ค๊ณ  ๋ฏฟ๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค.
์ €๋Š” ์ฃผ์–ด์ง„ ์ผ์— ๋ฌธ์ œ๊ฐ€ ๋ฐœ์ƒํ•˜์˜€์„ ๋•Œ ๋ฌธ์ œ๋ฅผ ๊ณต์œ ํ•˜๊ณ , ํ˜‘์—…์„ ํ†ตํ•ด ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•˜๊ธฐ ์œ„ํ•ด ๋Š์ž„์—†์ด ๋…ธ๋ ฅํ•˜๊ธฐ ๋•Œ๋ฌธ์— ์ƒˆ๋กœ์šด ์ผ์— ๋Œ€ํ•ด ๋‘๋ ค์›€ ์—†์ด ์„ฑ๊ณต์ ์œผ๋กœ ๋งˆ๋ฌด๋ฆฌํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.



๐Ÿ’ช Skills

Backend
  • Java, Kotlin, Scala
  • Spring Boot/MVC
  • JPA, Hibernate
  • Junit4/5, Mockito, Spock, Kotest, ScalaTest
  • Gradle, Maven
DevOps
  • DocumentDB(MongoDB), RDS(Aurora), Mysql, Oracle
  • Jenkins, CircleCI, Airflow
  • Elastic Cache (Redis), S3, EC2, Cloud Watch
  • Nginx, Tomcat
  • Spark Streaming/Batch, Structured Streaming, AWS Event Bridge
  • Kafka, Kinesis, Hive
  • ELK Stack
  • Grafana, Graylog, Prometheus, nGrinder
  • Git/Github, Gerrit
Frontend
  • React, Redux
  • Typescript, Javascript
Collaboration
  • Jira / Wiki Confluence
  • Slack



๐Ÿ’ผ Work Experience

์ฟ ํŒก CS Intelligence Backend Engineer

2021.02.01 ~ ํ˜„์žฌ

  • Leading data pipeline revamp project
  • 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 ์ทจ๋“
  • DRM(Digital Right Management) ์„œ๋ฒ„๋ฅผ ์ด์šฉํ•œ ์‚ฌ์šฉ์ž ๋กœ๊ทธ์ธ ์ธ์ฆ ๋ณด์•ˆ ์„ค๊ณ„ ๋ฐ ๊ฐœ๋ฐœ
  • ์ž๋ฐ”, ์Šคํ”„๋ง ๊ธฐ๋ฐ˜์˜ 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 ๊ตญ๋ฏผ๋Œ€ํ•™๊ต ์†Œํ”„ํŠธ์›จ์–ด๊ณตํ•™๊ณผ ์กธ์—