장두혁

Server Developer

장두혁

KB스타뱅킹 앱에 탑재된 세금 환급 서비스의 백엔드와 인프라를 개발·운영합니다. 단일 EC2에 묶여 있던 서비스를 무상태 구조로 재설계해 장애·배포로 인한 중단 없이 트래픽에 맞춰 확장되는 구조로 전환했고, 70만 명 푸시 발송으로 DB가 포화된 장애에서는 원인 쿼리를 특정해 무중단으로 인덱스를 적용, 11분 만에 복구했습니다.

개발자는 실제 사용자의 문제를 해결하는 과정에서 성장한다고 생각합니다. 사이드 프로젝트도 사용자와 매출이 발생하는 서비스로 운영하며, 사용자가 늘며 생긴 병목을 찾아 인프라를 이전하는 등 운영 환경에서만 겪을 수 있는 문제들을 해결합니다.

(주) 택스티넘

2026.02 – 현재

KB국민은행 사내벤처에서 분사한 세무 플랫폼 기업. 외주 개발·운영되던 서비스의 인하우스 전환을 초기부터 담당

RefundWorld (환급나라)

Spring Boot 3 · JPA/QueryDSL · MySQL

KB스타뱅킹 앱에 웹뷰로 탑재된 세금 환급 신청 플랫폼

  • 상태가 서버 로컬에 남아 스케일아웃이 불가능하던 단일 EC2 구조를, 수집 파일은 S3로 세션·중복 방지·진행률은 Redis로 이관해 무상태화. ECS Fargate 오토스케일과 롤링 배포로 전환해 장애·배포로 인한 중단 제거
  • 70만 명 푸시 발송으로 RDS CPU가 99.7%까지 포화된 장애에서, 회원 테이블 풀스캔이 DB 부하의 83%임을 특정하고 온라인 DDL(ALGORITHM=INPLACE, LOCK=NONE)로 무중단 인덱스를 적용해 11분 만에 복구
  • 5개 채널에 중복 구현된 스크래핑 로직을, 환급액 계산에 조건별 단위 테스트를 먼저 작성한 뒤 공통 흐름으로 통합

TaxBridge

NestJS · MikroORM · MySQL

같은 KB스타뱅킹 앱 내 세무사 매칭 플랫폼. 외주 개발 중이던 서비스를 인수해 직접 배포·운영

  • 복합 인덱스가 있음에도 선두 컬럼 불일치로 full scan 되던 방문 로그 조회를 실행계획으로 확인하고 조회 패턴에 맞는 인덱스로 해결
  • 퍼널 단계별 집계를 단계마다 개별 쿼리로 돌리던 것을 조건부 집계 단일 쿼리로 통합, 고빈도 홈 배너 API에는 Redis 캐싱을 적용해 DB 조회 제거
  • 고객·세무사·관리자 3개 영역의 API 및 프론트엔드, 광고 구독 결제·심사 로직과 실시간 채팅 상담(WebSocket) 구현

(주) 아고라스

2023.12 – 2026.01

교육·커머스 제품을 개발하는 스타트업. 전 제품을 다국어(i18n) 기반으로 운영

Codexpert

NestJS · TypeORM · MySQL · Judge0

브라우저에서 코드를 작성·실행·채점하는 코딩 교육 LMS

  • 학습자가 제출한 임의 코드를 서비스 인프라와 격리해 실행하도록 API 서버와 실행 환경을 분리하고, 채점 판정은 서버에서 결정해 클라이언트 조작 차단
  • numpy·TensorFlow.js 등 학습용 패키지를 지원하도록 Judge0를 fork해 언어별 런타임 이미지를 직접 운영하고, 실행 한도를 언어별로 파라미터화
  • 다중 테스트케이스를 병렬 제출·수집해 케이스 수가 늘어도 채점 시간이 선형으로 증가하지 않도록 구성

Tutorflow

NestJS · Prisma · BullMQ

AI 기반 수업 생성과 학습자 성과 분석을 제공하는 교육 플랫폼

  • 동기로 처리되어 사용자가 이탈하면 중간 데이터가 유실되던 AI 수업 생성을, Job Queue로 요청과 처리를 분리하고 SSE로 진행 상태를 전달하도록 전환
  • 생성 단계 간 의존성을 분석해 순서가 필요 없는 외부 API 호출은 병렬 처리하고 단계별 재시도를 추가, 평균 생성 시간 42% 단축

StarArtist

NestJS · Prisma · MySQL

레거시 PHP(Laravel) 2개 서비스를 단일 NestJS·Next.js로 통합 재구축

  • 주문·회원 등 같은 개념을 서로 다른 스키마로 갖고 있던 두 서비스에 대해 도메인별 기준 모델을 정의하고 단일 스키마로 재설계
  • 레거시 덤프를 통합 스키마로 옮기는 SQL 마이그레이션을 작성하고, 테이블 단위로 나눠 이관하며 단계마다 건수 대사로 정합성 검증

개인 프로젝트

앱인토스 미니앱

NestJS · Prisma · React Native

10개 이상의 미니앱을 1인 개발로 출시해 운영 중, 매출이 발생하는 서비스로 성장

  • 홈서버에서 도커로 앱별 서버를 띄우고 ngrok으로 노출하던 구조가 사용자 증가로 대역폭 병목에 걸리자, 고정 용량을 늘리는 대신 수요에 따라 확장되는 ECS로 이관
  • 앱마다 복사되던 로직을 공통 패키지화하고 워크스페이스를 모노레포로 통합해, 한 번의 수정이 전 앱에 반영되도록 구성
  • 앱 운영 지표·유저 데이터를 관리하는 어드민을 별도로 구축해 운영