~/yeinkeem

김예인

Backend / Platform Engineer

백엔드 6년차입니다. Java/Spring 기반으로 공공 업무 시스템과 세무 SaaS 신규 플랫폼을 개발해왔고, 복잡한 도메인 요구사항을 API와 운영 가능한 구조로 풀어내는 일을 해왔습니다. 현재는 더존테크윌에서 도메인 API, API Gateway 인증/권한 구조, 사내 공통 Spring Boot Starter, Kubernetes GitOps 파이프라인을 담당하고 있습니다.

Skills

Backend
Java 21Spring Boot 3.3Spring CloudSpring SecuritySpring Cloud GatewayOpenFeignJPA / HibernateQueryDSLMyBatis
Identity / Auth
OAuth2 / OIDCJWT (RS256)JWKSLDAP
Platform / DevOps
KubernetesArgoCDJenkinsKustomizeNGINX IngressStakater ReloaderJibGitOps
Database / Storage
OraclePostgreSQL (pg_trgm)MySQLCaffeine (in-memory cache)HikariCP
Observability
Elastic APMFilebeat → Elasticsearchlog4j2 JSONSpring Boot Actuator
Build / Release
Gradle (multi-module)Maven PublishSonatype NexusGiteaSemVer
Approach
ADR (Architecture Decision Records)Strangler FigBuild Once, Deploy ManySpring Boot Starter / Auto-Configuration

Experience

2023.04 — 재직 중 · 3년 2개월

주식회사 더존테크윌

주임 / 서비스개발본부 · 개발1팀

레거시 PHP 기반 세무 정보 서비스를 Spring Boot 3.3 + Spring Cloud 기반 마이크로서비스로 재구축하는 프로젝트에 참여. 도메인 API, API Gateway 인증/권한 구조, 사내 공통 Spring Boot Starter, Kubernetes 기반 GitOps 파이프라인, 관측성 기반을 담당.

  • 도메인 API · 레거시 Oracle 분석. 법령·판례·세무자료 등 변경 이력이 있는 콘텐츠와 연관 자료를 조회하는 도메인 API 설계·구현. 신규 API 작업 전 다년간 누적된 레거시 Oracle 스키마 분석·도메인 문서화 선행. 레거시 DB는 유지한 채 API 계층만 점진 분리(Strangler Fig), 검색성 조회는 PostgreSQL(pg_trgm) 기반으로 분리. Spring REST Docs로 API 문서 자동화.
  • API Gateway · 인증/권한 구조 재설계. Spring Cloud Gateway 기반 라우팅, IdP(별도 담당)가 발급한 RS256 JWT 검증·헤더 변환, Resilience4j Circuit Breaker 구성. Gateway가 모든 자원의 권한 정책을 알아야 했던 초기 결합을 끊고, 인증은 Gateway·인가는 자원 서비스가 맡도록 책임 경계를 재설계. 권한 어휘는 사내 공통 라이브러리 enum 한 곳으로 단일화. 운영자 인증은 LDAP으로 분리(IdP는 외부 고객 전용). [ADR-0004 ~ 0006]
  • 사내 공통 Spring Boot Starter · GitOps · 관측성. core/data/web/starter 4 모듈 Auto-Configuration 라이브러리, 응답·예외·BaseEntity·QueryDSL 헬퍼·보안 컴포넌트 제공. Jenkins(Build) + ArgoCD(Deploy) 기반 GitOps로 전환, dev/staging/prod 동일 immutable 이미지 promotion(Build Once, Deploy Many). log4j2 JSON → Filebeat → Elasticsearch + Elastic APM으로 중앙 로그 수집·관측성 파이프라인 구축.
  • 캐시 · 운영 안정화. 마스터 코드 캐시 콜드스타트를 사용자가 체감하지 못할 수준으로 단축(ApplicationReadyEvent 워밍업 빈 분리로 Spring AOP self-invocation 회피). G1GC + cgroup 인지 힙 제한으로 Full GC 빈도 감소. RollingUpdate, HPA, startupProbe·livenessProbe 튜닝, Reloader 기반 ConfigMap 갱신 자동 재시작.
2022.01 — 2023.04 · 1년 4개월

국세청 NTIS 업무공통(송달) 유지보수

백엔드 개발 / 플랫폼팀 (대내 업무공통)
㈜아이티센글로벌 (2022.01–02) · ㈜더존테크윌 (2022.03–2023.04)

