김성우 프로필

김 성 우

Backend Engineer · 3년차

대용량 메시징 · 레거시 현대화 · GenAI 통합

keemdevy@gmail.com·010-6683-1291·🔗techlog-three.vercel.app

일 100만건 메시지 처리부터 PHP → Java 레거시 현대화까지, 결정 근거를 남기는 백엔드. Java·Spring 기반 End-to-End 설계와 AI 도구 협업으로 생산성을 끌어올립니다.

100만건/일

메시지 처리

GNI

20×

응답속도 개선

PHP → Java

5,000+

동시접속

스포츠안전재단

70%↓

장애대응 시간

전 프로젝트

대용량 메시징 인프라Zero-Downtime 마이그레이션GenAI 통합 & 비용 최적화레거시 현대화 (Strangler Fig)

Skills

BackendJava 8/11/21 · Spring Boot 3.x · Spring Batch 5 · Spring Security · JPA · MyBatis · WebSocket STOMP
DevOpsAWS (EC2/S3/RDS) · NCP · Jenkins CI/CD · Docker · Blue-Green · Prometheus · Grafana · Scouter
DatabaseMariaDB · MySQL · PostgreSQL · Oracle · MS-SQL · MongoDB · Redis · HikariCP
FrontendVue.js 3 · React · Next.js · TypeScript · Tailwind CSS
GenAIOpenAI / Anthropic API · 프롬프트 엔지니어링 (Few-shot, JSON 스키마) · Circuit Breaker · 토큰 최적화 · AI 도구 협업 (Claude Code, Copilot)

Experience

위즈컨 · 백엔드 개발자 · 플랫폼사업본부2023.02 – 2025.12
GNI · 대량 메시지 발송 플랫폼(메시징 인프라)2025.03 – 05

Backend LeadBackend Lead, 팀 7명

일 100만건 알림톡·SMS·이메일 통합 발송, 성공률 99.9% · p99 < 500ms @ 10k 동시

설계결정웹·배치 서버 분리 + Spring Batch 5.1 TaskExecutor 8쓰레드 병렬화로 100만건 배치 100분 → 12.5분 (8×)
트러블슈팅REST polling 1,000회/분 부하 → WebSocket STOMP 도입 (SSE 비교 후 양방향·<100ms 채택)으로 서버 부하 1/10
쿼리튜닝수억 건 발송 이력 풀스캔 → MariaDB RANGE 월별 파티셔닝, 월별 조회 45s → 0.3s (150×)
복원력외부 API 불안정 → RetryTemplate + Exponential BackOff + Dead Letter Queue로 성공률 98% → 99.5%
관측Prometheus + Micrometer 6개 메트릭군 + Slack 알림으로 문제 감지 50분 → 5분

Java 21 · Spring Boot 3.2 · Spring Batch 5 · MariaDB (Dual) · HikariCP · WebSocket STOMP · Vue 3 · PrimeVue · Prometheus

인천창업플랫폼 · 스타트업 분석 플랫폼(공공 · GenAI)2023.06 – 2025.12

Full-Stack

GPT 기반 스타트업 자동 분석 + 레거시 현대화, 응답속도 60% 개선

GenAI 비용 최적화OpenAI 월 $1,000+ → $290 (71% 절감): Few-shot 프롬프트 + 배치 처리 + 동일 업종 캐싱 + max_tokens 사전계산
복원력Exponential Backoff (1→2→4s, 3회) + Circuit Breaker (실패율 50% 시 차단) + 폴백으로 AI 분석 배치 성공률 99.7%
성과분석 정확도 87% (전문가 평가 기준), 월 512건 분석 (목표 128% 달성)
레거시 현대화DB 인덱스 + 쿼리 튜닝으로 응답속도 60%↑ → 일일 이탈 200건 → 50건, 분기 릴리스 3 → 5회
자동화Quartz Scheduler 6개 배치 (K-Startup API 수집·AI 분석·결과 정제·Aligo 알림톡 발송)

Java 8 · eGovFramework 3.10 · MariaDB · OpenAI GPT · Quartz · K-Startup API · Aligo Kakao Alimtalk

