Java/Spring Backend Engineer
정산·승인·송금처럼실패 비용이 큰 도메인을안정적으로 설계합니다.
Club Minish와 정산 시스템에서 293+ merged PR로 approval workflow, 비용확정 snapshot, Outbox/SQS 재처리, KMS/Terraform 운영 경계를 구현했습니다. 실제 코드는 공개하지 않고 문제, 설계 판단, 운영 효과를 일반화해 기록합니다.
면접용 읽기 순서
대표 기술 글
면접에서 바로 설명하기 좋은 설계 경험을 승인, 장애 격리, 정산, 마이그레이션, 인프라 순서로 정리했습니다.
SSO 통합 로그인에서 IdP, authorization code, BFF를 이해하기
통합 로그인 설계에서 IdP, authorization code, PKCE, BFF, sender-constrained token이 각각 어떤 문제를 해결하는지 정리한 글입니다.
보충 설계 노트
문제 해결 흐름
대표 사례를 보완하는 장애 격리, 비용 확정, 마이그레이션, 보안 경계 기록입니다.
승인 전 운영 데이터를 보호하는 이벤트 검수 설계
입점업체 이벤트 생성/수정 요청을 실제 Event와 분리하고, JSONB snapshot과 approvalGroupId로 승인 전 운영 데이터 오염을 막은 설계 기록입니다.
init-db에서 Flyway와 ECS one-off migration으로 넘어간 기록
운영 직전 init-db 기반 초기화 흐름을 Flyway baseline, reference data migration, ECS one-off task, 병원 온보딩 API로 나누며 겪은 문제와 해결을 정리한 기록입니다.
가격 재계산 실패가 이벤트 저장을 막지 않게 분리한 설계
이벤트 저장과 가격 재계산을 같은 트랜잭션에 묶지 않고 Outbox, after-commit listener, SQS 재처리 경로로 장애를 격리한 설계 기록입니다.
Flyway 도입과 dev ECS 전환을 같이 리허설한 기록
init-db를 Flyway baseline으로 바꾸는 과정에서 리뷰로 발견한 문제, 기존 RDS adoption, Terraform/RDS 함정, dev ECS 전환 리허설까지 이어진 실제 작업 로그입니다.
상태 전이를 먼저 본다
데이터가 언제 바뀌고, 언제 더 이상 바뀌면 안 되는지를 기준으로 API와 테이블을 설계합니다.
실패 경로를 데이터로 남긴다
외부 API와 비동기 작업은 실패를 전제로 두고 멱등성, outbox, retry 경로를 둡니다.
운영자가 설명할 수 있게 만든다
승인, 송금, 비용확정처럼 민감한 작업은 이력과 산출 근거를 남겨 추적 가능하게 합니다.