CV (Curriculum Vitae)
Seunggon Kim / Esji
π: crosien@gmail.com
Iβm passionate about software engineering for SOTA architecture, programming and theory also.
Contents
Work experience | Education | Projects | Skills | Awards | Publications | Languages
Work experience
Mar. 2022 - Present
Software engineer, Kinolights Inc. - Korea
- Developed back-end of Kinolights.
- Implemented a notification server to control both notification center and push notifications such as FCM.
- Implemented a community server to provide Twitter-like features such as posting, commenting, responding, tagging and searching.
- π JS, TS, RxJS, NestJS, TypeORM, GraphQL w/ federation, Elasticsearch, Redis
- β AWS - RDS, OpenSearch, MQ, MSK, Fargate, ECS, SNS, SMS, SQS, Lambda, Batch, EventBridge, WAF, Route53, CloudFront, S3
Jul. 2021 - Feb. 2022
Software engineer, ActionPower Corp. - Korea
- Built stable and scalable STT(Speech-To-Text) pipeline.
- Constructed HA(High Availability) with several k8s clusters that are in-house Airflow and Composer.
- π Python, Airflow, Microk8s, NVIDIA Triton
- β GCP - Composer, Kubernetes, GKE
- Built a real-time STT architect.
- Developed back-end of Daglo that is B2C/B2B/B2G service providing STT.
- Optimized operating cost by adopting Airflow with proper machine type and commitment.
- Implemented a data warehouse with Elasticsearch and Kibana.
- Implemented a search engine for transcripts and TF-IDF with Elasticsearch Korean analyzer called Nori.
- π JS, TS, Python, ExpressJS, FastAPI, Firebase, Elasticsearch, Kibana
- β GCP - GKE, GAE, GCS, GSR
- Developed back-end of Atend for video conference and following STT.
- π JS, TS, RxJS, NestJS, Firestore, Redis, Twilio
- β GCP - GAE, GCS
- Built end-to-end (E2E) testing.
- π JS, Selenium, Nightwatch, LambdaTest
Jun. 2019 - Jul. 2021
Software engineer, LINE Plus Corp. - Korea
- Developed back-end of LINE messenger.
- Implemented features such as read-only chatroom, adult-only chatroom, abuser detection and so on.
- Improved the performance of LINE app with conditional chat prefetch which reduces total blocking time.
- Improved Elasticsearch get/search latency by 2x by optimizing both the cluster and the queries.
- Upgraded Elasticsearch version from 5.0 to 6.3 manually over two clusters (active-standby).
- Implemented a logging based fault-tolerant Kafka producer to mitigate message loss.
- Developed a Content Management System (CMS) for back office.
- π Java, RxJava, Spring, MySQL, Redis, Elasticsearch, HBase, Kafka, Zookeeper, Armeria, Central Dogma, Retrofit, Thrift, Protobuf
- Developed CI/CD and automation.
- Implemented and stabilized E2E test verifying behavior and server push on SPDY called LEGY.
- Built periodic ranking/trending data generation with ES.
- Analyzed the bottleneck with profiling tools including heatmap, thread dump and heap dump.
- π Java, Python, Kotlin, Spring Batch, Flask, Jenkins, Ansible, Zipkin, JMH, Gatling, Prometheus, Micrometer, Dropwizard
Oct. 2017 - Jun. 2019
Senior researcher, Coinplug Inc. - Korea
- Improved the performance of back-end of cryptocurrency exchange.
- Throughput for bidding API was increased 200 times. It is done by resolving single-threaded task.
- π Java, Spring, MySQL, RabbitMQ, AWS EC2
- β AWS - EC2, MQ
- Implemented Ethereum proxy as delegator of transactions.
- π Go, Ethereum
- β AWS - Lambda, API Gateway
- Implemented decentralized applications (DApp) interacting smart contract through web3.
- π Solidity, Ethereum, IPFS, ReactJS
- Implemented API clients for trading and monitoring the tendency.
- π Go, ReactJS
- Researched blockchain technologies and security issues on all sides such as platform, smart contract, GDPR and so on.
Education
- M.S. and Ph.D. Candidate, CE, Seoul National University, Korea, 2017
- B.S., CE, Kwangwoon University, Korea, 2012
- Extra
- Self-Driving Car Nanodegree Term1 and Term2, Udacity, 2017
- Software Maestro, Ministry of Science, Korea, 2013
Projects
- Open source
- Armeria - a microservice framework to easily build any type of technologies including gRPC, Thrift, Retrofit and so on.
- Python client for Central Dogma - a Python client for Central Dogma that is highly-available version-controlled service configuration repository based on Git, ZooKeeper and HTTP/2.
- Individual
- Chewing Diet (μΈμ λ€μ΄μ΄νΈ)
- Employee Stock Option Calc. (ESO calculator, μ€ν‘μ΅μ κ³μ°κΈ°)
- μ€λλΆν° μ 곡면μ IT
- MojiE (μ무λ§)
-
Research
- CPS-Sim, 2016 - 2017
- End-to-end tool for developing CPS(Cyber Physical System)
- ECU-level real-time simulator, 2013 - 2017
- w/ Hyundai Motors
- Support verification of application logic on vehicle
- Component based design theory and control kernel for CPS, 2013 - 2015
- Real-time system SW on multicore and GPGPU for unmanned vehicles, 2016 - 2017
- Drone simulation for AED(Automatic External Defibrillator) delivery, 2017
Skills
- Programming language
- Java, JS, TS, Python, Go, Dart, SQL
- Assembly, C, C++, C#, Kotlin, MATLAB, ML, Objective-C, Ocaml, Painless, PHP, Scala, Solidity, Tcl/Tk
- Platform & Framework
- Reactive
- RxJava, RxJS
- Back-end
- [Java] Spring, Spring boot, Armeria, Guava, JUnit
- [JS] NestJS, ExpressJS, NodeJS, Puppeteer, Jest
- [Python] Airflow, Django, Flask, FastAPI, pytest, httpx, respx, tenacity, pandas, numpy
- [Storage] Elasticsearch, Redis, MySQL, HBase, Firestore, DynamoDB, LevelDB, PostgreSQL, Zookeeper, Central Dogma, Ethereum, IPFS
- [Stream] Kafka, RabbitMQ, AWS SQS
- [Orchestration] Docker, Jenkins, Kubernetes
- [Monitoring] Datadog, Grafana, Kibana, Prometheus, Sentry, Zipkin, Gatling
- Front-end
- NextJS, ReactJS, VueJS
- Cocos2d, MFC, Qt, Tizen, Unity
- App
- Flutter, watchOS, wearOS, Swift, Kotlin, l10n, flutter_hooks, fl_chart, flutter_animate, sqflite, sqflite
-
Vehicle field
- [Simulator] CarSim, Torcs
- AutoBox, AUTOSAR, EB Tresos, Odin, Simulink
- FlexRay, CAN(Controller Area Network), CAN-FD
- Reactive
- Protocol
- HTTP/2, REST, GraphQL, gRPC, RTC, SSE, SPDY, Thrift, Websocket
- Cloud service
- AWS - RDS, OpenSearch, Elasticache, MQ, MSK, SNS, SMS, SQS, WAF, CloudFront, ALB, API Gateway, Fargate, ECS, EC2, Lambda, Batch, EventBridge
- GCP - Composer, GAE, GCE, GCR, GCS, GKE, GSR, Memorystore
-
Tool
- Github, Gitlab, Sourcetree, JSFiddle, Remix
- Slack, JIRA, Trello
- [Documentation] Confluence, Doxygen, Javadoc, Sphinx, Jekyll
- [Analysis] async-profiler, Dr.Memory, Valgrind, Black Duck Hub
- [Package manager] Gradle, Helm, npm, yarn, pip, dep
- Hardware-related
- CodeWarrior, GreenHills, TASKING, Trace32
- Infineon(TC1797, TC275), STMicro(SPC56EL70), Freescale(MPC5606B), Raspberry Pi, Arduino
- CANalyzer, CANDB, PCAN-USB, Vector(VN1640, VN7600)
Awards
- 2nd prize, OSS grand developers challenge, National IT Industry Promotion Agency (NIPA), 2016
- Best paper award, Korea Computer Congress (KCC), 2017
Publications
- Kyoung-Soo We, Seunggon Kim, Wonseok Lee, and Chang-Gun Lee, Functionally and Temporally Correct Simulation of Cyber-Systems for Automotive Systems, in IEEE Real-Time Systems Symposium (RTSS), Dec. 2017
- Wonseok Lee, Kyoung-Soo We, Seunggon Kim, Sangyoun Paik, Jonathon Soulis, and and Chang-Gun Lee, An ECU-Close Design/Verification Tool for Automotive Systems, in IEEE Real-Time Systems Symposium (RTSS@Work), Paris, France, Dec. 2017
- Hyejin Joo, Kyoung-Soo We, Seunggon Kim, and Chang-Gun Lee, An End-to-End Tool for Developing CPSs from Design to Implementation, in The First International Workshop on Verification and Validation of Cyber-Physical Systems (V2CPS), Reykjavik University, Iceland, June 2016
- β¦
Languages
- πΊπΈ English
- π°π· Korean (native)
- π―π΅ Japanese (JLPT N1)