채용공고 올리기

미리보기

기본 정보

이름
경력기술서
직업
김찬빈
이메일
chanbin.backend@gmail.com
간단 소개

안녕하세요! 주도적으로 문제를 해결하는 백엔드 개발자 김찬빈입니다. [핵심 역량] • 커머스 플랫폼 및 백오피스 개발, 배포, 운영 담당 • 리팩토링과 객체 지향 설계를 통한 유지보수성 높은 코드 작성 능력 • OracleDB, MySQL 등 RDBMS 활용 프로젝트 경험, 성능 최적화 및 쿼리 튜닝 경험 • ORM(JPA/Hibernate), SQL Mapper(Mybatis) 프레임워크 활용 능력 • 테스트 코드 및 QA 프로세스 구축으로 시스템 안정성 확보 경험 • 개발 경험의 문서화와 공유를 통한 팀 생산성 향상 기여 • 기술적 개념을 비기술 팀원에게 효과적으로 전달하는 커뮤니케이션 능력 [기술 스택] 실무에 사용했거나 사용중입니다: • Java, Spring Boot, OracleDB, Mybatis, JPA/Hibernate, Querydsl, JUnit, Mockito, JSP, jQuery, Git 개인 프로젝트에서 사용해보았습니다: • MySQL, Redis, AWS(EC2, S3, RDS), Github Actions 현재 공부중입니다: • Docker, Jenkins, Clean Architecture

경력

회사명

엑스얼라이언스

직급 | 부서 | 근무 유형

백엔드 개발자 | SW개발팀 | 재직 중

근무 기간

2023.06. ~ 재직 중 (1년 8개월)

담당 업무

패션 브랜드 루이까또즈를 포함한 다양한 분야의 계열사를 운영하는 지주회사

  • 패션 브랜드 루이까또즈 직영몰 개발

    • 직영몰 API 개발 및 유지보수 (주문/환불 서비스, 쿠폰 서비스, 장바구니 서비스 등)

    • 백오피스 유지보수

    • VOC 분석 및 관련 기능 개선

  • 쿼리 최적화

    • 백오피스 주문 관리 페이지의 느린 로딩 속도를 개선하기 위해 진행

    • 슬로우 쿼리의 실행 계획을 분석해 풀 테이블 스캔이 발생하는 쿼리를 식별하여 최적화

    • 쿼리 실행 시간 단축 (5.09s -> 0.35s)

  • 테스트 문화 확산

    • 프로젝트 배포 후 버그가 지속적으로 발생하는 문제를 개선하기 위해 도입

    • 신규 기능에 대한 테스트 코드 및 QA 테스트를 도입하여 사전에 버그 발견 및 해결

    • 프로젝트 배포 후 발생하는 버그 감소

  • 주도적인 업무 개선 수행

    • 20여 개의 시스템 버그 식별 및 해결로 서비스 안정성 향상

    • 상품 전시 순서 변경, 기획전 숨김 처리 등 반복 작업을 자동화하여 핵심 비즈니스 업무에 집중할 수 있는 환경 구축

  • 시스템 설정 및 트러블 슈팅 사례 문서화

    • 시스템 설정 및 트러블슈팅 사례 체계적 문서화

    • OOM 에러 발생으로 Eclipse MAT툴을 사용해 Heap dump 분석

    • 조건 누락으로 인한 전체 회원 조회 문제를 파악하여 해결방안 기록

    • 동일 이슈로 OOM 재발하여 문서 기반으로 신속 대응. 다운타임 최소화

프로젝트

프로젝트명

루이까또즈 직영몰 지역별 배송비 부과 기능 개발 | 운영

소속/기관명

엑스얼라이언스 • SW개발팀

프로젝트 기간

2024.10. ~ 2025.02.

프로젝트 내용

