경력기술서

임기호

백엔드 개발자

소개

업무의 의미가 드러나고, 안심하고 바꿀 수 있는 코드를 지향합니다.

비슷해 보이는 코드라도 업무에서 맡는 책임과 변경 이유를 살펴 공통화합니다. 함께 바뀌어야 하는 것은 모으고, 업무마다 달라지는 판단은 분리합니다.

테스트로 기존 업무 동작이 유지되는지 확인하며 구조를 개선합니다. 운영 중 반복되는 문제와 변경하기 어려운 부분을 찾아, 팀이 이해하고 고쳐 나갈 수 있는 코드로 다듬습니다.

AI로 구현 방법과 구조를 검토하고, 코드 작성에도 적극 활용합니다.

요구사항과 변경 범위를 먼저 정리하고, 그에 맞는 구현 방법을 선택합니다. 구현된 코드를 이해하고 의도대로 동작하는지 확인하는 것까지 제 역할입니다.

제 판단과 AI의 제안도 모두 검증합니다. 테스트 결과뿐 아니라 실제 실행과 운영 환경을 살피고, 예상과 다른 결과가 나오면 로그와 데이터를 바탕으로 원인을 다시 확인하고 판단을 바꿉니다.

지식과 경험에 따른 자신감의 변화를 그린 그래프
우매함의 봉우리를 경계하며, 모르는 것을 인정하고 계속 배우려 합니다.

경력

(주)케이더블유이코리아

디지털솔루션부 차장 (Lead Software Engineer)

2022.01 ~ 현재

국제 종합 물류 기업

항공·해운·재무 업무 시스템의 웹 플랫폼 통합을 완료하고 설계·개발·운영을 리드합니다. 현재는 해운수입 업무의 신규 전산화를 진행하고 있습니다. 3인 개발팀에서 주간 코드 리뷰와 개발 기준 정립을 담당합니다.

  • 외부 시스템 연동의 전체 구조를 설계하고 동료와 기능을 나눠 분석·구현했습니다.
  • API/Worker 실행 구조와 CI/CD를 단독으로 구성했습니다.
  • 현업과 데이터 기준을 정리하고 운영 장애의 원인을 분석해 개선했습니다.

ILJIN Global

MES 개발팀 과장 (Software Engineer)

2010.12 ~ 2022.01

베어링 제조 기업

생산관리시스템(MES)을 개발하고 운영했습니다. 국내외 공장의 MES 리뉴얼, SAP 연동, 생산·납품·재고 데이터 처리와 설비 알림 시스템을 담당했습니다.

사내 평가·포상: 2017년 과장 조기 진급 · 2020년 우수사원 선정

최근 주요 프로젝트

통관 서류 검증 자동화

(주)케이더블유이코리아

2026.06 ~ 2026.09

담당 문서 검증·선적서 작성·프리알럿 자동화 개발

Local LLM, OCR(Tesseract), Vitest

월 100~600건의 통관 업무에서 담당자마다 검토 기준이 달랐습니다. 현업과 실제 사례를 검토해 서류 9종의 55개 대조 항목과 20개 업무 규칙을 정리했습니다.

  • 파일 형식별 데이터 추출과 LLM 호출, 업무 규칙 검증을 분리했습니다. 문서별 추출 설정·예시를 관리하고 실패 사례를 분석해 누락·불일치 탐지를 개선했습니다.
  • 현업 확인 기준 통관 1건당 서류 검토 시간을 8분에서 3분으로 줄였습니다.
  • 인보이스·발주서·FDA 관련 서류에서 추출한 정보로 선적서와 프리알럿 메일 작성·서류 첨부를 자동화해 후속 업무에서 하루 약 1시간을 추가 절감했습니다.

웹 기반 통합 사내 시스템 구축

(주)케이더블유이코리아

2023.09 ~ 2026.08

담당 전체 설계·개발 리드, 현업과 기준정보 정제

Express → NestJS, Next.js, Turborepo, PostgreSQL, PL/pgSQL

