Seongnam, Gyeonggi, South Korea
I'm a backend engineer at NAVER, where I designed and operate a real-time log analysis system that processes 300M+ events a day from 8 services, surfacing users' recently-viewed content with sub-minute latency. Most of my work lives in the JVM ecosystem — Java, Spring, and WebFlux — running on Kubernetes with Kafka and Redis doing the heavy lifting. I've built event-driven services handling NAVER main-page traffic at 8,000 RPS, and I enjoy the problems that come with that scale: memory tuning, non-blocking pipelines, and keeping latency predictable. I started my career in 2019 doing full-stack work — my proudest early win was taking a dashboard chart that choked at 10K data points and rebuilding it to render 1M. That instinct for profiling and squeezing performance has stuck with me ever since. Outside work, I play basketball regularly in two clubs — one at work, one in my neighborhood — and help run the company club, which has taught me as much about teamwork as any project retrospective. Interested in large-scale distributed systems. Open to connecting with engineers working on similar problems.
NAVER — Backend Software Engineer Jul 2021 – Present Backend engineer building and operating real-time data systems on Java/Spring, Kafka, Redis, and Kubernetes. - Designed, built, and operate a real-time log analysis system ingesting 300M+ events/day from ~8 NAVER services, surfacing users' recently-viewed content (rolling 14-day window) with sub-minute latency — driving a 30%+ increase in the feature's usage metric. - Built and operated a reactive Spring WebFlux service — event-driven and non-blocking from Kafka ingestion through serving — to handle NAVER main-page traffic at 8,000 RPS on 12 servers where thread-per-request couldn't scale; diagnosed and fixed an early OOM caused by metrics collection, stabilizing memory at ~60%. Currently managing its decommissioning (traffic verification, data cleanup). - Introduced merge guardrails on GitHub Enterprise as the team adopted AI-assisted development — branch rulesets requiring passing tests, coverage thresholds, and 2+ reviewers; isolated external API calls from the test suite so internal tests pass regardless of third-party status. Result: zero unreviewed merges and no failing-test merges since rollout. - Run services on Kubernetes (internal platform) with Grafana for monitoring.
CyberLogitec — Backend Software Engineer Nov 2020 – Jul 2021 Worked on Allegro, a shipping & logistics platform, in a legacy Java (JDK 7) / Spring-based framework environment with MySQL. - Owned the shipper-side booking request feature; designed MySQL queries with multi-table joins to serve screen-ready data in a single fetch. - Customized the platform for Dongjin Shipping's operations and mapped external service protocols to internal system interfaces.
Growth — Software Engineer (Full-stack) Aug 2019 – Nov 2020 SI consultancy; delivered backend and frontend modules for enterprise clients on Java/Spring and Vue.js. - Rescued a smart-factory dashboard's large-dataset charting: migrated from an SVG library (unusable beyond ~10K points) to Canvas-based CanvasJS, then — when the client required 1M points — profiled Chrome memory in real time and optimized the Vue.js layer by removing object reactivity and replacing Array.map with plain loops, cutting memory at 100K points from 1.7–3GB down to 200–500MB and achieving 1M-point rendering within 2.8GB. - Built authentication/authorization and configuration modules (BE + FE) for an SK C&C smart-factory platform, implementing JWT issuance and refresh-token renewal directly. - Set up an MSA foundation with Spring Cloud Netflix for a Nutanix cloud management platform (Shinsegae I&C), wiring Spring Config to a database for zero-downtime property changes.