미리보기
기본 정보
SSG.COM에서 프로모션 및 쿠폰 업무 백엔드 개발을 담당하고 있습니다. 내가 맡은 일은 끝까지 해내고자 하는 성향이 강하며 내가 알게 된 것을 남과 나누기를 좋아합니다.
자기소개
자기소개
첫 회사에서는 SI/SM 업무를 맡으며 하나의 개발 프로젝트가 어떻게 시작되고 어떻게 마무리되는지 경험해 볼 수 있었습니다. SI 업무에서는 프로젝트의 수주부터 현업과의 업무 협의, 설계를 겪어보고 나아가 실제 프로젝트의 본개발까지 하나의 프로젝트가 시작되고 완성까지 마치는 한 사이클을 겪어볼 수 있었습니다.
주로 대학교, 공공기관, 교육업체들과 일하며 SM 업무도 수행하였는데 각 현업 담당자와 직접 소통하며 개발자가 갖춰야 할 개발 능력뿐만 아니라 사람 대 사람으로 서로 소통하고 협업하는 능력도 많이 키울 수 있었던 좋은 경험을 할 수 있었습니다.
현 회사에서는 커머스 서비스의 프로모션 및 쿠폰 업무 백엔드 개발을 담당하고 있습니다. 고객에게 제공되는 상품 할인에 대한 정보를 관리, 적용하는 프로모션 서비스와 고객이 사용할 수 있는 혜택 중 하나인 쿠폰을 발급/사용하는 쿠폰 서비스를 맡고 있습니다.
프로모션 할인 정보 계산 및 실시간 제공을 위해 기존 모놀리식 구조의 서비스를 MSA 구조의 서비스로 전환하고 단시간에 들어오는 트래픽을 감당하기 위해 별도의 Read DB, 캐시 전략 구축 등을 진행하여 쓱데이나 랜더스 데이와 같은 신세계 그룹사의 크고 작은 행사에서도 서비스 장애 없이 고객에게 좋은 퀄리티의 서비스를 제공할 수 있었습니다.
대량 트래픽을 처리하는 것 외에도 외부 제휴사, 제휴채널(네이버 등)에 보내기 위한 대량의 할인 데이터를 매일 집계하여 내부 뿐만 아니라 외부에서도 고객이 한 명이라도 더 유입될 수 있도록 하고 있습니다. 그리고 "할인"이라 하면 제일 먼저 떠오르는 쿠폰의 발급 및 사용을 위한 서비스도 개발/관리하고 있습니다. 타임어택이나 규모가 큰 이벤트에서 선착순으로 제공하는 부분에서도 문제없이 발급할 수 있게 하며 쿠폰을 단순히 주문에 사용하는 것뿐만 아니라 다양한 이벤트나 컨텐츠에서 교환이나 응모할 수 있는 서브 컨텐츠로의 활용도 돕고 있습니다.
이렇듯 SI, SM부터 서비스 기업에서의 업무까지 다양한 환경에서 개발을 해오며 여러 가지 개발 문화를 경험해 볼 수 있었습니다. 또한, 여러 유형의 사람들과 만나보면서 개발뿐만 아니라 개발 외적인 부분들에서도 많은 역량을 키울 수 있었습니다. 개발자가 개발도 잘 해야 하지만 다른 사람과의 협업, 소통을 하는 능력도 중요하다고 생각합니다. 더불어 저는 제가 맡은 일은 끝까지 해내고자 하는 성향이 강하며 내가 알게 된 것을 남과 나누기를 좋아하여 어느 조직에서든 큰 문제 없이 잘 녹아들 수 있는 사람이라고 생각합니다.
Skill Set
Language: Java
Web: HTML5, CSS3, JavaScript, JQuery, JSP, Ajax, REST API
Framework: Spring Framework (+Spring Boot)
Cache: Redis, Couchbase
OS: Windows, Linux
Database: Oracle, PostgreSQL
APM: Datadog, Pinpoint
Development Tool: IntelliJ, Eclipse
Subversion Tool: GIT, SVN
Etc: MyBatis, Apache Kafka, Apache Tomcat, Jenkins, JIRA, Bitbucket, Bamboo, Redmine
기술 스택
경력
에스에스지닷컴
대리 • 제휴/프로모션 플랫폼개발팀
주문, 상품 할인 혜택을 적용/제공하는 프로모션/쿠폰 업무 담당
(5년 3개월 | 정규직)
참좋은인터넷
사원 • 개발팀
사내 교육 솔루션을 고객사에 커스터마이징하여 개발 및 유지보수
그 외 교육업계, 공공기관, 대학교 등 크고 작은 각종 SI 프로젝트 참여
(2년 10개월 | 정규직)
프로젝트
에스에스지닷컴
SSG 모바일 쿠폰함 고도화
#서비스 #고도화 #API #설계 #개발 #SpringBoot #커스터마이징
Spring+JSP에서 Spring Boot+React로의 전환을 진행하며 전반적인 API 설계 및 개발, 프론트엔드 개발팀과의 협업 진행
대량 데이터 집계와 캐시를 이용하여 최근 주문 및 SSG 상품 데이터 기반으로 사용자 맞춤화 된 쿠폰 추천, 원하는 상품에 쿠폰 미리 적용해보기 등의 신규 기능 추가로 기존의 단순히 보유한 쿠폰을 보여주던 역할에서 쇼핑에 도움을 줄 수 있는 역할로 탈바꿈
대고객 서비스 영역이다보니 안정적인 서비스 제공을 위해 Redis를 활용한 Rate Limiter 개발 및 적용, Circuit Breaker를 통한 서비스 장애 전파 방지, 최대한 캐시 히트율을 높여 실시간에 가까운 데이터를 제공하면서도 캐시 조회를 통한 빠른 응답을 제공하는 등 서비스의 안정성과 성능 모두를 챙기기 위해 개발 설계를 진행
에스에스지닷컴
팀 내부 개발 영역, 시스템 고도화
#캐시 #Redis #문서화 #RestDocs #OAS3 #테스트코드 #APM #모니터링 #Datadog
Couchbase -> Redis로의 캐시 시스템 전환
Couchbase의 상대적 레퍼런스 부족, 지원하는 데이터 구조의 차이, 전사 공용 시스템의 사용 제약 등으로 전환 필요성 증가
Redis Cluster Topology 구성으로 failover 전략 구축 및 캐시 전략 효율화
OAS 3.0 전환 및 REST Docs 도입
기존 문서화 도구인 Swagger2 사용 중 Annotation 파편화 및 문서화 제약으로 인해 OAS 3.0 도입 검토
테스트 코드 기반으로 OAS를 생성하여 신뢰할 수 있는 문서화를 가능하게 하고 REST Docs 및 Swagger3를 통해 손쉽게 읽고 테스트 가능한 체계를 구축
Datadog 도입
사내 APM을 Pinpoint에서 Datadog으로 전환하면서 PoC 이후 전사 최초 적용 진행
서비스 대시보드 구성, 지연 요청 및 오류 등의 알림 설정, 온콜 구성 등으로 서비스 운영 프로세스 효율화 및 장애 대응 시간 최소화
에스에스지닷컴
외부 제휴사 프로모션 대량 연동 시스템 고도화
#대량데이터 #외부연동 #제휴사 #데이터집계 #GCP #BigQuery #Oracle #ADW
네이버, 다나와 등 EP, 가격비교 채널과 같은 외부 제휴 인터페이스에 연동될 상품&프로모션 할인 상품 정보 연동을 위한 데이터 연동 시스템 고도화
SSG Oracle DB에선 데이터 집계 및 연동까지 5~6시간씩 소요되었으나, GCP BigQuery로 데이터를 집계하고 Kafka 기반 비동기 처리 연동 방식으로 전환하여 1~2시간까지 연동 시간 단축
별도의 데이터 집계 배치를 통해 GCP BigQuery 루틴을 호출하여 데이터를 집계한 뒤, 제휴사 연동 배치에서 BigQuery API로 데이터 조회 및 연동 메시지를 발행하여 Kafka Consumer 애플리케이션에서 제휴사 연동 진행
이후 2023년 7월에 GCP BigQuery 계약 종료로 인해 Oracle Cloud ADW 환경으로 마이그레이션 진행
에스에스지닷컴
신세계 통합멤버십(스마일클럽) & 통합멤버십 2.0(신세계 유니버스) 프로젝트
#멤버십 #프로모션 #쿠폰 #프로세스재설계 #정책수립 #커뮤니케이션
기존 지마켓에서 운영 중인 스마일클럽을 SSG.COM의 멤버십과 통합/운영하고 더 나아가 멤버십 회원에게 신세계 그룹사 혜택을 제공하는 신세계 유니버스 클럽 프로젝트 진행
신규 추가된 멤버십 전용 적립 혜택을 제공하기 위해 기존 프로모션 혜택 계산 로직 검토 및 수정, 멤버십 전용 쿠폰을 위한 멤버십 구분 처리 추가 등 전반적인 프로모션/쿠폰 영역의 설계 및 개발
멤버십 서비스 신규 운영에 맞춰 관련 백오피스 어드민 영역 개편 진행
에스에스지닷컴
셀러참여행사 서비스 구축
#대량처리 #멀티스레드 #API #분할처리
대규모 셀러들이 참여할 수 있는 프로모션 행사에 대한 운영이 가능하도록 서비스 구축
셀러들을 대상으로 프로모션을 일괄 신청/진행하게 하여 MD 및 마케터에게는 손쉽게 대규모 프로모션을 운영하고 관리할 수 있도록 하고, 셀러들은 이 프로모션에 쉽게 참여하고 진행할 수 있도록 함
주어진 기간동안 신청을 받아 한번에 다수의 신청을 처리하기 위해 멀티스레드 로직 처리를 구성하고 타 팀 API를 호출하는 부분에서 일종의 Chunk 단위로 요청을 쪼개서 보내어 한번에 요청이 몰리지 않게 하여 타 팀에서 대량 요청도 원활히 처리할 수 있도록 대응
에스에스지닷컴
프로모션/쿠폰 서비스 비동기 처리 파이프라인 구성을 통한 이벤트 기반 프로세스 정립
#Kafka #비동기 #이벤트기반
Apache Kafka를 통해 이벤트/메시지 기반의 비동기 처리 파이프라인 구성
Spring, Kafka를 이용한 Producer&Consumer API 개발 환경 및 프로젝트 구성
프로모션 등록 시 전시 영역 혜택 적용을 위한 조회 데이터 자동 생성, 멤버십 회원 쿠폰 자동 발급 등 주기적으로 실행되는 여러 이벤트 처리에 대응
에스에스지닷컴
프로모션/쿠폰 서비스 MSA 전환
#레거시 #MSA #REST
프로모션/쿠폰 서비스 영역의 레거시 시스템 -> MSA 전환
프로모션 계산, 조회, 등록/수정, 쿠폰 조회, 발급, 사용 등 각 영역의 주요 기능들에 대한 전환을 진행
레거시 환경에서는 별도의 라이브러리(jar) 프로젝트를 통해 필요한 영역에서 디펜던시를 가지고 사용하여 신규 기능에 대한 배포나 장애 대응이 늦어질 수 밖에 없어서 점진적으로 각 영역을 REST API로 전환 진행
에스에스지닷컴
오픈마켓 프로모션/쿠폰 백오피스 시스템 구축
#오픈마켓 #백오피스 #구조설계
2021년 런칭된 오픈마켓 서비스와 관련된 프로모션/쿠폰 관리자 백오피스 시스템 구축
오픈마켓 셀러에게 몰 관리 기능을 지원하기 위해 맞춤화 된 시스템을 구축하여 셀러들의 입점 및 운영을 돕도록 함
기존 환경에서 오픈마켓 서비스 제공을 위한 정책 재수립, 구조 설계, 영향 범위 파악 등 프로모션 서비스 전반적인 검토 진행
에스에스지닷컴
프로모션/쿠폰 관리자 백오피스 시스템 리뉴얼
#백오피스 #관리자 #리뉴얼 #재설계
SSG.COM 구축 초기부터 사용해온 관리자 백오피스 시스템을 신규 UI/프로세스로 리뉴얼
사용자 친화적인 UI/UX 적용, 불필요한 기능 및 프로세스 정리, 코드 리펙토링, 하드코딩으로 관리해오던 영역(ex. 직군별 권한 제어 등)을 기능화&시스템화하여 관리 등 대대적인 백오피스 시스템 개편
에스에스지닷컴
서비스 이슈 대응
#대량트래픽 #서비스지연 #ReadDB #MSA #캐시 #k8s #pod
쓱데이 기간 대량 트래픽 대응
Read DB 구축: 프로모션 영역에 별도의 Read 전용 PostgreSQL DB를 구축하여 SSG 메인 Oracle DB의 부담을 줄이고 보다 빠른 서비스 제공
MSA 전환: 모놀리식 레거시 서비스에 속한 프로모션 서비스를 MSA 서비스로 전환하여 좀 더 유연하게 트래픽에 대처할 수 있도록 서비스 구조 개선
캐시 레이어 구축: 변동이 적고 자주 조회되는 영역은 캐시 레이어를 DB 레이어 앞단에 두어 DB 조회 부담을 줄이고 보다 빠른 조회 정보를 제공할 수 있게 개선
MSA 서비스 warm-up 부재로 인한 서비스 지연 시간 증가
MSA 서비스 전환 초기에 각 API 최초 통신, 캐시 조회 등 여러 영역에서 지연 시간 증가
Lazy Loading과 JIT 컴파일러의 특성으로 인해 지연이 발생하는 것으로 보고 별도의 warm-up 로직을 구성하여 서비스 초기화 과정에서 호출하여 Latency 지연을 방지
특정 시기에 발생하는 k8s pod 통신 장애
45일 주기로 Istio 인증서 교체가 일어나는데 이때 해당 Istio namespace에 속한 pod들의 모든 커넥션이 단절되는 현상 발생
사내 DevOps팀과 몇달 간 로그를 추적하고 모니터링하며 원인을 확인하고 커뮤니케이션하면서 Istio 인증서 교체 관련된 TCP 서비스 연결 끊김을 확인하여 옵션 변경을 통해 현상 해결 완료
참좋은인터넷
아이스크림 홈런 리뉴얼 사업
#리뉴얼 #Spring #SpringBoot #SNS #REST
초등 교육 지원 서비스인 아이스크림 홈런 사이트의 리뉴얼 사업
리뉴얼에 따른 기존 Spring 3 -> Spring Boot 2로의 신규 프로젝트 생성, 패키지 구조 변경, 프로젝트 기본 세팅 담당
관리자 권한의 CMS(Contents Management System) 게시판 모듈 커스터마이징, 로그인 기능 개발
사용자 권한의 SNS 간편 회원가입 및 로그인 기능 개발(Facebook, 카카오, 네이버 REST API 활용)
참좋은인터넷
사내 사업제안용 프레젠테이션 뷰어
#CI #CD #자동화 #SVN #Jenkins
사내 사업 아이템 자료를 외부 미팅에서 발표 시 어디서든 손쉽게 보여줄 수 있도록 템플릿화 된 페이지를 생성하고 뷰어를 만들 수 있도록 진행
상대적으로 규모가 작은 프로젝트이기 때문에 Spring Boot를 이용하여 경량화된 프로젝트로 진행
사내 SVN 서버에 commit된 최신 소스를 자동 빌드 및 배포할 수 있도록 Jenkins를 세팅하여 CI/CD 구축
프로젝트 정보 및 이미지 파일들을 등록하면 HTML로 만들어진 이미지 뷰어에서 이미지들을 재가공하여 보여줌
참좋은인터넷
사내 솔루션 프레임워크 변경(Struts Framework -> EgovFramework)
#프레임워크 #Struts #Egov #Interceptor
사내 솔루션의 프레임워크를 교체하는 프로젝트
프로젝트 초기 환경 구축, 전체적인 기능 오류 검수 및 수정
CMS(Contents Management System) 관리자 게시판 모듈 개발
관리자 메뉴 권한 체크 기능 개발(Interceptor 활용)
참좋은인터넷
사내 교육 솔루션 및 고객사 홈페이지 유지보수
#개발 #개선 #튜닝 #유지보수 #커뮤니케이션
대학 공학교육인증 시스템 및 글쓰기말하기 교육 시스템, 고객사 홈페이지 개발 및 유지보수
각 대학의 실무담당자들과 직접 협업하여 요구사항이나 오류 등을 수정하여 시스템에 적용
단순히 요청받은 유지보수 업무만 처리하는 것이 아닌, 시스템을 직접 사용해보면서 UI/UX 개선이나 쿼리 튜닝을 통해 본래 수행 시간의 1/100으로 줄이는 등 여러 장애 포인트를 개선함
현업 실무자들의 요청을 분석하여 더 나은 방향으로 수정 방법을 제시하여 항상 업무 처리에 대해 만족감을 주고자 하였음
포트폴리오
URL
교육
대구 계명대학교
대학교(학사) | 주)경영정보학/부)컴퓨터공학
2011.03. ~ 2017.02.
졸업
안동 경안고등학교
고등학교 | 인문
2008.03. ~ 2011.02.
졸업