Backend Engineer

5년차

노성웅

백엔드 엔지니어 | 성능 병목 진단부터 팀 개발 문화 개선까지

성능 병목을 인프라가 아닌 코드 구조에서 찾는 5년 차 백엔드 엔지니어입니다. JPA IDENTITY 전략 한계를 직접 발굴해 14만 건 배치 동기화를 2시간→10초로, 인덱스 무력화 원인을 추적해 130만 건 DB p95를 17초→3초로 단축했습니다. 2PC 적용 불가 환경에서는 Saga 패턴으로 보상 로직을 직접 설계했습니다. QueryDSL 전사 도입으로 팀 Native 쿼리 70%를 제거하는 등 개인 성과에 그치지 않고 팀 개발 방식을 바꿔온 방향으로 일해왔습니다.

/ Achievements

99%

데이터 동기화 성능 개선

N+1로 14만 건 동기화에 2시간 소요 → Fetch Join + JDBC Template Bulk Insert로 10초

82%

DB 조회 성능 향상

130만 건 Tibero DB · p95 17초 → 3초 (실행계획·인덱스 최적화)

90%

운영 워크로드 절감

Self-Service API 자동화 (월 50건 → 5건)

70%

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이 멱등성 보장·호스트 그룹 관리에 유리해 선택

PrometheusGrafanaVictoriaMetricsAnsibleKT Cloud

오케스트로주식회사

선임연구원 · 클라우드 서비스 본부

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 배포 자동화
Spring BootJPAQueryDSLKubernetesVue 3TanStack QueryAnt DesignTiberoMariaDBRedisJenkins

주식회사 에이직스

주임 · 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 기술 시연 성공 · 한전 연구과제 최종 평가 통과에 기여
eGovFrameworkMyBatisMySQLJSPjQueryFastAPIDockerJenkinsSVN

/ Skills

주력 활용 경험

⚙️ Backend

[주력]Java[주력]RESTful API[주력]Spring Boot[활용]Spring Cloud[활용]Spring Security[주력]JPA / Hibernate[주력]QueryDSL[주력]MariaDB / MySQL[활용]Tibero[활용]Redis[활용]eGovFramework[활용]MyBatis[경험]PostgreSQL

📊 Observability

[활용]Prometheus[활용]Grafana[활용]VictoriaMetrics[활용]Zipkin[경험]Elasticsearch[경험]k6

🚀 Infrastructure

[활용]Kubernetes[주력]Docker[활용]AWS ECS / ECR[경험]AWS CloudMap / ALB[활용]KT Cloud[활용]Ansible[주력]Jenkins[활용]GitHub Actions[경험]Harbor[경험]HashiCorp Vault[경험]Helm

🎨 Frontend

[활용]Vue 3[활용]TypeScript[활용]TanStack Query[활용]Ant Design[활용]ES6+[경험]jQuery

/ Projects & Activities

InnerCircle Commerce 프로젝트

2025.07 ~ 2025.09

패스트캠퍼스

고트래픽 시나리오를 가정한 고성능 검색·동시성·유연한 상품 모델링 요구에 대응하는 통합 커머스 프로젝트 설계 및 개발.

  • AWS ECS 기반 MSA Auto-scaling 인프라 설계 및 구축

    문제커머스에서 주문·재고·결제 등 도메인별 트래픽 집중 패턴이 달라 모놀리식은 전체를 스케일링해야 하는 비효율 발생

    분석K8s는 관리 복잡도가 높고, AWS ECS는 관리형 오케스트레이션으로 Auto-scaling 구성이 단순 → MSA + ECS 조합 선택

  • JWT 무상태 인증 + API Gateway 중앙 인증 · 서비스 간 결합도 완화

    문제MSA 환경에서 각 서비스마다 인증 로직이 중복되면 변경 시 전 서비스 수정 필요

  • 토큰 버킷 Rate Limiting · 스파이크 트래픽 완화 및 다운스트림 보호

    문제스파이크 트래픽 시 다운스트림 서비스 과부하 위험

    분석고정 윈도우·슬라이딩 윈도우는 순간 버스트를 허용하지 못함. 토큰 버킷은 일정 버스트를 허용하면서 평균 속도를 제한하고 Redis 연동 구현이 단순해 선택

Spring BootSpring CloudJPAPostgreSQLAWS ECSGitHub ActionsZipkinGrafana

TechGate — 검색엔진 스터디

2025.09 ~ 2025.10

개인 프로젝트

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·부스팅·캐시 조합으로 오타/복합어에 강한 자동완성 구현
Spring BootMySQLRedisElasticsearchDockerGrafanaPrometheusk6

오케스트로 사내 스터디 기획·운영

2025.05 ~ 2025.08

오케스트로주식회사 사내

데이터 동기화 개선 사례를 팀에 공유하다 "이런 사례를 정기적으로 나누면 어떨까"는 제안이 스터디로 이어졌습니다. 성능 개선 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

    목원대학교

    학사 · 전자공학과

    2022.03 졸업

    / Contact

    함께 성장하는 팀을 찾고 있습니다

    견고한 아키텍처와 건강한 개발 문화로 만드는 지속 가능한 시스템

    연락하기 →