경력
Selected Work휴브알엔씨
IT개발실 · Backend Lead
병원·대학 연구진이 사용하는 의료 웹 진단 플랫폼 — 중장년·노인 대상 신경심리검사 채점 및 자동 리포트 서비스. 지연·오류가 즉각 의료 현장 VOC로 이어지는 고신뢰성 환경에서 백엔드·인프라·백오피스를 엔드투엔드로 주도하며 설계·운영.
리포트 생성 9s → 1.5s — 비동기 워커 아키텍처 도입
피크타임마다 PDF 렌더링이 스레드를 블로킹해 서버가 다운되고 하루 1~2건의 의료진 VOC가 반복됐습니다. 화면 캡처 기반의 외주 파이프라인 구조가 근본 원인이었고, 스레드풀 확장은 임시방편이라 판단했습니다. SQS + 전용 워커 서버로 요청과 생성을 완전히 분리해 클라이언트는 즉시 응답을 받고 워커가 비동기로 PDF를 생성·업로드하는 구조로 전환했습니다.
→ 생성 시간 83% 단축 (9s → 1.5s), 관련 VOC 100% 소멸
자세한 내용 →핵심 API 응답 2s → 0.3s — 비동기 병렬 처리 + No-Offset 페이징
환자·메타·결과 데이터가 연관성 없음에도 단일 트랜잭션에서 순차 조회되어 저사양 병원 PC에서 타임아웃이 빈번했습니다. No-Offset + 클러스터 인덱스로 Full Scan을 제거하고, 3개의 독립 조회를 비동기 논블로킹 병렬 처리로 전환했습니다. 목록/상세 API 분리로 초기 렌더링 부하도 함께 줄였습니다.
→ 응답 시간 85% 단축 (2s → 0.3s), 타임아웃 완전 해소
자세한 내용 →배포 시간 15분 → 3분 — Docker + ECS Fargate 롤링 배포
EC2 수동 배포로 npm·라이브러리 버전 불일치 장애가 반복됐습니다. 블루/그린 대신 롤링 배포를 선택했고, Docker로 실행 환경을 고정해 불일치를 원천 차단했습니다. Terraform으로 인프라를 코드화하고 검증/운영 서버를 분리했습니다.
→ 배포 시간 80% 단축, 환경 불일치 장애율 0%
자세한 내용 →배포 후 버그 월 10건 → 1건 — E2E 자동화 + QA 대시보드 구축
전담 QA가 없는 구조에서 수동 검증 의존도가 높아 운영 배포 후 오류가 반복됐습니다. Playwright(웹)/Maestro(앱) E2E 자동화 파이프라인을 구축하고, 버전·테스트케이스 관리 대시보드를 직접 개발해 Discord로 결과를 실시간 공유했습니다.
→ 배포 후 버그 90% 감소, 수동 QA 시간(일 1시간) 완전 제거
자세한 내용 →스윗코리아
User Relations Team · Backend & Full-stack Engineer
B2B 업무 협업툴 SaaS — 기업 고객 대상 Slack 대체 플랫폼. 엄격한 보안 규정(Compliance)과 안정적인 서드파티 연동이 핵심 경쟁력인 환경.
외부 API 응답 10s → 1.8s — 배치 병렬 처리 + 부분 실패 허용
Jira 이슈 목록을 순차 루프(10회)로 가져오던 구조를 병렬 처리로 전환했습니다. Promise.all은 하나 실패 시 전체가 날아가는 구조라 Promise.allSettled로 부분 실패를 허용했고, Jira Rate Limit 우회를 위해 5개씩 배치로 나눠 호출했습니다.
→ 응답 82% 개선 (10s → 1.8s)
자세한 내용 →서드파티 플러그인 보안 취약점 해소 — OAuth 인증 파이프라인 재설계
Jira·Confluence 인앱 플러그인 개발 과정에서 세션 기반 자동 로그인은 토큰 탈취 시 연결된 모든 서드파티 앱에 연쇄 접근이 가능한 구조적 취약점을 발견했습니다. B2B 환경에서 보안을 우선해야 한다고 판단, 민감 작업 구간에 Swit 재인증을 강제하는 방식으로 인증 구조를 재설계했습니다.
→ 연쇄 탈취 취약점 원천 차단, 인앱 플러그인 제공으로 경쟁사 이탈 방어
자세한 내용 →백오피스 Flask + Vanilla JS → Next.js 전면 재구축 + RBAC 인증 도입
툴 하나를 수정해도 전체 재빌드가 강제되는 모놀리식 구조였고, 인증 없이 내부망 전체에 오픈된 상태였습니다. 리치텍스트 에디터·이메일 빌더를 모듈별로 분리해 Next.js + TypeScript로 재구축하고, 사내 OAuth + JWT를 연동해 직군별 접근 권한을 통제했습니다.
→ 모듈별 독립 배포 달성, 내부망 접근 제어 완료
자세한 내용 →폐쇄망 고객사 보안 감사 요건 충족 — Splunk 연동 ETL 파이프라인
연간 보안 감사 의무가 있는 고객사가 전사 액션 로그를 요구했으나, 내부 정책상 원본 로그 외부 반출이 불가했습니다. 이름·이메일을 마스킹 처리하고 고객 ID로만 식별하는 ETL을 설계했고, 폐쇄망 환경에서의 주입은 Splunk 토큰 인증 + 프록시 구조로 해결했습니다.
→ 개인정보보호법 준수, 고객사 보안 감사 요건 100% 충족
자세한 내용 →웅진씽크빅
교육플랫폼 개발팀 · 백엔드 개발자
10년간 운영된 레거시 LMS 성능 개선 및 인프라 안정화. 유아·초등·중학 서비스를 통합 관리하는 모놀리식 시스템에서 성능 병목과 동시성 문제를 분석하고 개선했습니다.
조회 속도 20s → 1s — DB 분리 + Spring Batch ETL 파이프라인 구축
LMS와 실서비스가 같은 DB를 공유하는 구조에서 LMS Full Scan이 버퍼 풀을 독점해 실서비스 쿼리까지 캐시 미스가 나는 문제였습니다. LMS 분석 DB를 물리적으로 분리하고 Spring Batch ETL + 레플리카 3대로 읽기 트래픽을 분산했습니다.
→ 조회 속도 95% 단축 (20s → 1s), 오전 피크타임 VOC 3건 → 0건
자세한 내용 →쿼리 지연 3s → 1.4s — 복합 인덱스 + 파티셔닝
EXPLAIN 분석으로 Full Range Scan 원인을 확인 후 과목·회원·시간 순서로 복합 인덱스를 재설계했습니다. 인덱스 이후에도 개선이 미흡해 추가 분석하니 누적 데이터 자체가 병목이어서 가입일 기준 파티셔닝을 추가로 적용했습니다.
→ 쿼리 지연 53% 단축 (3s → 1.4s), Full Range Scan 제거
자세한 내용 →멀티스레드 배치 중복 적재 해소 — Redis 분산 락
SAP 회원권 배치를 멀티스레드로 실행하던 중 동일 데이터 동시 처리로 중복 적재가 발생했습니다. Oracle DB에 PK 제약이 없는 상태라 DB 레벨 차단이 불가해, 애플리케이션 레벨에서 Redis 분산 락을 도입해 레이스컨디션을 해소했습니다.
→ 멀티스레드 환경 중복 적재 완전 해소, 데이터 정합성 확보
자세한 내용 →FTP 수동 배포 → AWS CodeDeploy + Jenkins CI/CD
파일질라 수동 배포 방식에서 CodeDeploy 기반 자동화로 전환을 제안하고 구축했습니다. Jenkins 빌드 시 JUnit 테스트가 자동 실행되도록 파이프라인을 구성해 배포 전 기본 검증을 강제했습니다.
→ 수동 배포 제거, 테스트 게이트 도입으로 배포 안정성 향상
자세한 내용 →기술 스택
능숙
실서비스에서 설계·운영한 핵심 스택언어 · 프레임워크
데이터베이스 · 캐시
인프라 · DevOps
보안 · 인증
사용 경험
프로젝트·과제에서 다뤄본 도구프론트엔드
DevOps · 도구
데이터 · 기타
학력 및 활동
삼성 청년 소프트웨어 아카데미 (SSAFY)
자율·공통 프로젝트 우수상 수상. 비전공자 팀에서 캘린더 서비스 팀장으로 프론트·백엔드·인프라 전담, Jenkins CI/CD 첫 구축 경험.
네이버 커넥트재단 부스트캠프
웹·모바일 개발 챌린지 과정 수료
충북대학교 정보통신공학과
학사 졸업