유형찬 프로필 사진

유형찬

Java/Spring 백엔드 · 대량 비동기 처리 · LLM 런타임

INTRODUCE

Java/Spring 백엔드 개발자입니다. 메일·SMS 5만 건의 외부 큐 적재 완료 시간을 2시간에서 1분으로 단축하고, LLM 면접·평가 작업의 재시도·복구 구조를 직접 설계했습니다.

  • Kafka 비동기 처리와 DB 트랜잭션·인덱스 설계로 처리 지연, 중복 작업, 관리자 조회 병목을 개선했습니다.
  • FastAPI 서비스 개발과 AWS·Kubernetes·ArgoCD 운영 경험이 있으며, Rust/C++ 연동 및 macOS 오픈소스에도 기여했습니다.
  • Codex·Claude Code를 코드 탐색, 리팩터링, 테스트 작성과 교차 리뷰에 활용합니다. 변경 범위와 기존 동작 보존 기준을 직접 정하고, 회귀 테스트와 배포 후 지표로 결과를 검증합니다.

EXPERIENCE 총 3년 5개월

2025. 05 ~

재직 중1년 6개월

마이다스인

BACKEND DEVELOPER
  • AI 역량검사 센터(ACCA) 백엔드 개발 - AI 면접/평가, LLM 런타임, 대용량 배치, 스케줄러, 멀티테넌트 데이터 영역 개발 및 운영
  • 메일·SMS 발송 아키텍처를 직접 재설계해 5만 건의 외부 큐 적재 완료 시간을 2시간에서 1분으로 단축하고, SES 발송 단계에서 초당 약 40건 처리량 달성
  • LLM 면접·평가 파이프라인을 직접 설계·구현하고, 영속 작업 큐와 inbox/outbox 기반 재시도·복구 구조로 평가 중단과 중복 처리 리스크 완화
  • 관리자 조회의 인덱스·쿼리를 직접 재설계해 전체 스캔을 인덱스 기반 조회로 전환하고, 대량 엑셀의 배치 처리로 OOM 위험 완화
Java 21Spring Boot 3.3Spring AILangchain4jOpenAI GPT-5OpenAI STT/TTSJPA/HibernateQuerydslMariaDBMongoDBRedisKafka

2023. 04 ~ 2025. 02

1년 11개월

그릿스탠다드

BACKEND DEVELOPER
  • 물류 플랫폼/ERP 백엔드 개발 및 클라우드 운영 - API, 데이터 모델, 문서 처리, 이벤트 파이프라인과 배포 환경 개발
  • AWS Kubernetes 환경과 Docker, ArgoCD 기반 GitOps 배포 파이프라인을 도입하고 FastAPI Blocking I/O, JVM/Kubernetes 리소스 설정 등 운영 병목을 개선
  • AWS Lambda, Kafka MSK, S3, Elasticsearch 기반 이메일 처리 시스템을 개발하고 CloudWatch 로그/알람과 장애 복구 흐름을 구성
  • Java Lambda에 SnapStart를 적용해 cold start를 10초에서 1초 수준으로 단축하고, 물류 ERP 웹 전환과 자동화를 통해 운영 효율을 개선
JavaSpringJPAQuerydslPythonFastAPIKubernetesEKSArgoCDAWS LambdaKafka MSKMySQL

SKILL

Backend

Java 21Spring BootSpring Data JPAQuerydslPython / FastAPI

Distributed & Data

KafkaRedisMariaDB/MySQLMongoDBPerformance Testing

Cloud & Ops

KubernetesEKSArgoCDAWS LambdaCloudWatch

AI Runtime

Spring AILangchain4jOpenAI GPTSTT/TTSLangfuse

Systems / Open Source

RustmacOS Mach APIMach-O

PROJECT

2025. 05 ~

