백엔드 소프트웨어 엔지니어

김재근

+82 01098641772
to@geun.me

백엔드·AI·DevOps를 함께 설계하는 소프트웨어 엔지니어입니다. Java/Spring Boot와 Python/FastAPI 기반 백엔드 개발을 중심으로, 데이터 파이프라인·LLM/RAG 서비스·Kubernetes GitOps 배포 환경까지 구축해 왔습니다. 기능 구현에 그치지 않고 대용량 데이터 처리, 운영 자동화, 서비스 안정성 개선까지 고려해 실제 운영 가능한 시스템을 만들어 왔습니다. 새로운 기술을 빠르게 학습하고, 팀과 협업하며, 문제를 해결하는 것을 즐깁니다.

Backend
Java, Spring Boot, JPA, MyBatis
Python, FastAPI, SQLAlchemy
AI / Data
Airflow, MLflow, TimescaleDB, PostgreSQL, pgvector
DevOps
Docker, Kubernetes, Helm, ArgoCD, GitLab Runner, GitHub Actions
Frontend
JavaScript, TypeScript, React, Next.js, Vite, Zustand, TanStack Query
Cloud
AWS, NCP

디딤

팀원 · 기업부설연구소 DX센터 개발2팀
2023.04. - 재직 중 (3년 3개월 | 정규직)

디딤 기업부설연구소 DX센터 개발2팀에서 AI·BigData·Cloud Managed 서비스의 신규 개발과 운영 유지보수를 담당했습니다. Spring Boot, FastAPI, Next.js, .NET 기반 신규 서비스를 요구사항 분석부터 설계·개발·배포까지 수행했으며, PHP·ASP.NET 기반 레거시 시스템도 안정적으로 유지보수했습니다. 시계열 모니터링 데이터 수집, ML 예측, 자연어 요약 API를 구축하고 대용량 데이터 처리 안정성을 개선했습니다. RAG 문서검색, AI 문서생성/요약, 챗봇, STT/TTS 등 LLM 기반 SaaS 기능을 개발했습니다. 사내 GitLab 서버를 구축 및 운영하여 기존 FTP 수동 배포와 SVN 기반 형상관리 환경을 Git 중심의 개발 프로세스로 전환하고, Formatter·Linter 적용으로 코드 품질 관리와 개발 문화를 개선했습니다. LLM Coding Agent(Claude, Codex, Gemini CLI)를 도입·활용하여 개발 생산성을 높이고, 조직의 AX 전환에도 기여했습니다.

DidimIO

디딤
2026.03. - 진행 중

DidimNow System 모니터링 데이터를 활용한 메트릭 예측·분석 서비스입니다. 약 1,000만 건/일 규모 관제 데이터를 TimescaleDB에 수집·동기화하고, Airflow·MLflow 기반 학습/예측 파이프라인과 LightGBM·TimesFM 실시간 예측 API를 개발했습니다. 실시간 추론 응답 30~80ms 수준을 확보하고, Helm·ArgoCD 기반 GitOps로 개발/운영 자동 배포 환경을 구성했습니다.

Go · Echo · Python · FastAPI · Airflow · MLflow · PostgreSQL · TimescaleDB · Kubernetes · GitLab Runner · ArgoCD · Helm · Istio

핵심 성과

담당업무

데이터 수집 (Go)

모니터링 관제 시스템에서 클라우드 리소스 메트릭과 메타데이터를 수집하는 배치 오케스트레이터를 개발했습니다. 세마포어 기반 동시성 제어(최대 100개 Observer 병렬 수집)와 단위 배치 처리로 일 단위 약 1,000만 건의 시계열 데이터를 TimescaleDB에 수집·동기화하고, 시계열 조회 인덱스 설계와 부분 실패 허용·자동 복구 메커니즘으로 조회 성능과 안정성을 확보했습니다.

ML 파이프라인 (Python / Airflow / MLflow)

