이력서경력기술서

자 기 소 개 서

지원자: 김제민 (KIM JE MIN)

01.직무 경험 및 역량: 데이터 파이프라인부터 사용자 인터페이스까지

저는 대용량 시계열 데이터의 수집·처리·시각화를 아우르는 풀스택 개발자입니다. 약 3년간 에너지 분야(VPP) 플랫폼을 구축하며 KDB+ 시계열 데이터베이스, PostgreSQL, Flask/FastAPI 백엔드, Vue.js 프론트엔드에 이르는 전 계층을 직접 설계하고 운영한 경험이 있습니다.

아이온커뮤니케이션즈에서 첫 프로젝트(D1)로 전력거래소 기준서에 따른 고객 기준 부하(CBL) 계산 시스템을 개발했습니다. 한국과 일본 전력시장 규정에 맞는 7가지 CBL 알고리즘(MAX_4_5, MID_4_6, JP_STANDARD_BL 등)을 구현하고, 15분/30분/60분 단위 시계열 데이터를 KDB+ Q 언어로 조회·가공하여 수요반응 성과를 정량적으로 평가할 수 있는 시스템을 만들었습니다. 이 시스템은 이후 이아이피그리드로 이관되어 2년간 추가 운영·유지보수를 담당하며 안정적으로 서비스되었습니다.

이아이피그리드에서는 D1을 기반으로 한 D3 프로젝트를 기획 단계부터 참여하여 분산 에너지 자원의 시계열 데이터를 분석·시각화하는 플랫폼을 스프린트 단위로 개발했습니다. CSV, EIP VPP API, AWS S3 등 다양한 소스에서 데이터를 자동 수집하는 파이프라인(APScheduler 1분 주기)을 구축하고, Highcharts 기반 다중 시리즈 차트와 GridLayout 드래그앤드롭 대시보드를 구현하여 사용자가 직접 통계 보고서를 구성하고 공유할 수 있게 했습니다. PostgreSQL 스키마 설계부터 Flask REST API 30여 개 엔드포인트 개발, Vue.js 프론트엔드 UI 전체 구현, Docker 컨테이너화 및 GitHub Actions CI/CD까지 엔드투엔드로 담당했습니다.

이후 Arkn(전기차 충전소 모니터링), Amadeus(Balancing Group 분석), EnergyHub(VPP 리소스 가상 생성) 등 3개의 추가 프로젝트에서도 Vue.js 대시보드 UI와 FastAPI 백엔드를 개발하며, MBESS 배터리 실시간 충·방전량 모니터링, 지령 수행 여부 확인 UI, 전체 알림 시스템 등 에너지 도메인 특화 기능들을 구현했습니다.

02.문제 해결 사례: 비효율을 기술로 전환하는 주도성

저의 가장 큰 강점은 업무 현장의 비효율을 발견하면 직접 시스템으로 해결하는 실행력입니다. 아래 세 가지 사례가 이를 잘 보여줍니다.

[사례 1] 라벨링 품질 검수 플랫폼 개발 (ECHOIT) '국회 AI를 위한 데이터 구축' 프로젝트 초기, 3명의 검수자가 서로 다른 기준으로 데이터를 확인하며 휴먼 에러와 병목이 심했습니다. 저는 이를 시스템적으로 해결하고자 React + TypeScript + FastAPI + Supabase 기반의 '라벨링 품질 검수 플랫폼(labeling-qc.com)'을 단독으로 기획·개발했습니다. 중복 체크, JSON 포맷 오류, 필드 간 논리적 불일치 등 10가지 자동 검증 규칙을 구현하고, 대용량 ZIP 파일 일괄 처리, 라벨 프리뷰·편집, 실시간 품질 지표 대시보드까지 갖춘 종합 도구를 만들었습니다. 이를 통해 검수자들이 단순 포맷 확인에서 벗어나 외국 입법례, 정책 등 고난이도 텍스트의 문맥 검증에만 집중할 수 있게 되었고, Docker + GitHub Actions CI/CD + AWS Lightsail로 운영 환경까지 구축했습니다.