스포츠안전재단 · 교육·협회 멀티테넌트 SaaS(교육)2023.04 – 2025.04

Backend

Oracle → PostgreSQL 무중단 마이그레이션 + 5,000명 동시접속 안정 처리

DB 마이그레이션Oracle 11g → PostgreSQL 3단계 병렬 운영 전환 (PL/SQL → PL/pgSQL 재작성, 시퀀스·NULL·시간대 검증) → 조회 25%↑, INSERT 20%↑, 메모리 40%↓, 라이선스 연 $50k → $0
멀티테넌트SiteContextFilter (서블릿 필터 + ThreadLocal SiteContext)로 모든 쿼리에 site_id 자동 주입, 교차 테넌트 접근 원천 차단
부하 분산NCP ALB → Nginx (Least Connections) → 6× Tomcat 3단계로 5,000 동시 안정 처리, HikariCP 풀링으로 응답 50% 개선
보안Lucy XSS Filter + Prepared Statement 강제 + 보안 헤더(CSP/HSTS) + RBAC로 OWASP Top 10 대부분 차단
배치/배포처리시간 20분 → 2~5분 (75%↓), 클라우드 Blue-Green 무중단 이전 (다운타임 0)

Java 11 · eGovFramework 3.9 · PostgreSQL · Redis · Scouter · Nginx · NCP ALB · Blue-Green

삼천리자전거 / 로시안 · 멀티 브랜드 이커머스 ERP 통합(커머스)2023.08 – 2024.02

Full-Stack

PHP 레거시 → Java 현대화로 응답 20배 개선 · ERP 11개 인터페이스 양방향 동기화

Strangler FigPHP CodeIgniter → Java 8 점진적 전환 (API Gateway로 트래픽 분산), 응답 4–5s → 200–300ms (20×), 동시 사용자 500 → 5,000 (10×)
ERP 통합MySQL ↔ MS-SQL 11개 인터페이스 양방향 동기화 — CDC 기반 실시간(주문/재고) + 배치(상품/가격), Idempotency Key, 일일 reconciliation
결제KG이니시스·NaverPay·KakaoPay 3중 PG 통합 추상화 인터페이스 + 웹훅 서명 검증 + 토큰화 (PCI-DSS 준수)
CI/CDJenkins Pipeline → Blue-Green 배포 + 자동 스모크 테스트로 배포 시간 1시간 → 10분, JaCoCo 커버리지 70%+
배치 DAGCrontab 7 + Quartz 8 = 총 15개 배치 작업 의존성 관리, 99.9% 성공률

Java 8 · Spring · MyBatis · MySQL · MS-SQL · Vue.js · Jenkins · AWS EC2/RDS · KG이니시스·NaverPay·KakaoPay

그 외 프로젝트

셀바이오틱스 (Duolac)2023.01 – 2023.12

헬스케어 커머스 · Backend

AOP @Transactional + 삼중 PG (NicePay/KakaoPay/NaverPay) 자동 페일오버 → 결제 실패 월 2건 → 0.2건 (90%↓). CJ Logistics 연동 배송 추적 99.9%

Gadget2024.06 – 2024.12

HR B2B · Backend Lead

PostgreSQL+Oracle 듀얼 DB · AES-256 CBC + AWS Secrets Manager 90일 키 로테이션 · Android WebView로 모바일 개발 50% 절감, 99.95% 가용성

굿네이버스2023.02 – 2024.05

NGO CRM·후원 · Full-Stack

Nexacro 공통 UI 모듈화로 개발시간 20%↓, 조직개편 RBAC 재설계, DB 인덱스 최적화로 조회 성능 50% 개선

로시안2023.08 – 2024.02

화장품 커머스 · Backend

카테고리 필터링 시스템 리뉴얼로 페이지 로딩 50% 개선, 뷰티 콘텐츠 CMS 구축으로 콘텐츠 업데이트 80% 단축

Education

한국소프트웨어인재개발원(KOSMO) · 개발자양성과정 수료 — Java · Spring · JSP · Database · Git · Android2022.09 – 2023.02

Cover Letter

— 자기소개서 (웹 전용)

