Backend Engineer · Java / Kotlin / Spring

서민재

Java · Kotlin · Spring · Kafka · Redis · OpenSearch

약 3년간 Java·Kotlin·Spring으로 검색·이벤트·배치·데이터 정합성을 다뤘습니다. 9개 검색 소스의 변경 경계를 분리하고, Kafka 이벤트 9종을 6개 상태·8개 복구 경로로 나눠 미완료 업무만 재실행했습니다. 실제 영속성 컨텍스트에서 JPA 오류를 재현해 오류 데이터 약 200만 건을 보정했습니다.

기술

Backend Java, Kotlin, Spring Boot, Spring Batch, Spring Data JPA, Hibernate, SQL

Integration & Security Kafka, Spring Security, Spring Cloud Gateway, JWT

Data Redis, OpenSearch, PostgreSQL, MySQL, JSONB

Test & CI JUnit 5, Kotest, MockMvc, Testcontainers, ArchUnit, Jenkins

경력

웍스피어(유) · Backend Engineer · 2025.06 — 현재

웍스피어(유) 소속 · JOBKOREA·Albamon 플랫폼 프로젝트

  • JOBKOREA·Albamon 피드의 9개 검색 소스 정책·실패 처리와 OpenSearch→Redis 경계를 분리하고, 3개 Snapshot 상태별 반환·저장·우회로 캐시 비가용을 처리했습니다.
  • OpenSearch 쿼리를 별도 어댑터 모듈로 분리하고 ArchUnit으로 순환 의존을 검출해, 검색 정책과 랭킹·캐시 모듈의 변경 경계를 검증했습니다.
  • 완료되지 않은 Kafka 업무만 선택 복구하도록 내부 이벤트 9종을 6개 상태로 구분하고, 저장 payload 기반 8개 복구 경로와 15분 정체 알림을 구현했습니다.
  • 9개 API·13개 시나리오에서 3·5·10개 동시 요청을 실행해, 같은 락 키 또는 예산 조건에서도 잔액·원장·예산·후속 이벤트 정합성을 함께 검증했습니다.

이전 경력

토스랩 · JANDI Backend2024.06 — 2025.04

Test Architecture · Spring Boot Migration

  • Mock 테스트가 놓친 JPA 변경 감지 오류를 실제 영속성 컨텍스트에서 재현하고, 보정 스크립트로 잘못 저장된 약 200만 건을 바로잡아 이후 업무가 저장 값을 다시 사용할 수 있게 했습니다.
  • Drive-Service를 Spring Boot 2.3.8에서 3.3.3으로 전환하며, 회귀 검증을 위해 테스트를 0개 → 160개 이상으로 보강했습니다.

오케스트로 · Backend Engineer2023.09 — 2024.05

IDP · Vista

  • Spring Cloud Gateway의 요청 경계에 인증·인가를 적용하고, JWT 검증과 SonarQube·Jenkins 연동 API를 구현했습니다.
  • VM 메트릭 조회 조건을 OpenSearch 동적 쿼리로 구성해 API에서 필요한 조합을 처리했습니다.

즐거운 · Backend Engineer2022.11 — 2023.02

자사 서비스 개발·운영

추가 프로젝트 · 오픈소스

Spring 오픈소스 · 개선 3건 반영

Spring Kafka, Spring Boot, Spring Data JPA에 불변 컬렉션 처리 개선, 하드코딩 제거, 자원 정리에 관한 제안을 보냈고 세 건 모두 반영됐습니다.

학력 · 자격 · 발표

학력한국방송통신대학교 컴퓨터과학과 졸업 · 2023.03 — 2025.03

자격CKA 2024.09 · SQLD 2022.06

발표·글YouthCon 2025 발표 ‘우리팀을 위한 Spring Test 만들기’ · 기술 글 156편