메트릭 추출 / 모델 학습 / 예측 / 스케일링 추천을 Apache Airflow로 오케스트레이션하는 파이프라인을 구축했습니다. lag·rolling 등 시계열 피처를 엔지니어링하고, 다중 Horizon LightGBM 모델을 매주 자동 재학습·무중단 배포하도록 자동화했습니다.

API 서빙 (Python / FastAPI)

LightGBM·TimesFM 2종 모델의 실시간 다중 horizon 예측과 TimescaleDB 시계열 조회, 예측한 데이터를 기반으로 OpenAI API를 통해 자연어 형태의 요약 보고서를 서빙하는 REST API를 개발했습니다. 실시간 추론 응답시간 30~80ms를 달성하고, 모델 부분 실패 격리·무중단 재로드와 IP Allowlist·Rate Limit·구조화 로깅 등 운영 미들웨어로 서빙 안정성을 확보했습니다.

배포 인프라 (Kubernetes / Helm / ArgoCD)

플랫폼 전체를 Helm 차트로 패키징하고, GitLab CI를 이용한 Helm 차트 검증 파이프라인과 values 변경 시 1~2분 내 자동 동기화를 통해 개발/운영 2개 클러스터에 ArgoCD GitOps로 자동 배포하는 인프라를 설계 및 체계를 구축했습니다.

DidimAMP

디딤
2024.07. - 2024.09. (3개월)

RAG 문서관리, AI 채팅, 문서 생성/요약, STT/TTS 기능을 제공하는 기업용 LLM 어시스턴트 SaaS입니다. pgvector 기반 벡터 검색, PDF/DOCX/HWP 문서 처리, LangGraph 기반 AI Agent, Redis Queue 비동기 벡터화 파이프라인을 구현했습니다. Helm·ArgoCD 기반 GitOps로 개발/운영 자동 배포 환경을 구성했습니다.

React 18 · TypeScript · Vite(SWC) · Zustand · Python 3.11 · FastAPI · SQLAlchemy 2.0 · Alembic · PostgreSQL · pgvector · LangChain · LangGraph · LlamaIndex · NAVER HCX · Redis Queue(RQ) · APScheduler ·

JWT · Argon2 · Docker · Kubernetes(NKS) · Helm · ArgoCD · GitLab CI · Container Registry · Object Storage

핵심 성과

담당업무

웹 콘솔 (React · TypeScript · Vite)

RAG 문서 관리·도메인 관리·AI 어시스턴트 채팅을 제공하는 운영 콘솔을 React + TypeScript SPA로 개발했습니다. Zustand 기반 상태 관리와 React Router로 화면을 구성하고, FormData 기반 문서 업로드와 상태(업로드중·완료·실패) 표시 UI를 구현했습니다. 챗봇 응답은 Fetch ReadableStream + async generator로 SSE 스트리밍을 받아 토큰 단위로 실시간 출력되도록 처리했고, JWT를 쿠키에 보관해 사내 서비스인 DSM(DidimSaasMaker) 포털 SSO와 연동되는 인증 흐름을 구성했습니다.

AI 어시스턴트 API (FastAPI · LangChain · LangGraph)

RAG 검색·문서 생성/편집·문서 요약·멀티태스크(채팅·분류·요약)를 도메인별 라우터로 분리한 FastAPI 비동기 서버를 개발했습니다. LangGraph 기반의 그래프형 에이전트(검색·문서생성·요약·대화)로 LLM 오케스트레이션을 모듈화하고, NAVER HCX LLM·임베딩을 1차로, HuggingFace 임베딩을 폴백으로 두는 구조로 구성했습니다. Pydantic v2로 요청·응답 스키마를 타입 안전하게 검증했습니다.

RAG·벡터 검색 파이프라인 (pgvector · LlamaIndex · NAVER CLOVA OCR)