국세청 NTIS 대내 업무 시스템의 송달 영역 백엔드. 납세고지서·안내문을 우편·SMS·EMAIL·카카오 알림톡으로 발송하는 부분. 스택은 Java + 전자정부프레임워크 + MySQL.

  • 근로장려금, 종합소득세 등 시즌별 업무에 맞춰 납세자에게 대량으로 고지서·안내문을 발송하는 배치 개발·유지보수. 발송 시즌의 결과 확인 및 누락·실패 건 대응 포함.
  • 우편 발송 시스템 및 카카오 알림톡 API 연동 부분 기능 개선·유지보수.
2021.04 — 2022.01 · 10개월

국세청 학자금상환 시스템 고도화

백엔드 개발 / 대내 업무공통 파트
서림정보통신주식회사

학자금상환 시스템 고도화 프로젝트의 대내 업무공통 파트. 다른 서비스에서 호출해서 쓰는 공통 조회 API·라이브러리 개발. 스택은 Java + 전자정부프레임워크 + WebSquare.

  • 주소 조회, 청사(조직) 조회, 납세자 조회, 내부 구성원 조회 등 여러 서비스에서 공통으로 호출하는 마스터 데이터 조회 API·공통 라이브러리 개발·유지보수.
  • Oracle 기반 조회 로직 설계·구현. WebSquare 화면과 백엔드 API 연동.

Selected Work

신규 SaaS 플랫폼 — 레거시 모놀리스 재구축

레거시 PHP 모놀리스 → Spring Boot 기반 마이크로서비스

2025 — 진행 중

DB는 동결한 채 API 계층만 점진 이관하는 Strangler Fig 패턴. Gateway · IdP · 도메인 서비스 등 책임 단위로 분리하고, Gateway는 인증, 자원 서비스는 인가, IdP가 토큰 발급/리프레시를 책임지도록 경계 정리.

Spring Boot 3.3Spring Cloud 2023OraclePostgreSQL

related · ADR-0003 점진적 MSA 이관

사내 공통 Spring Boot Starter

core / data / web / starter 4 모듈 Auto-Configuration 라이브러리

2025 — 진행 중

응답·예외·BaseEntity·QueryDSL 헬퍼·BCrypt/RSA/Jasypt 보안 컴포넌트·메타 어노테이션 제공. 사내 Nexus에 dev=SNAPSHOT / main=RELEASE(immutable) 자동 분기. 신규 서비스 부트스트랩 시간 단축 + 응답·예외 포맷 일관성 + 보안 정책 중앙 관리.

Spring Boot StarterGradle multi-moduleNexusSemVer

related · ADR-0001 사내 공통 스타터 라이브러리 도입

GitOps 파이프라인 — Build Once, Deploy Many

Jenkins + SSH 배포 → ArgoCD pull 방식 GitOps 자동 배포

2026 — 진행 중

환경별(dev/staging/prod) 클러스터에 각각 ArgoCD를 두고 단일 manifest repo를 pull 방식으로 동기화. 빌드 1회 후 dev → staging → prod 동일 immutable 이미지 promotion. Jenkinsfile은 환경별·라이브러리별로 분리. startupProbe·HPA·Stakater Reloader로 무중단 운영. 클러스터 재구축 시 발생한 이슈는 증상·원인·해결 포맷과 재구축 체크리스트로 문서화.

KubernetesArgoCDJenkinsKustomizeJibNGINX Ingress

related · ADR-0007 GitOps 도입

Architecture Decisions

주요 의사결정은 ADR로 남기고 있습니다. 대표 ADR은 아래와 같습니다.

  • ADR-0001

    사내 공통 기능을 Spring Boot Starter로 제공

    #platform #standardization

    Accepted
  • ADR-0003

    DB는 그대로 두고 API만 재설계하는 점진적 MSA 이관

    #msa #strangler-fig #legacy

    Accepted (진행 중)
  • ADR-0004

    인증/인가 책임 경계 재정의 — Gateway는 인증, Service는 인가

    #authorization #gateway #idp

    Proposed
  • ADR-0007

    GitOps 도입 — Jenkins(Build) + ArgoCD(Deploy)

    #gitops #cicd #kubernetes

    Accepted
  • ADR-0008

    중앙 로그 수집 — Filebeat DaemonSet → Elasticsearch 직결

    #observability #logging

    Accepted

전체 ADR → github.com/yeinkeem/architecture-decisions

Education & Certifications

2013 — 2019

전남대학교

학사 / 경영학

Certifications

2017.12

전산세무 2급

한국세무사회

2017.11

전산회계 1급

한국세무사회

2018.04

컴퓨터활용능력 1급

대한상공회의소