▸ 지원동기 — 결정 근거를 남기는 백엔드가 되고 싶어서

위즈컨에서 3년 동안 일하면서 한 가지 명제를 체득했습니다.“좋은 백엔드는 코드를 잘 짜는 사람이 아니라, 매 의사결정의 근거를 남기는 사람이다”라는 생각입니다.

GNI 프로젝트에서 일 100만 건의 메시지를 처리하는 시스템을 리드하면서 가장 먼저 한 일은 코드 작성이 아니라 비교표를 만드는 일이었습니다. Spring Batch와 커스텀 스레드 풀, WebSocket STOMP와 SSE, MariaDB의 RANGE 파티셔닝과 HASH 파티셔닝 — 각 선택지의 장단점을 정리하고 팀과 합의한 뒤에야 구현에 들어갔습니다. 덕분에 3개월 안에 안정적인 시스템을 만들 수 있었고, 시간이 지난 지금도 운영을 이어받은 동료가 그 문서를 참고해 의사결정을 내린다는 이야기를 듣곤 합니다.

지원하는 회사에서도 이런 ‘결정의 흔적을 남기는 문화’가 자연스럽게 살아 숨 쉬기를 기대합니다. 특히 SI 외주가 아니라 본인이 만든 시스템의 영향이 비즈니스 지표로 돌아오는 환경에서 다음 단계로 성장하고 싶어 지원하게 되었습니다. 지난 3년 동안 쌓은 대용량 메시징·레거시 현대화·GenAI 통합 경험이 입사 첫 분기부터 의미 있는 기여로 이어질 수 있다고 믿습니다.

▸ 성장과정 — 시야가 확장되는 과정

고등학교 졸업 후 진학한 대학에서 1년 만에 자퇴를 결정했습니다. 전공이 적성에 맞지 않았다는 단순한 이유였지만, 그 결정 이후 한참 동안 “어떤 일을 평생 해도 질리지 않을까”를 스스로에게 물었습니다. 여러 일을 거치며 시간을 보냈고, 답을 찾기까지 꽤 오래 걸렸습니다.

답은 2022년 가을, KOSMO 개발자 양성 과정을 시작하면서 보였습니다. 처음 마주한 Java 코드 앞에서는 막막했지만, 디버거를 켜고 한 줄씩 따라가며 ‘왜 이 결과가 나오는가’를 추적할 때마다 묘한 만족감이 있었습니다. 6개월은 짧다고 느꼈지만, 문제를 분해하고 해결하는 그 과정 자체가 즐겁다는 사실을 확신한 시간이었습니다.

2023년 2월 위즈컨에 입사한 이후의 3년은 한마디로 ‘시야가 점점 넓어지는 시간’이었습니다. 굿네이버스에서 단일 인덱스 추가로 조회 성능을 50% 개선하던 첫 경험은 컴포넌트 단위의 사고였습니다. 스포츠안전재단에서 멀티테넌트 아키텍처로 5,000명 동시 접속을 안정적으로 처리하면서 시스템 단위로 사고의 폭이 넓어졌고, 삼천리·로시안의 Strangler Fig 마이그레이션으로 응답 속도를 20배 끌어올리면서는 비즈니스 단위까지 시야가 닿게 되었습니다.

GNI 프로젝트에서 100만 건 메시지 처리 시스템을 직접 리드하면서, 이제는 ‘결정의 흔적을 남기는 단계’에 도달했다고 느낍니다. 동시에 내가 모르는 것이 얼마나 많은지도 더 또렷이 보입니다. 이 자각이 다음 3년의 성장 동력이라고 생각합니다.

▸ 직무 강점 — 세 가지 무기

지난 3년의 경험을 정리하면 저의 강점은 세 가지로 모아집니다.

첫째, 결정 근거를 문서화하는 습관입니다.