PostgreSQL + pgvector 벡터스토어 위에 문서 임베딩·유사도 검색 파이프라인을 구축했습니다. PDF 텍스트 추출(pdfplumber·PyMuPDF)과 CLOVA OCR, RAPTOR 계층 인덱싱·청킹(토큰 단위, 오버랩 설정)으로 한국어 문서(PDF·DOCX·HWP) 처리를 구현하고, NCP Object Storage(S3 호환)에 원본·생성·검색 문서를 분리 저장했습니다. 멤버별 스키마와 벡터 컬렉션을 분리해 멀티테넌시를 보장했습니다.

인증·인가 및 멀티테넌시 (JWT · SQLAlchemy 2.0 · Argon2)

PyJWT 기반 액세스(30분)·리프레시(30일) 토큰 체계와 JWT 인증 미들웨어(공개 경로 화이트리스트)를 구현하고, RAG·채팅 권한 플래그로 기능별 인가를 분리했습니다. 비밀번호는 Argon2 해싱으로 저장하고 로그인 단계의 SQL 인젝션을 방어했습니다. SQLAlchemy 2.0 ORM + Alembic 마이그레이션 위에서 멤버별 스키마를 분리하고, 커넥션 풀링으로 운영 안정성을 확보했습니다.

비동기 작업 처리 (Redis Queue · APScheduler)

문서 벡터화·콘텐츠 생성처럼 시간이 오래 걸리는 작업을 Redis Queue(RQ) 기반 백그라운드 잡으로 분리해, S3 다운로드·PDF 처리·임베딩을 비동기로 수행하도록 설계했습니다. dill 직렬화로 복합 객체를 큐잉하고 RQ Dashboard·RQ Exporter로 작업 모니터링·Prometheus 메트릭을 노출했습니다. APScheduler 크론 배치로 7일 경과 AI 생성 이력을 자동 정리해 운영을 자동화했습니다.

DidimOCM

디딤
2024.10. - 2024.11. (2개월)

DidimNow에 등록된 서버의 접속정보를 확인할 수 있는 사내 엔지니어용 서버 접근통제·계정 관리 콘솔입니다. MS Entra ID OAuth 인증 및 HR 데이터를 이용한 인가, 서버 Agent와의 AES 암호화 통신, 사내 HR 시스템·DidimNow 데이터 동기화 배치를 개발 및 유지보수했습니다.

Java 17 · Spring Boot 3.3 · Spring Security · Spring Data JPA · MyBatis · Thymeleaf · WebFlux(WebClient) · PostgreSQL · Azure Entra ID(OAuth2) · NCP Outbound Mailer · Docker · GitLab CI · Container Registry

핵심 성과

담당업무

관리 콘솔 (Web / Spring Boot · MyBatis · Thymeleaf)

서버·서버계정·OTP·보안그룹·메뉴·인사정보를 관리하는 운영 콘솔을 Spring MVC + REST API 구조로 개발했습니다. 서버별 OTP 사용·주기 설정, 계정 생성/삭제/권한 부여(Root·Subroot 등), 북마크·사용자 활동 로그 등 핵심 운영 기능을 MyBatis(PostgreSQL) 기반으로 구현해 서버 OTP 접근통제 운영을 화면 단에서 일원화했습니다.

인증·인가 및 자격증명 보안 (Spring Security · Azure Entra ID)

Azure Entra ID OAuth2 연동과 JWT 파싱 기반의 폼 인증을 구현하고, URL·계정 그룹·보안 그룹을 조합한 다층 인가 모델을 설계했습니다. 서버 비밀번호·OTP 코드 등 민감 정보는 AES 암호화로 저장·전송하고, 세션 고정 보호·단일 세션 정책 등 운영 보안을 적용해 서버 접근 보안을 강화했습니다.

모니터링 에이전트 연동 (WebFlux / WebClient)

Didim 모니터링 에이전트와 OTP 명령을 AES 암호화 통신으로 연동하는 비동기 클라이언트를 개발했습니다. NCP Outbound Mailer를 통한 OTP 코드·알림 메일 발송을 HMAC-SHA256 서명 기반 REST 연동으로 구현했습니다.

데이터 동기화 배치 (Spring Data JPA · Spring Scheduler)