AI 역량검사 센터 (ACCA)
마이다스인 (백엔드 개발자)
  • 5만 건 외부 큐 적재 2시간 → 1분
    • 발송 대상·본문 전체 적재와 장시간 트랜잭션, 순차 Kafka 발행이 메모리·DB 부하와 재시작 후 중복 발송 위험을 만들었습니다. 이를 200건 단위 cursor batch·Kafka 비동기 발행·병렬 consumer로 재설계하고 외부 API 호출을 트랜잭션 밖으로 옮겼습니다.
    • 행 잠금·처리 시도 ID로 중복 선점을 방지하고, 조건부 일괄 갱신·대기 작업 복구·종료 시 처리 정리로 중단된 작업의 재개 흐름을 구성했습니다.
    • 5만 건의 외부 큐 적재 완료까지 걸리는 애플리케이션 처리 시간을 2시간에서 1분으로 단축했습니다. 별도 SES 발송 단계에서는 초당 약 40건의 처리량을 달성했습니다.
  • LLM 면접·평가 작업의 재시도·복구 구조 설계
    • 응답 형식 불일치와 장시간 평가 중단에 대응해 질문 생성·답변 추적·평가 결과 발행에 영속 작업 큐와 재시도·복구 흐름을 구현했습니다.
    • MongoDB에 세션·대화·이벤트와 inbox/outbox 상태를 저장해 장애 추적과 작업 재개의 근거를 남기고, Kafka 메시지와 Redis 잠금·진행 상태 관리 기준을 모듈 간 공통화했습니다.
    • Spring AI와 JSON Schema 기반 질문 생성·평가기준 검증, STT/TTS 연동을 구현하고, Langfuse trace와 토큰·호출 제한 로그로 장애와 비용 추적을 보강했습니다.
  • 전체 스캔을 인덱스 조회로 전환 · 대량 엑셀 메모리 부담 완화
    • 관리자 조회는 인덱스·쿼리 재설계로 전체 스캔에서 인덱스 기반 조회로 전환했습니다. 대량 엑셀 결과표는 SXSSFWorkbook과 페이지·배치 조회로 메모리 사용 부담과 OOM 위험을 완화했습니다.

2024. 02 ~ 2025. 02

물류 플랫폼 자동화 서비스
Grit Standard (백엔드 개발자, 6인 팀)
  • 기술 스택
    JavaSpring BootJPA/HibernateQuerydslAWS LambdaMySQLAWS S3EKS
    • 문제와 제약
      • 수작업 중심의 물류 데이터 입력과 문서 처리 흐름 때문에 고객 응대 속도와 데이터 일관성이 업무 병목이었습니다.
      • 물류 도메인 특성상 400개 이상 필드를 가진 복잡한 테이블과 문서 변환, S3 저장, 외부 연동 흐름을 함께 다뤄야 했습니다.
    • 역할과 판단
      • 반복 입력과 누락 가능성을 줄이기 위해 물류 도메인 테이블을 정규화하고 핵심 CRUD/API와 외부 데이터 연동·업무 자동화 흐름을 개발했습니다.
      • 문서 처리 지연을 줄이기 위해 LibreOffice Lambda Layer 기반 PDF 변환과 S3 저장 흐름을 구현하고, AWS Lambda SnapStart로 Java Lambda cold start 병목을 줄였습니다.
      • 팀 간 API 이해와 데이터 이전 리스크를 줄이기 위해 SQL Migration, Restdocs, Swagger 문서화를 정비했습니다.
    • 문서 처리 자동화 · Cold Start 10초 → 1초 수준
      • 물류 업무의 반복 입력과 문서 처리를 자동화해 실무 담당자의 수작업 부담을 줄였습니다.
      • AWS Lambda SnapStart 도입으로 Java Lambda Cold Start를 10초에서 1초 수준으로 단축.
      • AI 기반 PDF 분석 파이프라인으로 인보이스 데이터 추출과 저장을 자동화했습니다.

2023. 08 ~ 2024. 08

물류 ERP 시스템 현대화 프로젝트
Grit Standard (백엔드 개발자, 3인 팀)
  • 기술 스택
    PythonFastAPIAWSDockerKubernetesMySQL
    • 문제와 제약
      • Windows 기반 ERP에 업무가 집중되어 기능 변경과 배포가 특정 인력에게 몰렸고, 실무 담당자의 반복 작업 비용이 컸습니다.
      • 기존 레거시 업무 흐름을 유지하면서도 웹 기반 기능으로 전환해야 해, 실무 담당자와 Windows 개발자 간 요구사항 조율이 중요했습니다.
    • 역할과 판단
      • 실무 담당자의 반복 업무를 웹 기능으로 분리하기 위해 백엔드 1인 개발자로 요구사항 분석, API 설계, FastAPI 기반 서비스 구현을 주도했습니다.
      • 배포 대기와 운영 변경 부담을 줄이기 위해 AWS Kubernetes 클러스터, Docker 배포 환경, ArgoCD 기반 GitOps CI/CD 파이프라인을 도입했습니다.
      • 기존 Windows 개발자 및 실무 담당자와 요구사항을 조율하며 레거시 업무 흐름을 웹 기반 기능으로 재설계했습니다.
    • 반복 업무 웹 전환 · GitOps 배포 자동화
      • Windows 기반 ERP를 클라우드 웹 환경으로 전환하여 특정 인력 의존도를 낮추고 팀별 업무 분담과 운영 효율을 개선했습니다.
      • 반복 업무를 웹 기능으로 옮기고 처리 흐름을 자동화해 실무 담당자의 수작업 부담을 줄였습니다.
      • GitOps 기반 배포 자동화로 배포 반복 작업과 변경 공유 비용을 줄였습니다.

2023. 05 ~ 2023. 11

