CV

Chang-Jae "CJ" Lee

Full-Stack Software Engineer


Work Experiences

SE II @ EA Digital Platform, Electronic Arts (2020. 11. - )

Content Engine

  • Investigated the project's Redis usage pattern and fine-tuned lettuce and akka dispatchers to reduce async pool exhaustion warnings (since changing the architecture requires much longer time)
  • Implemented a new endpoints for internal users (i.e. integrators) to easily track their contents' original payload used to generate them

CE-Projection

  • Implemented the all-projection handling Flink jobs to reduce resource usage and operational costs (9GB memories per EKS node running multiple pods -> 2GB)
  • Configured GitLab pipeline to:
    • automatically generate jobs' input arguments using helmfile and its automation
    • automatically generate required kafka topics and ElasticSearch indices when required

SDE II @ Prime Tech, Amazon (2019. 8. - 2020. 9.)

ELSA: ELaStic Archiver

  • Released phase 1 on Mar. 20, 2020 (in-house log system using ELK stack)
  • With other 1 SDE, implemented and iterated design from initial system proposal
  • Techs:
    • ELK via AWS ElasticSearch Service
    • Lambda, CloudWatch, Kinesis, Firehose, S3, Cognito, AWS Step Function
    • Yaml (CloudFormation) and Python for Lambda/StepFunction handlers, and Ruby for Pipelines configuration

Benefits Discovery

  • Launched an initial experiment for discovering Prime Video from Amazon Prime order checkout
  • Techs:
    • In-house Spring/JSP stack for template
    • In-house A/B testing framework

Prime Rewards Center

  • Released phase 1 on Oct. 31, 2019 (NA marketplace only for now)
  • Managed localization string onboarding process and initial version of Offer contents storage, to reduce confusion between business and tech teams
  • Techs:
    • Customized Java Spring + JSP
    • Customized Tomcat
    • Node.js on occasional scripting

Prime Day Project

  • Rewards for small businesses and physical stores deals: implemented the RC side features both backend and frontend, using the same tech of Prime RC

Developer @ Platform Team, PUBG Corp. (2017. 10. - 2019. 7.)

PUBG Lobby

  • Implemented user report feedback message system, which generates 500k+ messages and 550k+ transactions per day, including Angular frontend

  • Developed/managed PUBG lobby’s Anti-cheat service backend, withstood peak concurrent user 3.2 million (.NET Core)

  • Pinpointed the exact cause of service outage when Steam auth. API is down, which was there about 1 year

  • Pinpointed the exact cause of memory leak in real-time game monitoring tool

  • Collaborated with Valve corporation’s engineers for Steam Trust Value System
    (STV is already applied in CS:GO and Valve Games, not sure when PUBG or other games will be using)

  • Techs: .NET Core (backend), Angular (frontend), Node.js and Python 3.x (occasional scripting)

  • Infras: AWS

PUBG Court: Replay Report Examination Tool

  • Designed/implemented server + agent
    which sorts suspects by number of reports,
    and streams replay on Unreal client
  • Techs: Vue.js on Webpack + Node.js runs on AWS EKS k8s, and a C# WinForm app.

PUBG Admin Care Package: PUBG Admin Operation Tool

  • Designed/implemented batch operation system(i.e. same actions to ~150K accounts per click, this feature now handles batch jobs targeted to ~30M users)
  • Participated in frontend migration: from Razor Webpage to Vue + TypeScript

Prototype AntiCheat Solution Backend

  • Participated in prototype development (i.e. released/tested on test server)
  • Techs: Go, gRPC

Research Engineer @ Satrec Initiative (2014. 7. - 2017. 9.)

Project ADE, an ocean image processing framework for GOCI-I/II satellite

  • Implemented ADL-to-C++ transpiler(Java, ANTLRv4),
    and boilerplate for HDF5 image file processing used with transpiler's output(C++14)

Direct Ingestion Subsystem, satellite SpaceEye-X

  • Designed/implemented a subsystem which takes 2 or 6 1Gbps channels as an input and outputs a raw image from satellite or camera-in-test using C# .NET Framework 4.0
  • Designed/implemented a UI for camera testing and verification with moving window display which shows the output raw image in real time
  • Maintained/Deployed DIS for satellites already in service (KompSat 3a and KompSat 5)

Education

M.S. Computer Science, KAIST (2012.2 - 2014. 8.)

  • Thesis: "A Deobfuscation Method for API-Wrapped Binary Executables"

B.S. Electrical Engineering, KAIST (2006. 3. - 2011. 8.)


Technical Skills (Professional Experiences)

Languages and Frameworks

  • C# 6.0+ and .NET Core 2.0+
  • ASP .NET Core and Razor Page
  • Java and Spring MVC + JSP
  • JavaScript/TypeScript
  • Angular, Vue.js, Svelte
  • Scala, Play framework, akka, Apache Kafka/Flink
  • Node.js, Express/Koa
  • Python

Infrastructure and/or SRE Related

  • Docker
  • Kubernetes (knowledgeable - EdX Course)
  • AWS
    • DynamoDB, RedShift, ElastiCache Redis
    • Lambda, Step Function
    • Kinesis, Firehose, ElasticSearch Service
    • CloudFormation, CloudWatch
  • Prometheus/Grafana, DataDog
  • GitLab CI/CD pipelines
  • VoltDB (JVM based RDB)
  • MySQL
  • ELK Stack (ElasticSearch, LogStash, Kibana)

Other Technical Skills

  • Rust and WebAssembly using wasm-bindgen (knowledgeable)
  • Tableau (used during PUBG days, knowledgeable)
  • This blog is powered by Ghost runs on AWS (Lightsail -> EC2)
    • Talk(Coral Project) installation is scheduled, using docker-compose