지역별 배송비 부과 및 초기 배송비 환불 정책에 맞춰 주문, 반품, 교환 프로세스를 수정하고 상품별 배송비 부과 -> 주문별 배송비 부과 로직 변경

  • 개발 인원

    • 백엔드 1명, 퍼블리셔 1명

  • 담당 역할 - 백엔드

    • 로직 플로우 설계

    • 배송비 부과 API 개발

    • 우편번호를 기반으로 지역별 배송비 자동 부과 기능 추가

    • 초기 배송비 환불 정책에 맞춰 주문, 반품, 교환 프로세스 수정

    • 상품별 배송비 부과 -> 주문별 배송비 부과 로직 변경

  • 기여한 내용

    • 레거시 개선

      • 배송비 정보가 코드 곳곳에 하드코딩되어 있어서, 과거 주문의 배송비 히스토리 관리가 되지 않았고 배송비 정책 변경 시 유지보수 어려움 발생하여 개선 진행

      • 배송비 정보를 데이터베이스로 통합 관리

      • 과거 주문을 포함한 배송비 히스토리를 추적하고 배송비 정책 변경에 따른 개발 소요 시간 대폭 감소

  • 사용 기술

    • Back-end : Java 1.8, Spring 5.3, Oracle 11g, Mybatis

    • Front-end : JSP, jQuery

    • Middleware : JEUS, WebToB

    • Server : CentOS

프로젝트명

루이까또즈 프로모션 페이지 개발 | 운영

소속/기관명

엑스얼라이언스 • SW개발팀

프로젝트 기간

2024.12. ~ 2025.01.

프로젝트 내용

선착순 이벤트, 랜덤 쿠폰 이벤트 등 루이까또즈 오프라인 매장 전용 프로모션 페이지

  • 개발 인원

    • 백엔드 1명, 퍼블리셔 1명

  • 담당 역할 - 백엔드

    • 이벤트 API 개발

    • 선착순 참여 기능 구현

    • 랜덤쿠폰 알고리즘 구현

  • 기여한 내용

    • 서비스 다운타임 단축

      • 기존 프로모션 페이지 생성할 때마다 서버 재기동으로 인한 서비스 중단 시간(10분 ~ 20분)을 최소화하기 위해 진행

      • 서버 재기동 없이 JSP 파일 배포만으로 프로모션 페이지 생성되도록 프로세스 개선

      • 서비스 다운타임 100% 단축 및 마케팅 대응 속도 개선

    • 랜덤 쿠폰 발급 성능 개선

      • 기존 랜덤 쿠폰 발급 알고리즘을 최적화하여 불필요한 임시 List 생성 로직을 제거하여 메모리 효율을 높이고 계산 과정을 간소화

      • 20종 쿠폰, 100만 건 기준 쿠폰 발급 시간 약 91% 단축 (0.391s -> 0.027s)

  • 사용 기술

    • Back-end : Java 1.8, Spring 5.3, Oracle 11g, Mybatis

    • Front-end : JSP, jQuery

    • Middleware : JEUS, WebToB

    • Infra : CentOS

프로젝트명

루이까또즈 직영몰 선물하기 서비스 | 신규

소속/기관명

엑스얼라이언스 • SW개발팀

프로젝트 기간

2024.04. ~ 2024.07.

프로젝트 내용

루이까또즈 직영몰에서 상품을 구매하여 다른 사람에게 선물을 보낼 수 있는 서비스

  • 개발 인원

    • 백엔드 1명, 퍼블리셔 1명

  • 담당 역할 - 백엔드

    • 선물하기 관련 테이블 및 로직 플로우 설계

    • 선물하기 서비스 API 개발 및 화면 구현 (선물하기, 선물 인증, 선물 거절/수락, 선물 주문 관리 등)

    • 선물하기 관련 어드민 페이지 개발

    • 카카오 공유하기 API 연동하여 선물 공유 기능 구현

    • Spring Schedular를 사용해 선물 받기 기한 만료 시 자동 결제 취소 및 카카오톡 알림 구현

  • 기여한 내용

    • 레거시 개선

      • 선물 주문 로직 추가하면서 기존의 주문 로직의 복잡한 단일 메서드가 유지보수와 확장성에 어려움 발생하여 진행

      • 단일책임원칙(SRP)을 적용하여 주문, 반품, 교환 기능을 각각 독립적인 메서드로 분리하여 코드 구조를 개선함

      • 코드의 유지보수성이 향상되어 새로운 기능 추가가 용이해지고, 주문 로직의 가독성이 개선됨

    • 개인 정보보호 강화

      • 기존 로직에서는 카카오톡 공유 시 생성된 인증키만으로 인증을 진행하여, 선물 발송인과 수령인 모두 수령인의 배송 정보를 확인할 수 있는 문제가 발생

      • 이를 해결하기 위해 선물 수락 후 수령인 전화번호로 인증번호를 전송하고 확인하는 이중 인증 시스템을 도입하여 수령인의 개인정보 보호를 강화

  • 사용 기술

    • Back-end : Java 1.8, Spring 5.3, Oracle 11g, Mybatis, JUnit 5

    • Front-end : JSP, jQuery

    • Middleware : JEUS, WebToB

    • Infra : CentOS