사내 HR DB와 DidimNow의 이중 데이터소스 구조에서, 인사 데이터 7종(부서·직위·직책·사원·소속·휴일·사용자그룹)을 3시간 주기로, DidimNow API 데이터 4종(파트너·멤버·서버·서버계정)을 30분 주기로 OCM에 단방향 동기화하는 스케줄 배치를 구축했습니다. UPSERT·고아 레코드 삭제로 정합성을 보장하고, WebClient 재시도(3회 백오프)·행(hang) 태스크 감지·HTML 장애 메일 알림으로 무인 운영의 안정성과 장애 대응을 자동화했습니다.

배포 인프라 (Docker / GitLab CI)

Web·Batch를 멀티스테이지 Docker 이미지로 패키징하고, GitLab CI로 dev/prod 브랜치별 빌드·배포 파이프라인을 구성해 Container Registry로 자동 배포되는 구조를 구현했습니다.

DidimIAM

디딤
2023.12. - 2023.12. (1개월)

서비스·리소스·권한 3계층 모델과 비트마스크 권한 체계를 설계하여 서비스 및 리소스별 권한을 통합 관리하는 시스템입니다. Next.js 기반 관리 콘솔, FastAPI·AWS Lambda 기반 서버리스 API, Microsoft Graph 기반 조직 동기화 및 감사 로깅 기능을 개발 및 유지보수했습니다.

TypeScript · Next.js 14(App Router) · React 18 · Redux Toolkit · Ant Design · Server Actions · Python 3.10 · FastAPI · Mangum · Pydantic · PyMySQL · MySQL(Aurora RDS) · Microsoft Entra ID(OAuth2) · Microsoft Graph API · AWS Lambda · KMS · CloudWatch · Docker · GitLab CI · ECR

핵심 성과

담당업무

관리 콘솔 (Web / Next.js 14 · Redux Toolkit)

서비스·리소스·권한·권한그룹·사용자권한·조직도·감사로그를 관리하는 운영 콘솔을 Next.js 14 App Router + Server Actions 구조로 개발했습니다. 권한 부여/회수, 권한그룹 구성, 사원별 권한 매핑 등 핵심 운영 기능을 화면 단에서 일원화하고, 검색·필터 상태는 Redux Toolkit으로 전역 관리했습니다. 조직도는 계층 구조로 구현해 부서를 선택하면 소속 사원과 권한을 함께 다룰 수 있도록 설계했습니다.

권한 모델 설계 (Service · Resource · Permission 3계층 / 비트마스크)

Microsoft Entra ID OAuth2 Authorization Code Flow 기반 SSO 로그인을 프론트·백엔드 양단에서 구현했습니다. ID Token(JWT)에서 사용자 식별자를 추출해 access/refresh 토큰을 저장하고, 만료 전 무중단 토큰 자동 갱신을 처리했습니다. 모든 API 요청에 사번·클라이언트 IP·Bearer 토큰 헤더를 실어 서버에서 권한을 검증(미보유 시 403)하고, 서비스별 White IP 허용 정책으로 접근 범위를 제어했습니다.

서버리스 API (FastAPI · AWS Lambda · MySQL)

FastAPI + Mangum 조합을 AWS Lambda 컨테이너 이미지로 패키징한 서버리스 백엔드를 구축했습니다. 인증·사용자·서비스·리소스·권한·권한그룹·로그·조직 도메인의 REST API를 라우터/모델/쿼리 레이어로 분리해 개발하고, Pydantic으로 요청 검증, Raw SQL 헬퍼로 INSERT/부분 UPDATE를 자동 생성했습니다. 공통 페이지네이션과 명시적 트랜잭션(commit/rollback) 처리로 대량 데이터 조회·갱신의 정합성을 확보했습니다.

조직 동기화 & 감사 로깅 (Microsoft Graph · BackgroundTask)