프로젝트가 끝날 때마다 트러블슈팅과 의사결정 비교표를 별도 문서로 정리해 두는 편입니다. GNI, Gadget, 셀바이오틱스, 인천창업, 스포츠안전재단, 삼천리, 로시안까지 7개 프로젝트 각각에 분석 문서를 보유하고 있어, 어떤 면접에서도 “왜 그 기술을 골랐나요”라는 질문에 대안 비교 → 트레이드오프 → 결과 메트릭의 3단계 구조로 답할 수 있습니다. 이 습관은 단순한 자기 PR이 아니라, 6개월 뒤에 다시 그 코드를 봤을 때 본인에게도 설명 가능한 future-proof 코드의 출발점이라고 믿습니다.

둘째, 인프라 메트릭을 비즈니스 임팩트와 짝지어 보는 시야입니다.

“응답 속도 60% 개선”이라는 메트릭에서 멈추지 않고, “일일 이탈 200건 → 50건 감소”까지 함께 추적해 기록합니다. 인천창업플랫폼의 GenAI 비용 최적화에서도 “OpenAI 비용을 줄였다”라는 추상적인 표현 대신, Few-shot 프롬프트와 동일 업종 결과 캐싱, max_tokens 사전 계산을 조합해 월 $1,000+에서 $290으로(71% 절감) 정량 검증했습니다. 인프라 개선이 비즈 지표로 환원되지 않는다면 그건 본인 만족용 튜닝일 뿐이라는 것이 지난 3년간의 결론입니다.

셋째, AI 도구를 능숙하게 협업 파트너로 쓰는 능력입니다.

2026년 시장에서 AI 도구를 잘 쓰는 일은 영어처럼 백엔드의 기본 소양이 되었다고 생각합니다. 저는 Claude Code와 GitHub Copilot으로 보일러플레이트 작성 시간을 큰 폭으로 줄이고 있고, 인천창업 프로젝트에서는 Few-shot 프롬프트·Circuit Breaker·토큰 캐싱 같은 LLM 통합 패턴을 프로덕션에서 직접 운영해 봤습니다. 단순히 도구를 쓰는 데서 그치는 게 아니라, AI의 한계가 어디까지인지, 비용 함정은 어떻게 우회할 수 있는지를 실전에서 체득한 점이 차별점이라고 생각합니다.

▸ 입사 후 포부 — 6개월, 1년, 3년의 약속

입사 후 첫 6개월은 흡수의 시간으로 쓰고 싶습니다. 도메인 비즈니스 로직, 기존 코드베이스의 설계 의도, 팀의 온콜 문화와 의사결정 패턴을 차근차근 학습하겠습니다. 특히 첫 PR부터 ‘왜 이렇게 짰는지’를 commit message와 PR 설명에 빠짐없이 남기려 합니다. 저에게는 학습 노트이자, 동시에 팀의 의사결정 기록이 되는 방식입니다.

1년차에는 시스템 설계 리뷰에서 신뢰받는 목소리가 되는 것을 목표로 합니다. 단순히 “이렇게 짜면 좋겠다”라는 의견이 아니라, 대안 비교 → 트레이드오프 → 비즈 임팩트 예측까지 함께 제시하는 3단 제안을 매주 1건씩 정착시키려 합니다. 이 단계에서는 단순히 ‘코드를 짜는 사람’에서 ‘의사결정에 기여하는 사람’으로 역할이 바뀌어야 한다고 보고 있습니다.

3년차에는 후배의 결정 근거 습관을 정착시키는 사람이 되겠습니다. 신입에게 “왜 그 기술을 골랐나요”를 자연스럽게 묻는 코드 리뷰 문화를 만들고, 그래서 회사의 기술 부채가 자연스럽게 관리되는 흐름에 직접 기여하고 싶습니다. 지금 제가 docx 7편으로 보유한 분석 자산도, 후배들에게는 사내 wiki와 결합된 가이드라인으로 발전시킬 수 있다고 생각합니다.

마지막으로 한 가지를 덧붙이자면, 저는 기술이 비즈니스를 이긴 적이 없다고 믿습니다. 모든 기술 의사결정의 종착점은 ‘고객에게 어떤 가치를 전달하는가’입니다. 대용량 메시징·레거시 현대화·GenAI 통합 — 어떤 영역을 맡든 이 시점을 잃지 않는 백엔드가 되겠습니다. 긴 글 읽어 주셔서 감사합니다.