대규모 이메일 처리 시스템 (Mailbox Engine)
Grit Standard (백엔드 개발자)
  • 기술 스택
    AWS LambdaKafka MSKAmazon S3ElasticsearchNode.jsSpring Boot
    • 문제와 제약
      • 다중 이메일 계정의 수집/동기화 과정에서 중복 다운로드와 Elasticsearch/RDBMS 간 상태 불일치가 발생할 수 있었습니다.
      • 메일 원문 저장, 검색 인덱싱, 이벤트 처리 부하 분산을 함께 해결해야 해 서버리스 함수 간 책임 분리가 중요했습니다.
    • 역할과 판단
      • 총 11개의 Lambda 함수를 개발해 이메일 수집, 처리, 저장, 검색 흐름을 단계별로 분리했습니다.
      • 이메일 UID 상태 관리와 upsert 로직을 적용해 재처리 상황에서도 중복 저장을 방지하도록 설계했습니다.
      • Kafka MSK 기반 이벤트 파이프라인으로 컴포넌트 간 결합도를 낮추고 처리 부하를 분산했습니다.
    • 이메일 수집·동기화 자동화 · 운영 모니터링
      • 서버리스 아키텍처 기반으로 다중 이메일 계정의 수집, 동기화, 저장 흐름을 자동화했습니다.
      • S3와 Elasticsearch 기반 저장/검색 구조로 대용량 메일 데이터 처리와 검색 성능을 개선했습니다.
      • CloudWatch 로그/알람과 장애 복구 흐름을 구성해 운영 모니터링과 데이터 무결성을 강화했습니다.

OPEN SOURCE

VHS (터미널 녹화·렌더링 도구)

  • 녹화 종료 직후 GIF 출력 파일이 생성되지 않던 오류를 수정하고, 유지보수자 리뷰 후 원 저장소에 반영되었습니다. (2026.09.24)
  • 녹화·렌더링 context를 분리하고 ffmpeg 인코딩 실패를 호출자에게 반환하도록 변경했습니다. 정상 GIF 생성·ffmpeg 누락·렌더링 직전 취소를 회귀 테스트로 검증하고 go test -race ./...와 go vet ./...을 통과했습니다.
  • 관련 링크: Issue #787 · PR #788 · Release v0.12.1

CXX (Rust–C++ 연동 라이브러리)

  • 샌드박스·파일시스템 권한 제한으로 공유 헤더 경로에 파일을 쓰거나 링크를 만들 수 없을 때 발생하던 cxx-build 빌드 실패를 수정하고, 1.0.202 릴리즈에 반영되었습니다. (2026.09.12)
  • Rust와 C++ 간 안전한 상호 호출을 위한 바인딩을 생성하는 라이브러리로, Chromium과 Android Bluetooth의 언어 간 연동에 사용된 사례가 있습니다.
  • 선택적인 공유 헤더 생성 실패가 빌드를 중단하지 않도록 처리하고, OUT_DIR 안에 필수 헤더 파일 또는 링크를 확보하도록 개선했습니다. 필수 헤더 생성 실패는 오류로 유지하며 회귀 테스트 4개를 추가했습니다.
  • 관련 링크: PR #1760 · Release 1.0.202

FileBrowser (웹 파일 관리 도구)

  • 병렬 업로드 중 정상 전송이 중단되는 오류를 수정하고, 유지보수자 리뷰 후 upstream에 머지되었습니다. (2026.09.13)
  • 병렬 업로드 활동을 함께 추적하고 전체 전송이 멈춘 경우에는 기존 10초 중단 동작을 유지했습니다. 병렬 전송·전체 정체·재개 등을 다루는 회귀 테스트 9개를 추가했습니다.
  • 관련 링크: PR #2950 · Release v2.0.7-beta

Wuma Tracker

  • Windows 전용 게임 맵 트래커에 macOS 네이티브 지원을 구현하고 PR을 머지했습니다.
  • Mach API로 외부 프로세스 메모리를 읽고, Mach-O 심볼 테이블에서 _GWorld 주소를 계산해 버전별 오프셋 관리 부담을 줄였습니다.
  • 공통 pointer-chain 로직을 ProcessBackend trait으로 정리하고, 앱 서명 entitlement·ad-hoc DMG 빌드 문서를 추가했습니다.
  • 관련 링크: PR #6 · Repository

EDUCATION

2017. 03 ~ 2024. 03

대진대학교 | 졸업 | 평점 3.93/4.5
산업경영학과 / 컴퓨터공학과(복수전공)
  • 주요 과목
    객체지향 프로그래밍자바 프로그래밍데이터베이스운영체제컴퓨터 네트워크컴퓨터 알고리즘캡스톤 디자인

2014. 03 ~ 2017. 02

저동고등학교
인문계 이과

ETC

2022. 06

정보처리기사
자격증