Backend Engineer
5년차노성웅
백엔드 엔지니어 | 성능 병목 진단부터 팀 개발 문화 개선까지
성능 병목을 인프라가 아닌 코드 구조에서 찾는 5년 차 백엔드 엔지니어입니다. JPA IDENTITY 전략 한계를 직접 발굴해 14만 건 배치 동기화를 2시간→10초로, 인덱스 무력화 원인을 추적해 130만 건 DB p95를 17초→3초로 단축했습니다. 2PC 적용 불가 환경에서는 Saga 패턴으로 보상 로직을 직접 설계했습니다. QueryDSL 전사 도입으로 팀 Native 쿼리 70%를 제거하는 등 개인 성과에 그치지 않고 팀 개발 방식을 바꿔온 방향으로 일해왔습니다.
/ Achievements
데이터 동기화 성능 개선
N+1로 14만 건 동기화에 2시간 소요 → Fetch Join + JDBC Template Bulk Insert로 10초
DB 조회 성능 향상
130만 건 Tibero DB · p95 17초 → 3초 (실행계획·인덱스 최적화)
운영 워크로드 절감
Self-Service API 자동화 (월 50건 → 5건)
Native 쿼리 제거율
QueryDSL 전사 도입 · 타입 안전 쿼리로 조건 변경 시 SQL 직접 수정 불필요
/ Experience
플랜아이(PlanAI)
Cloud Engineer
2026.02 ~ 2026.05
3개월MSP 사업부에서 고객사 인프라 모니터링 체계 구축 및 시스템 운영 자동화를 담당했습니다.
Key Achievements
- 기관별 모니터링 서버 구축 · CMP 보고서 자동 생성 연계
- VictoriaMetrics 도입으로 Prometheus 수집 기간 30일 → 1년 확장
- Ansible 기반 Exporter 설치·시스템 자원 조회 자동화
Projects
MSP 고객사 모니터링 체계 구축
2026.02 ~ 2026.05- →기관별 Prometheus + Grafana 모니터링 서버 구축 · CMP 개발팀과 보고서 자동 생성 연계해 월간 리포트 수작업 제거
문제고객사마다 별도 모니터링 체계가 없어 장애 발생 후에야 인지하는 구조적 문제
- →KT Cloud 기반 멀티테넌트 인프라 모니터링 환경 구축 · 고객사별 자원 사용 가시성 확보
- →메트릭 보존 기간 30일 → 1년 확장 (Grafana 쿼리 범위로 직접 검증)
문제Prometheus 기본 30일 보존 한계로 장기 추세 분석·장애 회고 불가
분석Thanos·Cortex는 확장성 뛰어나나 S3 연동 설정 승인 및 러닝커브 필요 → 단일 바이너리·PromQL 호환·즉시 적용 가능한 VictoriaMetrics 선택
- →Exporter 일괄 설치 및 자원 조회 자동화로 반복 운영 작업 제거
문제다수 고객사 서버에 Exporter를 수동 SSH로 설치 시 누락·버전 불일치 위험
분석쉘 스크립트 대비 Ansible이 멱등성 보장·호스트 그룹 관리에 유리해 선택
오케스트로주식회사
선임연구원 · 클라우드 서비스 본부
2023.10 ~ 2026.02
2년 4개월국정자원 3개 백오피스 시스템(nTOPS, RPMS, 통합포털) 통합 운영을 담당했습니다.
Key Achievements
- 데이터 동기화 99% 개선 (2시간 → 10초)
- 핵심 조회 p95 응답시간 82% 개선 (17초 → 3초)
- 인시던트 12건 → 5건/주 지속 감소
- RPMS 단독 운영·개발·고객 대응 전담 · ITSM 오류 개선·배포 참여
- QueryDSL 도입 주도 · Native 쿼리 70% 제거
Projects
국정자원 통합 운영유지보수
2025.07 ~ 2026.02- →RPMS 단독 담당 · ITSM 개발·오류 개선 참여 · 분류 체계·에스컬레이션 기준·배포 절차 표준화
문제3개 시스템이 별도 담당자 없이 분산 운영되어 이슈 발생 시 책임 소재 불명확·대응 지연 반복
- →쿼리 실행 시간 직접 측정, p95 17초 → 3초 (82% 개선)
문제130만 건 Tibero DB 핵심 조회 p95 17초로 현업 업무 지연 반복 발생
분석DBA와 협업해 EXPLAIN으로 인덱스 미사용 원인 분석 → 힌트 강제 설정 시도했으나 미동작 → WHERE 절 타입 불일치(문자열 파싱)가 인덱스를 무력화하는 근본 원인 확인 → 타입 정합성 수정 후 인덱스 적용
- →월 30건+ 운영 이슈를 유형별 분류·재발 빈도로 우선순위화해 고빈도 원인부터 순차 제거
문제동일 오류가 반복 접수돼도 즉각 패치 후 종결하는 관행으로 근본 원인이 누적
- →핵심 원인 위주 기능 개선 적용 · 인시던트 12건 → 5건/주 (주간 접수 건수 직접 집계)
문제반복 접수되는 ITSM 오류 유형 분석 없이 증상만 패치하는 구조
CSP 멀티테넌트 네트워크 상품 개발 (PPP Cloud)
2024.08 ~ 2025.06- →5인 개발팀 풀스택 리드 · KT Cloud 기술팀과 API 연동 및 네트워크 장비 제어 협업
- →풀스택 리드로서 코딩 컨벤션·공통 모듈·에러 표준화를 초기에 정의해 통합 충돌 제거
문제신규 CSP 플랫폼 초기 개발에서 컨벤션·공통 모듈·에러 처리 기준 없어 팀원마다 구현 방식 달라 통합 시 충돌 빈번
- →장비 설정충돌 오류 0건 달성
문제클라우드 상품 신청 시 공인IP·방화벽·Cisco 스위치·OpenStack 등 다단계 장비 설정이 순차 실행되어 중간 실패 시 부분 설정 잔존
분석장비 API 트랜잭션과 Spring 트랜잭션이 서로 다른 도메인이라 2PC 적용 불가 → 각 단계별 보상 로직을 직접 구현하는 Saga 패턴 선택
- →수동 운영 워크로드 90% 절감 (월 50건 → 5건)
문제기존 티켓 기반 CSP 방식에서 사용자가 자원 신청 시마다 운영자가 수동 처리해야 해 CSP의 핵심 가치인 자율 자원 관리 불가 (반쪽짜리 CSP)
분석AWS·Azure처럼 API를 통해 사용자가 직접 자원을 제어하는 Self-Service 구조로 전환 설계·구현
- →설정오류 0건 · 장비 API 스펙 불일치·IP 충돌 검증을 테스트 코드로 대체해 서버 재실행 반복 제거
문제'어차피 손으로 눌러보면 된다'는 팀 문화로 테스트 코드 없이 수동 검증에만 의존
분석핵심 기능에 점진적 적용을 제안·합의해 JUnit5 단위테스트 문화 정착 유도
- →외부 연동 API 모듈·내부 도메인 서비스 모듈 분리 · 의존성 단방향 정리로 외부 연동 모듈 재사용성 확보
문제외부 연동 서비스와 내부 도메인 서비스가 한 모듈로 혼재해 변경 시 전체 영향 범위 파악 불가
자산계획 시스템 설계/개발 및 운영 (RPMS)
2024.01 ~ 2025.06- →4인 팀(선임 1·신입 2)에서 핵심 설계·개발 주도 · 팀원 이탈 후 단독 운영 및 고객 컨택 전담
- →배치 처리 2시간 → 10초로 단축 (99% 개선) — Fetch Join + JDBC Bulk Insert 전환 후 실행 시간 측정
문제배치 동기화에서 N+1 쿼리로 14만 건 처리에 2시간 소요, 야간 배치 완료 전 업무 시작으로 데이터 정합성 이슈 발생
분석조회 측 N+1은 Fetch Join으로 해결. INSERT 측은 JPA IDENTITY 전략이 영속성 컨텍스트 PK 확보를 위해 단건 INSERT를 강제하는 구조적 한계 확인 → JDBC Template Bulk Insert로 전환
- →Native 쿼리 70% 제거 · 조건 변경 시 SQL 직접 수정 불필요
문제Native 쿼리 남용으로 조건 변경 시마다 SQL 직접 수정이 필요해 유지보수 비용 급증
분석QueryDSL을 검토, 조회 복잡도가 높은 자산 현황 모듈로 파일럿 적용 후 실측 데이터로 팀의 초기 회의론 설득. 전사 도입 주도
- →폐쇄망 Kubernetes 개발 클러스터·미들웨어 재구축 및 Jenkins·Helm 배포 자동화
주식회사 에이직스
주임 · SI기술개발
2021.08 ~ 2023.10
2년 3개월3~4인 SI 기술개발팀 풀스택 개발자로 합류해 납기 환경을 템플릿·공통·CI/CD로 표준화/자동화하고, 설계–개발–운영 전 주기를 주도해 유지보수성과 성능을 지속 개선했습니다.
Key Achievements
- Jenkins 기반 배포 자동화 · 배포 빈도 7일 → 1일
- Tiles 프레임워크 도입 · 중복 코드 65% → 10% · 페이지 개발 리드타임 2일 → 0.5일
- SMS 서비스 DB 이관 · 1,000만 건 무결성 100% 유지 · p95 5초 → 0.9초
Projects
동구청 과학행사 신청 플랫폼
2023.07 ~ 2023.10- →eGovFramework 기반 3개월 내 풀스택 개발 및 안정적 런칭
- →이중 신청 0건
문제동시 신청 시 이중 예약 가능성 존재
분석Redis 분산락은 별도 인프라 구성 필요, DB 비관적 락은 소규모 행사 트래픽에 과도한 설계 → 별도 인프라 없이 임시 예약 상태를 DB로 관리하는 Soft Reservation 선택
- →NICE 본인인증 모듈 + OAuth 2.0 SNS 로그인 구현 · 회원관리 표준화
- →행사 등록·참가자 관리·통계 조회를 통합한 어드민 페이지 구축
충남도청 SMS 서비스 DB 이관
2023.03 ~ 2023.05- →OS 설치 → 데이터 마이그레이션 → 장비 납품까지 전 과정 일괄 수행
- →1,000만 건 대용량 데이터 무결성 100% 유지
- →쿼리 실행 시간 직접 측정, p95 5초 → 0.9초 · CPU 사용률 65% → 40% 개선
문제매 페이지 이동 시 헤더에서 전체 SMS 카운트 집계 쿼리가 자동 실행되어 페이지 로딩 지연 반복
분석상시 표시가 불필요한 집계 쿼리임을 파악 → 버튼 클릭 시에만 조회하는 방식으로 변경
- →노후 장비 교체로 물리적 장애 포인트 제거 · 이관 후 다운타임 0건
한전 위험성 평가기반 자율안전 솔루션
2022.02 ~ 2023.10- →GIS 기반 실시간 모니터링 대시보드 · 메타데이터 관리 백엔드 개발
- →jsPDF 기반 보고서 생성 API 서비스화 · 모바일/웹 동일 품질 PDF 제공
문제Spring에서 jsPDF JS 함수를 직접 실행할 수 없어 앱에서 웹과 동일한 PDF 보고서 생성 불가
분석브라우저 렌더링이 필요한 jsPDF 실행을 위해 FastAPI 크롤링 서버를 별도 구축해 JS 실행 환경 확보
- →중복 코드 65% → 10% · 페이지 개발 리드타임 2일 → 0.5일
문제JSP 페이지마다 헤더·푸터·네비게이션을 반복 복붙하는 중복 레이아웃 문제
분석JSP include 방식은 중복 제거 효과 제한적이며 구조 변경 시 전 페이지 수정 필요 → 레이아웃 템플릿화가 가능한 Tiles 프레임워크 도입 제안 및 적용
- →배포 빈도 7일 → 1일
문제수동 배포로 인한 휴먼에러와 7일 배포 주기가 긴급 패치 대응을 가로막는 문제
분석SI 폐쇄망·온프레미스 환경 특성상 관리형 SaaS CI 사용 불가 → 자체 구축 가능한 Jenkins 선택해 직접 파이프라인 구성
- →2022 BIXPO 기술 시연 성공 · 한전 연구과제 최종 평가 통과에 기여
/ Skills
⚙️ Backend
📊 Observability
🚀 Infrastructure
🎨 Frontend
/ Projects & Activities
패스트캠퍼스
고트래픽 시나리오를 가정한 고성능 검색·동시성·유연한 상품 모델링 요구에 대응하는 통합 커머스 프로젝트 설계 및 개발.
- →AWS ECS 기반 MSA Auto-scaling 인프라 설계 및 구축
문제커머스에서 주문·재고·결제 등 도메인별 트래픽 집중 패턴이 달라 모놀리식은 전체를 스케일링해야 하는 비효율 발생
분석K8s는 관리 복잡도가 높고, AWS ECS는 관리형 오케스트레이션으로 Auto-scaling 구성이 단순 → MSA + ECS 조합 선택
- →JWT 무상태 인증 + API Gateway 중앙 인증 · 서비스 간 결합도 완화
문제MSA 환경에서 각 서비스마다 인증 로직이 중복되면 변경 시 전 서비스 수정 필요
- →토큰 버킷 Rate Limiting · 스파이크 트래픽 완화 및 다운스트림 보호
문제스파이크 트래픽 시 다운스트림 서비스 과부하 위험
분석고정 윈도우·슬라이딩 윈도우는 순간 버스트를 허용하지 못함. 토큰 버킷은 일정 버스트를 허용하면서 평균 속도를 제한하고 Redis 연동 구현이 단순해 선택
개인 프로젝트
RDB·Redis·Elasticsearch 비교 벤치마크를 통해 Elasticsearch 기반 10M 상품 검색 엔진을 설계·구현. 검색 품질과 응답 속도를 동시에 개선.
- →Elasticsearch 도입 · p95 60,000ms → 130ms
문제10M 상품 데이터에서 RDB LIKE 쿼리 p95 60,000ms로 실서비스 불가, Redis는 형태소 분석·오타 허용 등 전문 검색 기능 미지원
분석RDB·Redis·Elasticsearch 세 엔진을 k6(10 VU)로 직접 벤치마크 비교 → ES가 성능(p95 130ms)과 검색 품질 모두 우위 확인
- →Nori·형태소 분석·fuzziness·부스팅·캐시 조합으로 오타/복합어에 강한 자동완성 구현
오케스트로 사내 스터디 기획·운영
오케스트로주식회사 사내
데이터 동기화 개선 사례를 팀에 공유하다 "이런 사례를 정기적으로 나누면 어떨까"는 제안이 스터디로 이어졌습니다. 성능 개선 RCA, 알고리즘 실습, 개발 서적 리딩을 정례화해 현업 경험을 팀 공유 지식으로 전환했습니다.
- →주 1회(4개월) · 평균 참여율 75% · 발표자 순환제 운영
- →성능 개선 사례를 RCA → 해결 전략 → 벤치마크 → 체크리스트로 문서화해 팀 공유 지식으로 전환
문제성능 개선 사례가 담당자 개인 지식으로 남아 팀 공유 및 재활용이 안 되는 문제
- →이펙티브 자바·JPA 서적 리딩 결과를 규약·코딩 컨벤션·리뷰 체크리스트로 정립
- →노션/위키 저장소 구축 (가이드·체크리스트·런북) · 검색·재사용성 향상
/ Education Programs
정보처리기사
2024.09한국산업인력공단
소프트웨어 개발, 데이터베이스 구축, 시스템 분석 설계 등 정보처리 직무 국가기술자격
InnerCircle 백엔드 4기
2025.06 ~ 2025.09패스트캠퍼스
커머스, 핀테크, O2O 등 다양한 도메인의 현업 멘토님들과 진행된 백엔드 부트캠프. 프로젝트 기반으로 코드 품질과 문제 해결 능력을 향상했습니다.
- →CIDR Validator 라이브러리 직접 구현 및 Jitpack 활용한 퍼블리싱
- →현업 멘토(핀테크·O2O·커머스)와 요구사항 정제, 핵심 문제 정의 및 우선순위 수립
- →도메인 모델링 (유즈케이스·ERD·시퀀스·상태 다이어그램) 및 경계(BC) 설계
- →JUnit5·Testcontainers로 단위/통합 테스트 구축, 코드리뷰·리팩토링 사이클 운영
/ Education
목원대학교
학사 · 전자공학과