핵심 담당자 두 명이 이탈한 뒤 100개 이상의 프로그램을 인계받았습니다. 기능과 데이터가 흩어져 개선이 어려워, 특정 담당자 없이도 팀이 유지보수할 수 있는 웹 플랫폼으로 통합했습니다.

  • 15종 이상의 업무 시스템을 통합하고, 본사 연동·관세청 조회 기능을 여러 부서에서 재사용하도록 했습니다. 데이터 패치 중심의 대응도 개선 요청·검토·개발 절차로 전환했습니다.
  • 5개 업무부의 거래처 약 3만 건을 현업과 정제했습니다. 같은 사업자번호의 공장별 구분 등 예외를 확인하고 글로벌 코드 매핑을 대조해 공통 식별 기준을 마련했습니다.
  • 관세청 UNI-PASS Open API의 통관 상태 확인을 본사 마일스톤 입력까지 연결해, 두 시스템을 오가던 확인·입력을 건당 약 10분에서 약 5초로 줄였습니다.

본사 시스템 연동 방식 전환과 처리 결과 검증

(주)케이더블유이코리아 · 통합 플랫폼 개선 사례

2025.06 ~ 2025.10

담당 전체 구조 설계, 동료 1명과 외부 호출 75개 공동 분석·구현

Node.js, TypeScript, HTTP, Puppeteer, Redis, PostgreSQL

하루 약 800~900건의 운송장 정보를 반복 입력하던 업무를 Puppeteer로 자동화했고, 기존 자동화 효과는 부서별 업무량·시간을 기준으로 월 약 1,200시간으로 추산했습니다. 다만 화면 로딩이 100Mbps 회선의 60~70Mbps를 점유해 HTTP 연동으로 전환했습니다.

  • 400개 이상 필드의 의미·입력 조건을 분석해 공통 로직으로 정리하고, 75개 HTTP 요청으로 비용 등록·운임 확인·마감 등 12종 업무 흐름을 전환했습니다. 코드 처리 결과와 실제 화면 입력 결과를 저장·비교해 업무 결과의 일치를 검증했습니다.
  • 새 로그인이 기존 세션을 끊는 문제는 두 서버의 Redis 세션 공유와 분산 락으로 제어했습니다. 락 획득 후 세션을 다시 확인하고, 사용자 요청과 배치에서 같은 인증 로직을 재사용했습니다.
  • 전환 후 회선 사용량은 운영에서 대체로 5Mbps 미만으로 관측됐습니다.

호출 기록 분석과 반복 조회 개선

(주)케이더블유이코리아 · 통합 플랫폼 개선 사례

2026.10

담당 호출 기록 분석·공통 조회 로직 개선

NestJS, React, Redis, PostgreSQL

전체 업무 화면의 외부 호출을 기록·분석하던 중, 항공수출 업무 화면에서는 문서·템플릿 검색이 호출의 약 94%를 차지함을 확인했습니다. 연속 행 이동 중 중간 대상까지 조회하고, 변경이 드문 템플릿을 매번 재조회하는 불필요한 호출을 개선했습니다.

  • 여러 화면에서 사용하는 첨부파일 관리 패널에 0.5초 디바운스를 적용해 마지막 선택 대상의 파일 목록만 조회했습니다. 최초 열기·명시적 새로고침은 즉시 처리했습니다.
  • 템플릿 검색은 Redis에 1시간 캐시하되 오류는 저장하지 않고, Redis 장애 시 본사 시스템을 직접 조회하도록 했습니다.
  • 해당 화면의 일일 외부 호출이 약 7천 건에서 5천 건으로 줄어 약 29% 감소했습니다.

Node.js API 서버 메모리 장애 개선

(주)케이더블유이코리아 · 통합 플랫폼 개선 사례

2026.08

담당 메모리 장애 분석과 조회 구조 개선

Node.js, V8, Prisma, PostgreSQL, 메모리 계측

OCR·Prisma 관련 조치 후에도 API 서버의 메모리 부족 종료가 반복됐습니다. 힙·RSS를 분석하고 로그·배포 버전·조회 조건을 재검토해 수만 건을 한 번에 조회·가공하는 경로를 찾았습니다.

  • 500건 단위 조회와 무한스크롤로 요청당 처리량을 제한했고, 이후 같은 장애는 재발하지 않았습니다.
  • 개선 후 응답 처리 과정을 별도로 모사해 힙 사용량(heapUsed)과 RSS를 계측했습니다. 반복 실행 시 GC 이후 힙은 누적되지 않고 RSS는 일정 범위에 수렴했습니다. 모사한 경로에서는 지속적인 누수 징후가 관측되지 않았습니다.

Docker Swarm 기반 CI/CD 표준 배포 체계 구축

(주)케이더블유이코리아

2025.11 ~ 2025.12

담당 CI/CD 설계·구축 및 후속 개선 단독 수행

GitLab CI/CD, Docker, Docker Swarm, Portainer