Microsoft Graph API로 전사 사원 정보를 조회해 IAM 조직 데이터로 단방향 동기화하는 배치를 구현하고, 부서 계층은 재귀 빌드 및 하위 사원까지 조회하도록 처리했습니다. 모든 권한 변경 등 관리 작업은 작업자·IP·일시와 함께 감사 로그로 자동

기록하고, HTTP 미들웨어에서 요청/응답 전반을 BackgroundTask로 비동기 적재해 운영 추적성을 확보했습니다.

배포 인프라 (Docker · GitLab CI · AWS)

Web은 Next.js standalone 멀티스테이지 Docker 이미지로, API는 Lambda 런타임 컨테이너 이미지로 패키징하고, GitLab CI로 dev/prod 환경별 빌드·배포 파이프라인을 구성해 AWS ECR로 자동 배포되는 구조를 구현했습니다. 운영 환경의 민감 환경변수는 AWS KMS로 복호화하고, 콘솔 요청 로그는 CloudWatch Logs로 중앙 수집했습니다.

DidimNow

디딤
2023.04. - 진행 중

파트너·고객사가 서버·클라우드·보안·모니터링을 통합 운영하는 MSP 및 통합 운영·모니터링 서비스입니다. .NET Framework·PHP 기반 레거시 관제 서비스를 유지보수하고, AWS·KT Cloud·NCP·NHN Cloud·Azure 등 멀티 CSP 연동과 .NET 8 기반 OpenAPI를 개발 및 유지보수했습니다.

C# · PHP · jQuery · .NET Framework 4.8 · ASP.NET WebForms · ADO.NET · .NET 8 · ASP.NET Core Web API · MS SQL Server

핵심 성과

담당업무

레거시 백엔드 CSP 연동 유지보수 (.NET Framework 4.8 · ASP.NET WebForms)

AWS·KT Cloud·NCP·NHN Cloud·Azure 등 멀티 CSP의 REST API를 AccessKey/SecretKey 기반으로 호출하는 백엔드를 유지보수했습니다. 인스턴스 생성/조회/제어, 디스크·스냅샷, VPC·네트워크, 로드밸런서, 과금 조회 등 CSP별 기능 연동과 신규 CSP·API 변경 대응, 장애 대응을 담당했습니다.

레거시 콘솔 CSP 화면·게이트웨이 유지보수 (PHP · Javascript · jQuery)

멀티테넌트 콘솔에서 CSP 계정·서버·스토리지·네트워크·로드밸런서·CDN 등을 관리하는 클라우드 화면과, 콘솔 요청을 백엔드로 중계하는 API 게이트웨이를 유지보수했습니다. 사용자 유형별 권한 처리와 AES 암호화 기반 파라미터 통신을 유지하며 CSP 연동 기능 개선·버그 수정을 수행했습니다.

멀티 CSP 통합 모니터링 OpenAPI 개발 (.NET 8 · ASP.NET Core)

여러 CSP에 흩어진 서버 메트릭을 외부 클라이언트가 단일 규격으로 조회하는 개방형 모니터링 API를 .NET 8 기반으로 설계부터 배포까지 단독 개발했습니다. 표준 응답 포맷 · Swagger/Scalar 문서화를 갖춘 OpenAPI 형태로 설계하고, KTC·NCP·NHN 등 CSP명 내부 컴포넌트 코드 양방향 매핑과 다중 CSP 필터링을 구현했습니다. Dapper로 SQL Server·PostgreSQL 이중 프로바이더를 구성하고, 모니터링

서버에서 CPU·메모리·스토리지·네트워크 메트릭을 HttpClient로 비동기 수집해 CSP별로 정규화·중계했습니다.

멋쟁이사자처럼

사설 교육 | LikeLion

Backend School - Java 백엔드 개발자 양성 과정

2022.09. - 2023.02. (수료)

중소벤처기업진흥공단

사설 교육 | Yeardream

School - AI / BigData 개발자 양성 과정

2022.03. - 2022.12. (수료)

강원대학교

대학교(학사) | 기계의용공학
2015.03. - 2022.02. (졸업)