[사례 2] Flask → FastAPI 마이그레이션 (D1 프로젝트) D1 프로젝트의 CBL 계산 API는 초기 Flask 동기 방식으로 구현되어 있었습니다. KDB+ 시계열 조회와 PuLP/Pyomo 기반 ESS 최적화 스케줄링처럼 연산 시간이 긴 요청이 서버 전체를 블로킹하는 문제가 있었고, 다수 VPP의 CBL을 동시에 계산해야 하는 상황에서 병목이 심화되었습니다. 저는 자발적으로 FastAPI 비동기 구조로 마이그레이션을 진행하여 Uvicorn ASGI 서버 위에서 비동기 I/O를 활용한 동시 처리가 가능하도록 개선했습니다. SQLAlchemy 2.0 비동기 세션, APScheduler 분산 작업 워커(Gevent 기반 8개 태스크 워커) 등을 도입하여 대량의 CBL 계산 요청을 안정적으로 처리할 수 있는 구조를 만들었습니다.

[사례 3] CI/CD 파이프라인 및 배포 자동화 (D1·D3 공통) 초기에는 수동으로 서버에 접속하여 배포하는 방식이었습니다. 저는 GitHub Actions 기반 CI/CD 파이프라인을 구축하여 브랜치 push 시 Docker 이미지 자동 빌드 → Docker Hub 푸시 → 셀프 호스트 러너에서 컨테이너 실행 → AWS Elastic Beanstalk 배포 → Google Chat 알림까지 자동화했습니다. 개발·스테이징·프로덕션 환경별 설정 파일(config.dev.json, config.prod.json 등)을 분리하고, 고객사별 환경(NIPA, SK, TIS 등)도 독립적으로 관리할 수 있는 구조를 설계했습니다.

03.기술적 역량: 에너지 도메인 특화 풀스택 경험

[백엔드 & 데이터] FastAPI/Flask 기반 RESTful API 설계 및 개발, SQLAlchemy 2.0 ORM을 활용한 PostgreSQL 데이터 모델링, KDB+ Q 언어를 통한 시계열 데이터 조회·집계를 수행했습니다. Redis를 활용한 실시간 캐싱 및 Pub/Sub 알림 시스템, Elasticsearch 기반 미터링 데이터 검색, AWS S3 연동 데이터 저장소를 구축한 경험이 있습니다. PuLP와 Pyomo를 사용하여 ESS 배터리 충·방전 최적화를 선형 프로그래밍(LP)으로 구현하고, Pandas/NumPy/Scikit-learn으로 데이터 전처리 및 고객 클러스터링(K-Means, DBSCAN) 분석을 수행했습니다.

[프론트엔드] Vue 2/3 + Quasar/Bootstrap Vue로 에너지 모니터링 대시보드를 다수 구현했습니다. Highcharts를 활용한 시계열 차트(라인, 바, 영역, 산점도), Pinia/Vuex 상태관리, Vue I18n 다국어 지원, GridLayout 드래그앤드롭 대시보드 등을 개발했습니다. 최근에는 React + Next.js + TypeScript + Tailwind CSS 기반 모던 프론트엔드를 적극 활용하고 있으며, 특히 개인 프로젝트 'Refine'에서 Next.js 16 + React 19 + Supabase + Google Gemini AI를 결합하여 PWA 북마크 매니저를 구축하고, 100개+ 플랫폼 자동 인식·메타데이터 스크래핑, Share Target API 기반 네이티브 공유 경험, Vitest 46개 테스트까지 갖춘 프로덕션 레벨 앱을 운영 중입니다.

