RESUME · 2026.09 갱신 · A4 2p
PDF 다운로드 GitHub

Resume

신지섭 · Backend Developer

Profile

장애 상황을 테스트로 재현하고, 원인을 찾아 다시 발생하지 않도록 만드는 백엔드 개발자입니다. 결제·지급처럼 되돌리기 어려운 흐름에서 데이터 정합성을 지키는 일을 주로 했습니다. 결함 36건을 재현 가능한 형태로 기록한 뒤 수정하고, 해당 테스트를 유지하는 방식으로 개발합니다.

Skills
LanguageJava 21 · Kotlin
FrameworkSpring Boot 3 · Spring Security 6 · Spring Cloud Gateway · Pekko Cluster Sharding
DataMySQL 8 · Redis 7 · MongoDB · Elasticsearch · JPA/Hibernate · Flyway
MessagingApache Kafka (KRaft) · Transactional Outbox / Inbox · Saga 보상 트랜잭션
TestJUnit 5 · Testcontainers · ArchUnit · PIT · k6 · 장애 주입 하네스
Infra · 관측Docker · OCI · GitHub Actions · Prometheus · Grafana · Grafana Tempo
Projects

ESD 플랫폼 — 이벤트 기반 게임 스토어 백엔드

2026.08 — 진행 중

스튜디오·스토어·다운로드·정산 등 9개 마이크로서비스를 이벤트로 이어 결제 승인, 라이선스 지급, 환불 처리를 구현했습니다.

Java 21 · Spring Boot 3.5 · Kafka · MySQL 8 · Redis · Elasticsearch · MongoDB · Prometheus · Tempo
  • 라이선스 오환불 방지 — 재시도 소진을 지급 실패로 판단해 정상 결제가 환불되던 문제를, 저장소 장애 여부와 지급 여부 확인으로 분리했습니다. 오환불 8 → 0건, 보류 7건은 1초 내 전량 지급.
  • 이벤트 순서 보장 — 발행 배치를 주문번호 단위로 묶고 실패 시각을 후행 이벤트에 전파했습니다. 순서 역전 8 → 0건 · 처리량 ×1.13.
  • 추적 일원화 — traceparent를 outbox에 함께 저장해 6개 서비스를 하나의 트레이스로 연결하고, 그때 드러난 폴링 대기를 줄여 p95 1.18s → 0.56s.
  • 결제 승인 누락 방지 — 조회는 주문번호, 중복 판정과 동시성 제어는 각각 분리하고 MySQL 기반 통합 테스트 12건으로 검증했습니다.
  • 결함 재현과 테스트 — 결함 36건을 재현 테스트로 기록하고, 단위·통합·인수 945 · 241 · 46건을 계층별로 분리해 운영합니다.

문제 → 원인 → 해결 → 결과로 정리한 상세 보기 →

SNG — 수집형 RPG 게임 서버 MSA

2026.06 — 2026.07 · 1인

Pekko 액터 기반 게임 서버로 결정론 전투 엔진, 뽑기, 컨텐츠 정산을 구현했습니다.

Kotlin · Spring Boot 3 · Kotlin Multiplatform · Pekko Cluster Sharding · MySQL 8 · Redis 7 · OCI
  • 전투 결과 검증 — 서버가 전투를 재현해 검증하는 구조를 도입하고, 전투 엔진을 플랫폼 구분 없는 동일 코드로 구성해 CI에서 결과 일치를 확인합니다.
  • 시즌 정산 중단 복구 — 200건 단위 커밋과 마지막 처리 위치 저장으로 변경해, 7,000번째 처리에서 장애를 주입해도 1만 건을 중복 없이 재개했습니다.
  • 결제 이벤트 멱등 처리 — 이미 처리한 주문은 다시 지급하지 않도록 하고 7종 시나리오에서 1회 지급을 확인했습니다.
  • 상태 서버 배포 전략 — 액터 상태가 갈라지는 것을 피해 단일 컨테이너 중단배포를 택하고, 헬스체크 실패 시 직전 이미지로 복구합니다.

Mini-pay — 간편 결제 서비스

2026.02 — 2026.05 · 1인
Java 17 · Spring Boot 3 · Spring Security 6 · MySQL 8 · k6 · Docker · Next.js
  • 잔액 동시성 제어 — 잔액 검증과 차감을 하나의 UPDATE로 묶어 원자적으로 처리했습니다.
  • 배치 입금 합산 — 수신자별 입금액을 먼저 합산해 계좌 갱신을 N건 → 1건으로 줄였습니다.
  • 이체 실패 자동 보상 — 5회 실패 후 자동 보상하도록 처리 상태와 환불 경로를 구성했습니다.
  • 출금 원장 정합성 — 출금 시점에 송금인 원장을 기록해 잔액과 거래내역을 맞췄습니다.

JobMate — IT 진로 탐색 및 멘토링 서비스

2025.09 — 2025.10 · 팀 5명

프로그래머스 백엔드 데브코스 파이널 팀 프로젝트. 뉴스·영상·P2P 담당.

Java 21 · Spring Boot 3 · Kafka · AWS (S3 · SNS) · Python · ffmpeg · Docker
  • 업로드 형식 검증 — 허용 확장자 검증과 Content-Type 서명 포함으로 잘못된 파일을 업로드 단계에서 차단했습니다.
  • 트랜스코딩 재처리 방지 — 결과물에 프리픽스를 두어 워커 산출물이 다시 입력으로 들어오지 않게 했습니다.
  • P2P 시그널링 인증 — 쿠키의 인증 정보를 WebSocket 세션에서 복원해 사용자를 식별하도록 변경했습니다.

수/출입 지원서 관리 플랫폼

2024.11 · TAFE NSW 인턴십
Java 17 · Spring Boot 3.3 · Thymeleaf · MySQL · Apache POI · OpenCSV · SMTP
  • 운영 중이던 PHP 시스템을 건드리지 않는 별도 서비스 안을 현지 실무진과 영어로 조율해 승인받고 기간 내 인도했습니다.
  • 지원서 제출부터 관리자 조회, Excel·CSV 추출, 뉴스레터 발송까지 MVP 기능을 완성했습니다.
Education & Activities
2026.07 — 진행 중 코디세이 AI 올인원 2기
CS와 AI 기반 지식을 동료 학습으로 다지고 있습니다.
2025.05 — 2025.10 백엔드 데브코스 — 프로그래머스
네 번의 팀 프로젝트에서 팀장을 보조해 코드 리뷰와 스터디를 이끌었습니다.
2024.09 — 2024.12 글로벌 인턴십 — TAFE NSW
비즈니스 영어를 집중 학습하고, 상공회의소 임원 요구사항으로 기능을 개발했습니다.
2024.01 — 2024.02 단기 해외 연수 — Box Hill Institute
네트워크와 리눅스 기초를 배우고 Terraform으로 네트워크 실습을 했습니다.
2020.03 — 2025.03 영진전문대학교 — 컴퓨터 정보계열, 전문학사