경력기술서

서민재

Backend Engineer · Java / Kotlin / Spring

Java·Kotlin·Spring으로 약 3년간 백엔드를 개발했습니다. 실패한 업무만 골라 재실행하고 배치는 멈춘 지점부터 재개했으며, 실제 영속성 컨텍스트에서 JPA 변경 감지 결함을 재현해 잘못 저장된 데이터 약 200만 건을 바로잡았습니다.

웍스피어(유) JOBKOREA / Albamon Platform · Backend Engineer

토스랩 JANDI · Backend Engineer

오케스트로 IDP / Vista · Backend Engineer

즐거운 Backend Engineer

웍스피어(유) Backend Engineer JOBKOREA·Albamon Platform

JOBKOREA·Albamon 플랫폼에서 실패한 업무만 골라 재실행하고 중단된 배치를 중단 지점부터 재개했습니다. 검색 소스별 실패 처리·캐시 우회 경로를 분리하고, 동시 요청 뒤 잔액·원장·후속 이벤트의 정합성을 검증했습니다.

Kafka 내부 이벤트 9종을 6개 상태로 구분하고, 8개 복구 경로로 실패한 업무만 골라 재실행했습니다.

발행 전에 멈춘 이벤트와 발행 뒤 개별 업무에서 실패한 이벤트는 확인할 데이터와 다시 실행할 범위가 달랐습니다.

  • Kafka 이벤트의 발행·처리 단계를 상태로 기록해 어느 지점에서 멈췄는지 추적할 수 있게 했습니다.
  • 저장한 payload를 사용하는 업무별 복구 경로를 구현해 실패한 업무만 다시 실행하고 전체 처리 과정의 반복 실행을 줄였습니다.
  • 15분 넘게 멈춘 이벤트는 유형별로 묶어 Slack으로 알림을 보내 장기 정체를 확인할 수 있게 했습니다.

웍스피어(유) 배치 재시작 검색 실패 격리 CI 중단 해소

배치를 중단 지점부터 재개하고, 동시 요청 이후의 잔액·원장 정합성을 검증했습니다.

  • 포인트 소멸 대상을 한 번에 읽지 않고 페이지 단위로 처리했습니다.
  • 아카이브 테이블 10개를 참조 순서대로 옮기고, 중단 지점부터 재개하도록 했습니다.
  • 9개 API를 대상으로 13개 동시성 시나리오를 구성해 같은 락 키나 예산을 공유하는 요청을 동시에 실행했습니다. 완료 후 잔액·원장·후속 이벤트의 정합성을 검증했습니다.

웍스피어(유) · 개인화 피드 · 검색·캐시

검색 소스별 실패 경로를 분리하고, Redis 캐시를 우회해도 조회를 이어가도록 했습니다.

개인화 피드에서 검색 소스별 정책과 실패 처리를 맡고, OpenSearch 후보 조회부터 캐시 저장까지 처리 단계를 구분했습니다.

  • 9개 검색 소스에 필터·정렬·벡터 규칙과 소스별 타임아웃·실패 경로를 적용했습니다.
  • 후보 필터링·점수화·재정렬·캐시 저장의 입력과 출력을 분리하고, Redis 캐시 우회 경로를 구현했습니다.
  • OpenSearch 조회 기능을 별도 모듈로 분리하고, ArchUnit 테스트로 순환 의존을 검출했습니다.

추가 자원 없이 CI 메모리 부족을 해소하고, Base·Mock·WebMvc·JPA 4개 진입점으로 테스트 준비·실행 기준을 표준화했습니다.

  • Fixture 생성, Mock 초기화, WebMvc·JPA·트랜잭션 설정을 공통 모듈로 모아 반복 준비 코드를 줄였습니다.
  • Base·Mock·WebMvc·JPA 진입점으로 나눠 테스트가 필요한 설정만 불러오도록 했습니다.
  • 느린 동시성 테스트는 별도 옵션으로 분리하고, CI의 기본·선택 실행 범위를 문서화했습니다.
  • CI 테스트가 메모리 부족으로 중단되자 느린 테스트 범위와 Spring 컨텍스트 재사용·초기화 방식을 조정해 추가 자원 없이 해소했습니다.

토스랩 Backend Engineer JANDI

이전 경력 · 최신순

오케스트로

Backend Engineer · IDP / Vista

  • Spring Cloud Gateway에 Spring Security·JWT 기반 인증·인가를 적용하고, SonarQube·Jenkins 연동 API를 개발했습니다.
  • VM 메트릭 조회 API와 OpenSearch 조회 API를 개발하고, 조건에 따라 동적 쿼리를 생성하도록 했습니다.

즐거운

Backend Engineer · 자사 서비스 개발·운영