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
Yonsei University ↗
B.S. in Architectural Engineering
Mar 2018 — Feb 2024
SSAFY 11th ↗
SW Competency Test Professional (Level B)
Jan 2024 — Aug 2024