[인프라 & DevOps] Docker 컨테이너화 및 docker-compose 기반 서비스 오케스트레이션, GitHub Actions CI/CD 파이프라인(빌드 → 테스트 → Docker Hub → 배포 → 알림), AWS 인프라 운영(EC2, Elastic Beanstalk, RDS, S3, Route53, Lightsail, SES) 경험이 있습니다. dev/staging/prod 환경 분리 및 고객사별 독립 설정 관리 체계를 설계하여 다중 환경 배포를 안정적으로 운영했습니다.

04.성장 과정 및 가치관: 끝없는 호기심과 빠른 실행력

비전공자(경영학 학사)로 시작했지만, 데이터와 소프트웨어의 가능성에 흥미를 느껴 'AI를 활용한 빅데이터 분석 플랫폼 개발 전문가 과정'과 '아이온커뮤니케이션즈 채용확정형 교육과정'을 연달아 이수하며 개발자의 길에 뛰어들었습니다. 입사 직후부터 전력거래소 기준서 기반 CBL 알고리즘이라는 난이도 높은 도메인 로직을 Python으로 구현하며, 에너지·전력 도메인의 전문 지식을 빠르게 습득했습니다.

경영학적 마인드는 오히려 '사용자 중심'과 '비즈니스 가치 창출'이라는 명확한 목표를 가지고 개발에 임하는 장점이 되었습니다. 코드를 짜는 것에 그치지 않고, 이것이 실제 현업에서 어떤 비효율을 줄여주고 비용을 절감하는지 고민합니다. D3 프로젝트에서 기획 단계부터 스프린트 단위 개발을 주도하고 프로세스 문서를 작성한 것도 이러한 관점에서 비롯되었습니다.

새로운 기술 스택에 대한 두려움이 없습니다. 회사에서는 Vue.js + Flask/FastAPI + KDB+ 조합을, 개인 프로젝트에서는 React + Next.js + TypeScript + Tailwind CSS 조합을 사용하며 양쪽 생태계를 모두 경험하고 있습니다. 가장 최근 개인 프로젝트인 'Refine'에서는 Google Gemini AI를 실서비스에 연동하여 링크 자동 분류·요약·태그 추출을 구현하고, PWA Share Target API로 네이티브 앱 수준의 사용자 경험을 만들었으며, Vitest로 46개 테스트를 작성하여 코드 품질을 관리하고 있습니다. '라벨링 QC 플랫폼'을 React + Vite + FastAPI + Docker + AWS Lightsail로 실제 서비스까지 운영하고, '뜬뜬' 팬 커뮤니티를 Next.js 15로 풀스택 구축한 경험까지, 개인 프로젝트를 통해 기술적 범위를 지속적으로 넓히고 있습니다.

05.지원 동기 및 입사 후 포부: 데이터와 서비스를 잇는 튼튼한 다리

AI 모델이나 복잡한 비즈니스 로직이 아무리 뛰어나도, 결국 그 가치는 신뢰할 수 있는 데이터 파이프라인과 사용자가 직관적으로 다룰 수 있는 인터페이스가 뒷받침될 때 비로소 완성된다고 생각합니다. 3년간 에너지 플랫폼에서 KDB+ 시계열 데이터 최적화부터 Vue.js 대시보드 구현까지 전 계층을 경험하며 체득한 이 믿음은, 어떤 도메인에서든 동일하게 적용됩니다.

입사하게 된다면, 제가 가진 풀스택 개발 경험—PostgreSQL/KDB+ 데이터베이스 설계, FastAPI/Flask RESTful API 구축, Vue.js/React 기반 데이터 시각화 대시보드, Docker + CI/CD 배포 자동화—을 십분 발휘하겠습니다. 에너지 도메인에서 다국가 전력시장 규정을 코드로 구현하고, 검수 현장의 비효율을 자동화 플랫폼으로 해결하고, AI API를 프로덕션 서비스에 안정적으로 연동한 것처럼, 어떠한 도메인의 문제라도 기민하게 파악하고 시스템으로 풀어내는 '가장 든든하고 신뢰할 수 있는 소프트웨어 엔지니어'가 되겠습니다.