PM2 중심의 수동 배포에서 환경 차이·테스트 누락·이력 추적 문제를 줄이기 위해 GitLab CI/CD와 Docker Swarm 배포 체계를 구성했습니다.

  • 테스트 실패 시 빌드·배포를 차단하고, 브랜치·SHA 태그와 디제스트로 이미지를 식별해 동일 이미지를 재배포할 수 있도록 했습니다.
  • 배포 로그·아티팩트를 남기고 Portainer로 서비스·컨테이너 상태와 로그를 확인하는 모니터링 환경을 구축했습니다.
  • 2026년 9월 Kaniko에서 buildx로 전환하고 러너·캐시·변경 경로별 실행을 개선해, 테스트·빌드·배포 시간을 약 12분에서 6분으로 줄였습니다.

백엔드 서비스 리팩토링(Express → NestJS)

(주)케이더블유이코리아

2025.06 ~ 2025.10

담당 도메인 구조 정리·팀 개발 기준 정립, API/Worker 구조 단독 설계

Node.js, NestJS, Prisma, PostgreSQL, Redis, BullMQ

기능 확장으로 모듈 간 의존성과 변경 영향이 커져, NestJS 기반 도메인 모듈로 재구성했습니다. 팀 코드 컨벤션을 정리하고 단위·통합 테스트로 변경을 검증할 기반을 마련했습니다.

  • 인증·로깅 등 공통 책임을 분리하고 Redis·BullMQ를 도입했습니다. 업무 로직은 API에서 실행하고 Worker는 실행 요청·재시도를 담당하도록 나눴습니다.
  • 업무 식별 키별 PostgreSQL advisory lock과 같은 트랜잭션 내 진행 상태 확인으로 중복 작업 등록을 제어했습니다.
  • 작업별 재시도 정책과 대기·최종 실패 상태를 구분하고, 오류 원인·요청 데이터를 남겨 재실행할 수 있게 했습니다. DB와 큐의 상태가 어긋난 작업은 등록 요청 시 확인해 재등록하도록 했습니다.

RPA 프로젝트 (삼성 NERP 연동)

(주)케이더블유이코리아

2024.08 ~ 2024.12

담당 문서 검증·데이터 입력 자동화 개발

C# (.NET 4.5), WinForms, OCR, MySQL

삼성 시스템의 데이터 입력 작업에 시간이 많이 소요되어 업무팀의 야근이 빈번하게 발생했습니다. 문서 검증과 입력 과정을 자동화했습니다.

  • 실시간 처리로 입력 누락과 오입력 가능성을 줄였습니다.

세금계산서 프로그램 리뉴얼

(주)케이더블유이코리아

2023.01 ~ 2023.07

담당 업무 로직 재구현·DB 전환·데이터 이관 및 검증

C# (.NET 6), gRPC, WinForms, PostgreSQL, PL/pgSQL

Oracle Forms 기술지원 종료와 라이선스·확장 제약에 대응해 .NET 6 기반으로 리뉴얼하고 PostgreSQL로 전환했습니다.

  • 세금계산서 업무 로직을 PL/pgSQL로 재구현하고 1,000만 건의 데이터 이관을 자동화하고 정합성을 검증했습니다.
  • 스마트빌을 연동해 국세청 즉시 신고와 매입 데이터를 실시간으로 처리했습니다.

제조·MES 프로젝트

운반비 전산화 구축

ILJIN Global

2020.04 ~ 2020.07

담당 운반비 업무 전산화·SAP 연동 개발

C# (.NET 4.5), ASP.NET, WinForms, WCF, Oracle, PL/SQL

수기 작성·수작업 중심의 운반비 관리를 전산화했습니다.

  • 8개 공장의 운반비 프로세스를 전산화해 수작업을 줄이고 처리 절차를 통일했습니다.
  • SAP 연동으로 운반비를 실시간으로 처리하고 비용 투명성을 확보했습니다.

MES - SAP 연동 인터페이스 개발

ILJIN Global

2019.01 ~ 2019.12

담당 MES·SAP 실적 및 기준정보 인터페이스 개발

C# (.NET 4.5), ASP.NET, WinForms, WCF, Oracle, PL/SQL

생산·납품·재고 정보를 수작업으로 전송하고 중복 입력하면서 생기는 지연과 오류 가능성을 줄이기 위해 실시간 연동 인터페이스를 개발했습니다.

  • ERP(SAP)와 MES 사이의 생산·납품·재고 이동 데이터를 실시간으로 연동했습니다.
  • 기준정보를 자동 이관해 운영 오류와 수작업을 줄였습니다.

