Work Experience

NAVER ↗

Lens Dev · Backend Developer

  • Develop and operate backend services for Smart Lens.
  • Implemented an asynchronous image deletion workflow using RabbitMQ.
  • Built production runtime diagnostics with Go's runtime/trace.FlightRecorder.
  • Built reusable automation for dependency security remediation and CI failure triage.

Lotte Innovate ↗

Hotel IS Team · Backend Developer

  • Maintained backend services for hotel food and beverage POS systems.
  • Developed complex MSSQL reports using multi-table joins and multi-level aggregations.
  • Analyzed execution plans and improved high-volume report processing across the database and application layers.

Projects

Poppin ↗

SSAFY Team Project

  • Built a FastAPI recommendation service using Korean Sentence-Transformer embeddings and cosine similarity, combining reservations, likes, and preferred categories into a weighted user profile.
  • Designed a Redis Sorted Set-based on-site waitlist with live rank calculation, duplicate-entry prevention, status and cancellation handling, expiration, and scheduled database synchronization.
  • Developed review and comment APIs with create, update, soft-delete, image upload, domain exception handling, and controller and service tests.

Case Studies

Lotte Innovate · Performance

High-volume discount report

~50% faster in production

Context
A complex report joined sales, menu, discount, and authorization data while calculating detailed rows, subtotals, and grand totals entirely in MSSQL.
Approach
Compared execution plans over approximately 580K records, identified a Table Spool regression in a CTE-based query, and moved summary aggregation to Java.
Outcome
Reduced production end-to-end response time by approximately 50%; the development benchmark improved from 155.7 seconds to 3.7 seconds.

Poppin · Data Structure

Redis-backed on-site waitlist

Context
Each pop-up store required an independent daily waitlist with duplicate-entry prevention, real-time position lookup, status changes, and persistent reservation history.
Approach
Modeled each waitlist as a Redis Sorted Set, combining reservation status and sequence number into the score. Added a secondary phone-based index, synchronized final states to MySQL at 3 a.m., and expired daily Redis data at 4 a.m.
Outcome
Supported registration, cancellation, status transitions, and live queue positions while keeping the core insertion and rank operations at O(log N) through Redis ZADD and ZRANK.

Skills

Languages
Go, Python, Java, SQL
Backend
Gin, FastAPI, Spring Boot, Kubernetes
Data & Messaging
Redis, RabbitMQ

Certifications

Engineer Architecture (건축기사)

HRDKorea

2023

Engineer Information Processing (정보처리기사)

HRDKorea

2024

SQL Developer (SQLD)

Korea Data Agency (KDATA)

2024

Education

SSAFY 11th ↗

SW Competency Test Professional (Level B)

Jan 2024 — Aug 2024