조정현 (JeongHyun Jo)

Backend Software Engineer

Experience

성과와 근거를 중심으로 정리한 주요 경력

Naver

— 현재

Selected Projects

핵심 프로젝트

대규모 트래픽 처리, 공통 모듈, 운영 플랫폼 구축 경험

쇼핑 계약 플랫폼 구축

리테일플랫폼 · 설계 진행 중

쇼핑 계약 도메인의 요구사항을 기반으로 플랫폼 구조 설계 진행

  • 도메인 분석 — 쇼핑 계약 도메인 요구사항 및 기존 시스템 분석
  • 플랫폼 설계 — 플랫폼 아키텍처·데이터 모델·API 설계 진행

쇼핑 인증 플랫폼 및 공통 라이브러리

Java · Spring Boot · WebFlux · JPA · MongoDB · Caffeine · MapStruct · React · Next.js · Kubernetes

70K TPS 인증 경로를 pod당 6K TPS까지 최적화하고 DB 부하를 99% 절감

  • 트래픽 대응 — 일 약 20억 건, 최대 70K TPS 환경에서 Servlet의 thread-per-request 한계 해소를 위한 Event Loop 기반 Spring WebFlux 도입
  • 성능 최적화 — Redis 병목·network hop 회피를 위한 Caffeine 적용, 비동기 원본 조회로 blocking 없이 캐시 갱신 및 8 Core·16 GB pod당 6K TPS 처리
  • 운영 효율 — 코드의 인증 해석 정보를 MongoDB로 이관하고 React 어드민을 구축해 무배포 변경 체계 확보, 토큰 CRUD·페이징과 사용 중 토큰 삭제 방어 조건 구현
  • 표준화·권한 — SpEL 기반 DTO 마스킹과 사번·조직 기반 접근권한 구축, Argument Resolver·Global Filter로 인증 모델 공통화, Spring 4·5·6 지원 및 테스트 커버리지 80% 이상 유지

대용량 Excel 다운로드 공통 모듈

Java · Spring Boot · FastExcel

대용량 데이터의 request timeout을 해소하고 팀 모듈을 사내 공통 라이브러리로 확장

  • 문제 — Apache POI 방식의 데이터 증가에 따른 응답 지연·timeout 발생과 StreamingResponseBody의 DB connection timeout 위험 식별
  • 설계 — FastExcel과 InputStream·OutputStream 직접 제어를 결합한 chunked response 구현, DB cursor 대신 페이징 쿼리 적용 및 try-with-resources로 리소스 해제 보장
  • 확장성 — 100만 row 초과 시 다음 sheet로 자동 전환하는 기능 직접 구현
  • 전파 — 팀 모듈을 사내 공통 라이브러리로 이관하고 기존 코드에 역포팅, 기술 공유 글로 사용법 전파

서비스 제어 스위치

Java · Spring Boot · WebFlux · Reactive MongoDB · Caffeine · TypeScript · React

코드 배포 없이 기능을 회수·활성화하는 3계층 런타임 토글 시스템 구축

  • 문제 — 기능 활성·비활성마다 배포가 필요해 장애 대응과 기능 회수 리드타임이 길어지는 문제 식별
  • 구현 — MongoDB 저장소, Caffeine refresh 기반 조회 API, 운영자용 등록·관리 어드민의 BE·FE 개발
  • 운영 안정성 — 모든 요청이 참조하는 값을 DB 조회 비용 없이 최신으로 유지, 기존 권한 체계와 연동해 담당 조직만 접근하도록 제한

Airflow 배치 플랫폼 구축 및 운영

Airflow · Celery · RabbitMQ · PostgreSQL · Python · Lambda · Kubernetes · Docker

Jenkins 배치를 Airflow로 전환하고 개발·운영 3개 환경의 실행·이중화 체계 구축

  • 플랫폼 전환 — 배치 의존성과 설정의 코드 관리를 위한 webserver, Celery worker, RabbitMQ 클러스터, 공통 모듈 설계
  • 배포 효율 — 제한된 리소스에서 Spring Batch를 CLI로 실행, worker의 주기적 repository pull로 DAG·batch image 변경을 빠르게 반영
  • 재해 복구 — RabbitMQ clustering·mirroring과 master/slave 승격 가능한 meta DB 구성, 클러스터 장애 시 전환 가능한 구조 확보
  • 운영 대응 — Lambda 메신저 알림 구현, worker 종료·memory leak·zombie job·재연결·DAG 형상 불일치와 Airflow·Kubernetes 버그의 원인 분석 및 우회

