백엔드 개발자 · 5년차 (Java/Spring)
👤: 김용건 / 1995.07.19 (32세)
✉️ : [email protected]
📞 : 010-8266-6583
📃 : https://blog.yonggeon.kr
🌐 : https://github.com/Potwings

당연하게 여겨지던 것에서 문제를 찾고, 주도적으로 개선합니다.
스팸 메일 차단 솔루션을 5년간 관리하며, 기존 구조를 당연하게 여기지 않고 비효율적인 문제를 찾아 개선해 왔습니다. 모든 사용자 필터를 기동 시점에 일괄 로딩하던 구조에 의문을 제기해 Lazy Loading 방식으로 전환하여 엔진 기동 시간을 1분 40초에서 15초로, Heap 메모리를 20% 절감했습니다. 또한 대량 데이터 삭제 시 발생하던 성능 병목을 임시 조치에 그치지 않고 근본 원인까지 분석해 OFFSET 기반 조회를 커서 방식으로 재설계하여 만료 데이터 삭제 처리 시간을 22시간에서 3분으로 단축했습니다.
시스템뿐만 아니라 비효율적인 업무 프로세스 또한 개선해야 할 문제라 생각했습니다. 동료 엔지니어들의 유지보수 업무를 지원하는 경우가 많아, 어떤 작업이 부담을 주는지 누구보다 잘 알고 있었고, 그 이해를 토대로 비효율적인 지점을 먼저 발견해 직접 개선해 왔습니다. 채용 시즌마다 개발자가 직접 수행하던 기술 시험 채점을 LLM 기반 시스템으로 자동화하고, 릴리즈 시 수동으로 진행하던 패키지 배포를 Jenkins CI/CD 파이프라인으로 전환하였으며, 서버마다 수동 등록하던 라이센스 발급·갱신 프로세스를 자동화하여 동료들의 업무 부담을 덜어줄 수 있었습니다.
제가 해온 일들은 결국 운영 현장에서 반복적으로 발생하는 문제를 발견하고, 이를 개선해 동료 엔지니어들의 부담을 덜어내는 과정이었습니다. 이는 운영 조직이 겪는 문제를 개선해 나아가는 플랫폼개선팀의 방향과도 맞닿아 있습니다. 또한 개발자가 직접 수행하던 기술 시험 채점을 LLM 기반으로 자동화한 경험은 AI 활용 시스템을 검토하고 구축하는 역할과도 이어집니다. 이러한 경험을 토대로 운영 조직이 더 효율적으로 일할 수 있는 시스템을 만드는 데 기여하고 싶습니다.
기술 스택
주력
사용 경험
Java, Spring Boot, Spring, MariaDB
Python, FastAPI, Spring AI, JPA
Jenkins, Docker, Linux, vLLM, Ollama, Microsoft Presidio, Git, SVN
경력
크리니티 / 솔루션팀 (2021.06 ~ )
스팸 메일 차단 솔루션 고도화를 주도하고, 엔지니어들의 유지보수, 프로젝트 수행을 지원해 왔습니다.
스팸 메일 차단 솔루션 관리 (2021.06 ~ )
Spring Web 관리자 페이지, Netty 기반 메일 수/발신 엔진으로 구성된 스팸 메일 차단 솔루션 기능 개발 및 개선
- 사용자 필터 로딩 방식 개선 | 기동 시간 1분 40초 → 15초, Heap 메모리 사용량 20% 개선
- 엔진 기동 시 특정 사용자에게만 적용되는 필터까지 전부 메모리에 적재하는 구조가 비효율적이라 판단. 사용자가 증가 시 기동 시간과 메모리 사용량이 불필요하게 늘어날 것을 우려
- 전체 사용자 필터를 기동 시 일괄 로딩하는 것이 아닌 해당 사용자의 메일 검사 시점에 필터를 로딩한 뒤 캐싱하는 Lazy Loading + 캐싱 구조로 선제 전환
- 이후 고객사 운영 환경에서 재기동 시간이 길다는 이슈가 제기되자, 앞서 준비해둔 개선안을 즉시 반영. 기동 시간 15초로 단축, Heap 메모리 사용량 20% 감소
- 만료 데이터 삭제 프로세스 성능 개선 | 처리 시간 22시간 → 3분 (작업 일지 : [링크] http://blog.yonggeon.kr/54 )
- 대량 데이터가 누적된 고객사에서 만료 데이터 삭제 시 slow query가 발생, CPU를 장시간 과점유하며 메일 처리 지연 발생
- 쿼리 실행 계획 분석 후 클러스터링 인덱스를 적용, 데이터 저장 기간 축소하는 임시 조치로 운영 이슈 우선 조치
- 임시 조치로 끝내지 않고 원인을 끝까지 추적하여, OFFSET 기반 조회가 근본 원인임을 파악하고 마지막 PK 기준 커서 조회 방식으로 재설계
- 이후 동일 문제가 발생한 다른 고객사에 재설계 방식을 적용, 22시간이었던 처리 시간을 3분으로 단축하며 효과를 검증
- 복합 조건 기반 메일 차단 기능 구현 | 대형 고객사 신규 계약 성사
- Gmail 등 정상 도메인을 통해 제목으로 DHL을 사칭한 피싱 메일이 반복 유입되나, 발신자·제목 단일 조건으로는 정상 메일까지 차단되어 선별 차단이 불가능
- 발신자·제목·본문 등 여러 조건을 조합한 복합 차단 규칙을 적용할 수 있도록 필터링 로직을 재설계, 기존 단일 조건 차단 로직은 회귀 테스트로 정상 동작 보장
- 운영 현장에서 제기된 이슈를 해결하고, 해당 기능을 필수 요건으로 한 정부 부처·대기업 그룹사 신규 계약 성사
- 메일 엔진 설정 동기화 누락 문제 개선 | 설정값 유실 근본 원인 제거
- 관리자 웹에서 변경한 설정값을 엔진에 반영하는 과정에서, 재시도 없는 단방향 통신 구조로 인해 설정값이 간헐적으로 유실되어 고객사 문의 반복 발생
- 설정값을 DB에 저장하고 엔진이 5초 주기로 조회하는 Polling 방식으로 전환, 일시적인 반영 실패가 발생해도 다음 주기에 자동 반영되는 구조로 유실 가능성을 원천 차단했으며, 조회 부하를 줄이기 위해 전용 테이블 분리
- 간헐적 유실이 발생하던 기존 설계 자체를 변경해, 더 이상 설정값 유실이 재발할 수 없는 구조로 개선
중앙 관리 시스템 리뉴얼 (2022.01 ~ 2022.06)
Apache Torque/Turbine 기반으로 20년 전 개발되어 유지보수에 한계가 있던 고객사 라이센스·필터·백신 관리 시스템 Spring Boot 기반 리뉴얼