프로젝트명

사내 업무 성과 평가 시스템 개발 | 신규

소속/기관명

엑스얼라이언스 • SW개발팀

프로젝트 기간

2023.10. ~ 2024.01.

프로젝트 내용

협업툴에서 연간 업무들을 크롤링하여 조직 내 업무 실적과 성과를 평가하고 관리하는 사내 맞춤형 평가 시스템

  • 개발 인원

    • 백엔드 1명, 퍼블리셔 1명, 크롤링 1명

  • 담당 역할 - 백엔드

    • 테이블 및 전체적인 로직 플로우 설계

    • 전체적인 API 개발 및 화면 구현 (업무 데이터 처리, 평가, 결과 등)

    • 평가 점수에 따른 팀 랭킹 시스템 개발

    • Apache POI 라이브러리를 사용해 평가 결과를 Excel 형식으로 다운로드할 수 있는 기능 개발

  • 기여한 내용

    • Unit Test 코드 도입

      • 잦은 요구사항 변경에 대응하기 위해 도입

      • JUnit5 + Mockito를 사용해 약 160개의 단위 테스트 코드 추가

      • 코드 변경에 따른 리스크 최소화 및 코드 안정성 향상

    • Mybatis -> JPA 마이그레이션

      • MariaDB에서 Oracle로 데이터베이스를 전환하면서 Mybatis의 벤더 종속성으로 인해 유지보수와 확장성이 저하되는 문제를 경험하여 전환을 결정

      • 테스트 주도 개발(TDD)을 통해 기능별 전환을 점진적으로 진행

      • 데이터베이스 변경에 따른 코드 수정이 최소화되었고, 동적 쿼리 작성이 용이해져 유지보수성과 개발 생산성 향상

  • 트러블 슈팅

    • JPA 벌크 삭제 시 발생하는 N+1 문제 해결

      • JPA 벌크 삭제 시 각 엔티티에 대해 개별적인 SELECT, DELETE 쿼리를 실행. 삭제할 데이터가 많을수록 심각한 성능 문제 발생(N+1 문제)

      • Querydsl을 사용해 단일 쿼리로 벌크 연산하여 성능 문제 해결

      • 벌크 연산 후 영속성 컨텍스트를 초기화하여 영속성 컨텍스트와 데이터베이스 데이터 불일치 문제 해결

    • 크롤링용 파이썬 스크립트 실행 중 발생한 에러 해결

      • 타 팀에서 작업한 크롤링용 파이썬 스크립트 실행 중 에러 발생하여 원인 분석

      • 필요한 모듈들이 가상환경이 아닌 전역환경에 설치되어 있어 문제 발생

      • 원인 및 해결 방안을 문서화하여 담당 팀에 전달하여 해결

    • CentOS 포트 권한 문제 해결

      • CentOS에서 애플리케이션 접속 시 SocketException: permission denied 발생

      • 리눅스에서는 1024 미만 포트(Well-known ports)는 일반 사용자에게 권한을 주지 않음

      • firewall 설정을 통해 HTTP(80) 포트에서 8080 포트로 포트 포워딩하여 접속 문제 해결

  • 사용 기술

    • Back-end : Java 1.8, Spring Boot 2.7, Oracle 11g, JPA/Hibernate, Querydsl, JUnit 5

    • Front-end : JSP, jQuery

    • Middleware : Tomcat

    • Infra : CentOS

프로젝트명

소셜미디어를 담은 여행 동행 모집 서비스

소속/기관명

개인

프로젝트 기간

2023.03. ~ 2023.06.

프로젝트 내용
프로젝트명

목표 달성 서비스 개발

소속/기관명

개인

프로젝트 기간

2023.01. ~ 2023.02.