Platform & Reliability

플랫폼·운영 개선

AI 활용·운영 자동화, 데이터 추적, 스토리지 전환과 장애 예방

AI 활용 및 운영 자동화

n8n · Jira · GitHub Discussions · GitHub Webhook · Claude Rules · Claude Skills · Markdown

정기 배포·주간보고·인증 문의·지식 관리 흐름을 자동화해 반복 운영 리소스 절감

  • 배포 자동화 — 2주마다 바뀌는 담당자 로테이션, 배포 D-7 RB 생성, D-day 마일스톤 확인 요청 흐름을 n8n으로 자동화
  • 주간보고 — n8n의 Jira 활동 추적을 통해 수동으로 작성하던 주간보고 내용 자동 생성
  • 문의 자동화 — 명확한 Discussion template과 GitHub Webhook·n8n 연동, 부적절하거나 불충분한 문의는 요청자에게 재확인하고 처리 대상만 팀에 전달하는 문의 분류 봇 도입
  • AI 지식 관리 — 별도 Wiki의 팀 개발 자료·운영 가이드·업무 세팅 문서를 Claude Rules와 Markdown으로 이관, Claude Skills 기반 자연어 관리 체계로 전환

변경 이력 적재 및 제공

Java · Spring Boot · MongoDB · Kafka · TypeScript · React · Next.js

서로 다른 저장소의 변경 이력을 한 모델로 통합해 어드민에서 추적 가능하도록 개선

  • MySQL과 MongoDB의 변경 사항을 capture해 MongoDB에 적재, 정규화 여부가 다른 데이터를 하나의 entity로 통합 처리
  • 운영 리소스 절감을 위한 변경 이력 어드민 제공, 비정형 데이터를 일관되게 비교하는 JsonDiff 컴포넌트 개발

레거시 파일 스토리지 전환

Java · Spring Boot · Object Storage(S3) · Spring Batch · Kubernetes · Helm · Docker · Nginx

광범위한 파일 사용처를 롤백 가능한 4단계로 나눠 Object Storage로 전환

  • 전환 전략 — 병렬 업로드·검증·제거 순서를 기반으로 애플리케이션·Nginx 로그, 배치, CDC·메시징 인프라, Helm·Docker·운영 스크립트를 단계별 전환
  • 안전성 — 공통 프로퍼티와 제거 예정 마커를 적용해 검증이 끝난 코드만 회수, 각 단계에서 확인된 패턴을 다음 영역에 재사용
  • 운영 편의 — 로컬에서 Object Storage를 조회·검색하는 커맨드 개발

서스테이닝 · 운영 신뢰성 개선

Spring Boot · Actuator · WebFlux · Caffeine · Logback · Kubernetes · IntelliJ HTTP Client

트래픽 차단·자연 회복·사전 warmup을 결합해 장애 예방과 복구 경로 개선

  • 헬스 체크 — Actuator readiness·liveness 주기 개선, CPU 임계치 초과 시 outOfService로 트래픽을 차단하는 readiness HealthIndicator를 WebMVC·WebFlux에 구현하고 단일 pod로 검증
  • 장애 분석 — 특정 pod의 heap 포화→반복 GC→응답 timeout을 원인으로 특정하고 WebClient pool 고갈을 후행 증상으로 구분, 의도보다 낮은 Caffeine 버전을 발견해 릴리즈 노트상 만료 정책 쓰기 성능이 10~20배 개선된 버전으로 고정
  • 예방 조치 — 애플리케이션 이벤트 순서와 동적 파라미터를 활용한 캐시 warmup 구현, 로그 rolling을 일 단위·용량 복합 정책으로 전환해 ephemeral storage 부족 해소
  • 팀 표준 — IntelliJ HTTP Client의 환경별 변수와 컨벤션 설계, 인증·센터·어드민 전 도메인의 요청을 형상 관리하는 API 테스트 체계 구축