미리보기
기본 정보

7년차 백엔드 개발자 입니다. 전시와 쿠폰 도메인, 실험플랫폼 그 외 이커머스 분야의 여러 도메인을 두루 경험하였습니다.
기술 스택
경력
주식회사카카오모빌리티
팀원 • 광고플랫폼개발팀
카카오모빌리티 광고플랫폼(카카오T, 카카오내비, 카카오 T 블루 RSE, 옥외광고) 개발 및 데이터 파이프라인 관리
(5개월 | 정규직)
위대한상상(요기요)
팀원 • Discovery & Environment
배차 엔진 실험 플랫폼(스위치백) 서비스 개발
요기요 전시 영역 서비스 개발
앱 개발의 효용성을 위해 BFF 패턴을 기반으로하며 Server Driven UI를 적용한 애플리케이션 개발
요기요 멤버쉽 서비스 개발
(2년 1개월 | 정규직)
여기어때컴퍼니
팀원 • 파트너혜택개발팀
즉시할인쿠폰 도메인 개발 및 운영
CQRS 기반 Event Driven Architecture 적용
도메인 백오피스 및 서버 BE API 풀스택 개발
사장님 앱(마케팅센터) API 개발
애자일 프로세스 활용, 지속적 리팩터링, TDD
사내 코드 리뷰 문화 도입
(11개월 | 정규직)
NHN COMMERCE
팀원 • 플랫폼개발팀
클라우드 이커머스 플랫폼 Shopby 서비스 개발 및 운영
글로벌 프로젝트 일환의 Shopby 일본 서비스 개발 및 운영
Shopby 라인업 통합 MSA 기반 대용량 엑셀 관리 서비스 개발
(4년 8개월 | 정규직)
POSCO ICT
팀원 • 빅데이터솔루션개발팀
솔루션 유지보수 및 서버 관리
(4개월 | 인턴)
프로젝트
위대한상상(요기요)
요기요 신규 멤버쉽 서비스(요기패스X, 네이버 멤버쉽 연계) 구축
배경
배달업계 간 치열한 경쟁 속에서 사용자 확보를 위해 전사 차원에서 최우선으로 진행한 프로젝트
경쟁사간 시간 싸움이 중요했던 만큼 타이트한 일정으로 진행
개발 목적
기존 레거시 멤버쉽 서비스를 신규 MSA로 전환
네이버 멤버쉽, 토스 등의 외부 서비스와의 연계를 위해 확장이 가능한 신규 멤버쉽 서비스 구축
개요
멤버쉽 가입 결제
ADMIN & INTERNAL API
멤버쉽 정기 결제
역할 및 기여도
정기 결제 배치
API 개발
기술 온보딩
성과
기술적 성과
약 600 RPS 에서 무리 없이 운영
일단위 약 3만 유저 정기 결제 운영
사업적 성과
한달 간 약 60만 명의 신규 유저 유입
위대한상상(요기요)
요기요 앱 리뉴얼 전시 영역 구축
배경
기존 앱에서 개선된 UI/UX 제공을 위해 전면 앱 리뉴얼
전사 최대 규모로 진행된 프로젝트
개발 목적
BFF 패턴을 적용한 신규 전시 서비스 개발
Servier Driven UI 를 적용하여 유연한 UI/UX 변경 가능한 환경 제공
독립된 A/B TEST 설정 환경 제공
개요
Front-End 친화적인 API 설계
Aggregator 역할로써 내부 도메인과 클라이언트 사이의 전시 Layer 담당
가장 먼저 트래픽을 받는 만큼 대용량 처리를 위한 Reactive 환경
비동기 및 캐싱 처리를 통한 성능 개선
역할 및 기여도
개발 리드
구조 설계
기술 온보딩
성과
기술적 성과
약 2000 RPS 에서 무리 없이 운영
기존 Latency 기준 약 70% 개선
사업적 성과
언론 홍보를 통한 신규 유입 유저
위대한상상(요기요)
배차 엔진 실험 플랫폼(스위치백) 서비스 구축
배경
스위치백 실험을 통한 결과를 근거로 기존 배차 엔진 시스템의 가장 효율적인 운영 필요
개발 목적
기존 서비스와 연동 가능한 독립적인 시스템 구축
개요
자체 스케줄링 시스템을 활용하여 독립적 및 자동으로 외부 시스템에 스위치백 적용
어드민을 통한 실험 관리 시스템 구축
역할 및 기여도
개발 리드
구조 설계
성과
5회차 실험 진행을 통해 안정적인 배차 엔진 운영
여기어때컴퍼니
쿠폰 서비스 EDA 적용
배경
기존 쿠폰 도메인의 기술적 고도화
개발 목적
사장님 앱에서 쿠폰 정보 조회 기능의 성능 개선을 위해 Command와 Query의 분리
쿠폰 처리 시스템에 대한 높은 독립성과 낮은 의존성
개요
CQRS 패턴을 적용함으로써 조회 성능 개선
메세지 큐를 활용하여 확장 가능한 이벤트 기반 아키텍처 구축
Outbox 패턴을 적용하여 메세지 중복 및 순서 보장
역할 및 기여도
개발 리드
구조 설계
성과
높은 유지보수 성 증대
포트폴리오
URL
교육
한성대학교
대학교(학사) | 컴퓨터공학과
2010.03. ~ 2016.09.
졸업
대외활동
스파르타코딩클럽
기술 멘토링 참여
비전공자 기술 멘토링 참여
2023
ePages-de/restdocs-api-spec
오픈소스 활동
2022
대학생 연합 기업형 IT 동아리 YAPP 10기 개발자
IT 연합 동아리 참여
유니톤 참가,
특별상 수상
2017
자격증
SQLD
합격 | 한국데이터진흥원
2017.01.
정보처리기사
합격 | 한국산업인력공단
2016.11.
자기소개
WebFlux 기반 BFF API 설계 및 Redisson 분산락을 활용한 캐쉬 스탬피드 문제 개선
요기요 앱의 BFF 시스템 개발 중, 높은 트래픽 상황에서 캐시 데이터가 만료되었을 때 다수의 요청이 동시에 내부 도메인 API로 집중되는 캐쉬 스탬피드현상이 발생하여 응답 지연 문제가 발생했던 경험이 있습니다.
Redisson의 분산락 기능을 적용하여 동일한 캐시 키에 대해 첫 번째 요청이 내부 도메인 API 호출을 통해 데이터를 응답 받는 동안 다른 요청들은 대기 상태로 유지되도록 하였습니다. 이를 통해 캐시 재생성 요청이 여러 번 반복되지 않고 한 번만 처리되도록 개선했습니다. 추가로 응답 지연 문제 완화를 위해 lock wait-time을 설정하고 이를 실제 서비스의 응답 시간을 기준으로 모니터링하여 최적화했습니다.
그 결과 캐쉬 스탬피드 현상을 효과적으로 방지하여 서비스 응답 지연을 현저히 감소시키고 BFF 시스템을 거쳐 내부 도메인 서버로 유입되는 부하를 감소시켰을 뿐만 아니라 높은 트래픽 환경에서도 서비스 안정성을 유지할 수 있었습니다. 최종적으로 latency가 기존 대비 70% 이상 개선되어 평균 2,000 RPS 이상의 트래픽을 무리 없이 처리할 수 있는 시스템을 구축했습니다.
서비스 초기 단계 참여 경험
서비스의 초기 단계에서부터 참여한 경험으로는 요기요 앱 리뉴얼 프로젝트가 있습니다. 이 프로젝트는 기존 앱의 구조를 완전히 재설계하여 BFF 패턴과 Server-Driven UI 기술을 도입하는 것을 목표로 하고 있었습니다. 제가 이 프로젝트의 초기 설계 단계에서부터 참여하여 프로젝트 구조 설계, 기술 스택 선정, 팀원 온보딩 등을 주도했습니다.
특히 WebFlux를 처음 도입하는 프로젝트였기에, 팀원들의 기술적 격차를 빠르게 해소하기 위해 스켈레톤 프로젝트를 미리 구축하여 팀원들이 빠르게 적응하고 효율적으로 작업할 수 있는 환경을 마련했습니다. 또한, 프로젝트 초반부터 다양한 성능 최적화 작업을 병행하며 초기 트래픽 테스트를 수행하여 잠재적인 성능 문제를 미리 파악하고 해결했습니다.
이러한 적극적인 참여와 리드를 통해 프로젝트의 초기부터 안정적인 기술적 기반을 구축할 수 있었고 그 결과 프로젝트는 성공적으로 런칭하여 높은 안정성과 사용자 경험 개선을 이루었습니다. 초기 단계에서부터 참여하며 서비스 전체를 바라보는 시야와 문제 해결 역량을 크게 성장시킬 수 있었습니다.
확장 가능한 시스템을 설계
기존 즉시할인쿠폰 서비스는 타 도메인과 높은 의존성으로 인해 동기적 및 배치성 처리 방식이 많았고, 이로 인해 유지보수가 어렵고 성능이 매우 떨어졌습니다. 또한 확장성이 제한되는 문제도 있었습니다. 저는 이 문제를 해결하기 위해 Kafka 기반의 Event-Driven Architecture(EDA)를 도입하여 시스템을 재설계했습니다. 서비스 간 직접 호출을 제거하고 이벤트 기반으로 통신하도록 변경하여 결합도를 낮췄고, 배치성이 아닌 실시간으로 데이터가 전달될 수 있게 되었으며 각 도메인이 독립적으로 동작할 수 있는 구조를 구축했습니다. 쿠폰 도메인은 발급, 수정, 삭제 시 Kafka 이벤트를 발행하고, 통계 등 후속 처리가 필요한 도메인에서는 Kafka Consumer를 통해 해당 이벤트를 비동기적으로 처리할 수 있도록 구성했습니다. 메시지 유실과 중복 처리 문제를 방지하기 위해 Outbox 패턴과 At-Least-Once 메시징 전략을 적용했으며, 각 이벤트에 UUID 기반 식별자를 부여해 멱등성도 보장했습니다. 이로 인해 기존 대비 유지보수성이 크게 향상되었고, 통계 API 응답 속도 역시 평균 5초에서 1초 이내로 단축되었습니다. 또한 새로운 도메인의 구독이 필요한 경우 기존 시스템에 영향을 주지 않고 확장할 수 있는 유연한 구조가 마련되어 고가용성과 확장성을 모두 갖춘 시스템으로 전환할 수 있었습니다.