제천·슬로바키아 공장 MES 업그레이드

ILJIN Global

2016.04 ~ 2017.12

담당 국내외 공장 MES 리뉴얼·LOT 추적 시스템 개발

VB6 → C# (.NET 4.5), ASP.NET, WinForms, WCF, Oracle 9i → 11g, PL/SQL

VB6 기반 MES의 기술지원 종료와 컴포넌트·개발 환경 제약을 해결하기 위해 C# 기반 리뉴얼과 데이터베이스 업그레이드를 수행했습니다.

  • 제천·슬로바키아 공장의 MES를 리뉴얼했습니다.
  • LOT 단위 추적 시스템을 구축해 품질 관리 프로세스를 개선했습니다.

SPC 이상현상 알림 시스템 개발

ILJIN Global

2015.09

담당 TCP 소켓 기반 설비 알림 모듈 단독 설계·개발

VB6, Oracle PL/SQL, TCP Socket

생산 품질 이슈를 실시간으로 감지하고 알리는 SPC 시스템을 구축했습니다. 공정 설비와 연계하는 TCP 소켓 기반 알림 모듈을 단독으로 설계·개발했습니다.

  • 일평균 100만 건의 생산 데이터 환경에서 SQL로 7가지 이상 징후 판정 로직을 구현했습니다.
  • SMS와 현황판으로 알림을 전달했습니다.

기술

백엔드

Node.js, TypeScript, Express, NestJS, Prisma, Redis, BullMQ
C# (.NET Framework, .NET 6), gRPC, WCF

물류 플랫폼의 Express·NestJS 서버, Redis 기반 인증 조정과 BullMQ 배치 처리에 사용했습니다. C#은 제조 MES와 물류 업무 도구, gRPC·WCF는 시스템 간 연동에 사용했습니다.

프론트엔드

Next.js, React, React Native, Expo, WinForms

사내 웹 플랫폼과 개인 앱의 화면을 구현했습니다. WinForms로 제조·물류 업무 도구를 개발했습니다.

데이터

PostgreSQL, Oracle, MySQL, PL/SQL, PL/pgSQL

업무 로직과 인터페이스를 구현하고 Oracle → PostgreSQL 전환에서 1,000만 건을 이관·검증했습니다.

배포·운영

GitLab CI/CD, Docker, Docker Swarm, buildx, Portainer, PM2, Turborepo

초기 PM2 운영에서 컨테이너 배포로 전환하고 2026년 9월 빌드·러너·캐시를 개선했습니다.

문서 처리·검증

Local LLM, Tesseract OCR, Vitest

통관 문서의 누락·불일치 검증과 데이터 추출에 사용하고 단위·통합 테스트로 변경 영향을 확인했습니다.

개인 프로젝트

댓글 필터 (Android · Web)

React Native, Expo, TypeScript, WebView, Next.js, Transformers.js, WebLLM, Web Worker

앱 기획부터 구현과 배포까지 혼자 수행했습니다. 앱에서는 네이버 블로그 글을 WebView로 열어 온디바이스에서 댓글 가시성을 조절하고, 좋아요 기준 필터와 차단 사용자 숨김 기능을 적용했습니다.

Next.js 웹 버전에서는 Transformers.js와 WebLLM을 Web Worker로 구동해 브라우저 온디바이스에서 댓글을 분류하고 본문을 요약합니다.

HealthDog

React Native, Expo, TypeScript, Google OAuth, Firebase, Supabase, AdMob, RevenueCat

운동 기록·조회·통계 기능 중심의 앱을 혼자 개발했습니다. Google OAuth 로그인, Supabase·Firebase 데이터 저장 및 동기화, AdMob 광고와 RevenueCat 구독 결제 등 운영에 필요한 외부 서비스를 연동했습니다.

액션독: 3라인 퍼즐 (Android)

React Native, Expo, TypeScript, Google OAuth, Supabase, AdMob

3라인 매치 퍼즐 게임을 혼자 기획·개발하고 스토어에 출시했습니다. 블록 하강·매치 판정·콤보 연쇄·게임오버 등 게임 코어 엔진을 도메인 주도 아키텍처의 4계층으로 나눠 직접 설계·구현했습니다.

Google OAuth 로그인, Supabase 기반 글로벌 점수 랭킹, AdMob 광고를 연동했습니다.