미리보기
기본 정보

새로운 도전을 좋아하는 소프트웨어 엔지니어 정규호입니다.
경력
카카오페이
팀원 | 인슈어런스클랜 | 재직 중
2022.12. ~ 재직 중 (3년 3개월)
인슈어런스클랜은 카카오페이의 병원비 청구, 마이데이터 보험 자산을 기반으로 한 요약 및 보장내용 분석, 보험 상품 비교 등의 서비스를 제공합니다.
마이데이터 보험, 보험 비교추천, 내차관리 서비스를 개발 및 운영하였습니다. 복잡한 보험 도메인 구조를 공통화 등의 설계를 통해 관리하였습니다. 보험플랫폼 조직이 신설된 후, 서비스에서 사용하는 보험 도메인과 데이터 파이프라인 설계 및 개발을 진행하였습니다.
서비스의 성장과 기술적 완성도 양쪽에 관심을 가지고, 한 명의 프로덕트 제작자로서 오너십을 가지고 업무를 진행하였습니다. 사용자 관점에서 더 나은 UI/UX에 대해 고민하고, 불편한 점을 다방면에서 건의 및 개선하였습니다. 기술적 부채를 주도적으로 맡아 처리하며, 지속 가능한 서비스가 되도록 꾸준히 관리하였습니다. 지식과 경험을 기술 블로그 글 기고 등을 통해 팀 내외 동료들과 공유하였습니다.
IBM Korea
Application Developer | IBM Consulting
2021.12. ~ 2022.12. (1년 1개월)
삼성전자 수원사업장에서 파견 근무하였습니다. 약 6개월의 SI 프로젝트 (2022.05 ~ 2022.11) 및 SM 프로젝트 (2022.01 ~ 2022.05)에 참여하였습니다.
주어진 상황에서 할 수 있는 최선의 선택을 하고자 하였습니다. 테스트코드 작성을 통해 잦은 기획 내용 변경에 수월하게 대응하거나, 품질 좋은 코드를 작성하도록 노력하였습니다.
기술 스택
Spring, Kotlin, JUnit, MySQL, DDD, TDD, kotlinx.coroutines, Kafka
프로젝트
건강관리 서비스 데이터 서빙 설계
카카오페이 인슈어런스클랜
2025.06. ~ 2025.12.
인슈어런스클랜 내 서비스 조직에서 런칭한 건강관리 서비스에서 활용할 수 있도록 데이터 적재 및 서빙 구조를 설계하였습니다.
건강관리 서비스는 국민건강보험공단으로부터 사용자의 건강검진 데이터를 조회하여 적재하고 이를 활용합니다. 데이터의 재사용성 확보 등을 위해, 이를 적재 및 제공하는 구조를 설계하였습니다. 또한, 필요한 때 이를 파기하는 구조도 함께 설계하였습니다.
데이터 적재 및 파기를 관리하기 위한 kafka event publish, consume 구조 설계
1 : N : M 구조의 데이터를 쉽게 식별할 수 있도록 구조 설계
적재 상태 및 적재한 데이터를 쉽게 조회할 수 있도록 API 구조 설계
적재 부하 테스트를 통해 외부 서비스에 의존하는 서비스의 안정성 측정
외부 서비스의 장애 또는 에러에 대응하기 위한 로깅 및 모니터링 구성
건강관리 서비스는 12월에 오픈한 이래 안정적으로 운영되고 있습니다. 건보공단의 응답 오류 등을 쉽게 추적하고 대응하였습니다.
관련 자료
보험 플랫폼 애플리케이션 및 라이브러리 운영
카카오페이 인슈어런스클랜
2025.01. ~ 진행 중
인슈어런스클랜 내 공통 도메인 및 정책을 관리하고, 사내 외부 API 및 자체 적재 데이터를 조회할 수 있는 애플리케이션을 개발 및 운영하였습니다.
구체적인 담당 업무는 아래와 같습니다.
보험 서비스에서 필요한 데이터를 서빙하는 애플리케이션 개발 및 운영
보험 도메인 라이브러리 운영
보험 서비스에서 필요한 데이터를 서빙하는 애플리케이션 개발 및 운영
클랜 내 서비스에서 필요한 데이터를 제공하기 위한 스프링 부트 애플리케이션을 개발 및 운영하였습니다. 마이데이터, 추정 데이터 등 사내 타 조직 API를 호출하거나, 자체적으로 적재한 통계 데이터를 효율적으로 제공할 수 있는 시스템을 설계 및 운영하였습니다. SPOF가 될 수 있는 단점을 극복하고, 추상화를 통한 서비스 조직의 생산성 향상이라는 장점을 극대화하도록 하였습니다.
일 평균 100TPS, 피크 시 1200TPS를 처리하는 구조 설계
NGrinder를 이용한 부하 테스트를 통해 각 pod이 안정적으로 처리 가능한 TPS 산정, 이를 바탕으로 운영 pod 수 절감
적절한 index 및 로컬 캐싱을 통한 보험 통계 데이터 응답 속도 최적화
외부 API를 쉽게 호출할 수 있도록 추상화
OpenTelemetry를 통한 서비스 모니터링 개선 및 Kotlin Coroutines 사용 시에도 컨텍스트가 정상 전파될 수 있도록 반영
Exposed 조사 및 도입을 통해 hadoop으로부터 MySQL로 통계 데이터 적재
Cache hit 비율, API 사용 빈도 등을 모니터링할 수 있도록 Gemini를 활용하여 Grafana 대시보드 개선
위 요소들을 클랜 내에서 선제적으로 조사부터 반영까지 진행하였고, 각 서비스 조직에서도 이를 참고할 수 있도록 문서화 및 발표를 통해 공유하였습니다. 덕분에 외부 요인에 의한 장애 외에는 서비스 운영 중 장애가 발생하지 않았습니다.
보험 도메인 라이브러리 운영
인슈어런스클랜에서 직접 정의한 보험 도메인 설계를 고도화하였습니다. 보험을 종류, 계약, 보장 및 특약 등에 따라 필요한 값을 조회할 수 있도록 설계하고, 개선 및 확장되는 요구 사항을 쉽게 반영할 수 있도록 구조를 설계했습니다.
보험 도메인을 관점에 따라 구분하기 위해 sealed interface를 활용한 설계 반영
정밀한 단위 테스트를 통해 각 도메인의 요구 사항을 검증
라이브러리 내 API 호출을 위한 port 및 adapter 작성을 통해 각 서비스 별 API 보일러플레이트 코드 절감
Nexus repository를 통한 라이브러리 배포 및 버전 관리
라이브러리 내외 문서화 및 테스트 코드를 통해 사용성 극대화
라이브러리를 안정적으로 운영하며, 클랜 내 서비스 조직 간 일관된 도메인 사용과 정책 적용에 기여하였습니다. 꼼꼼한 테스트 덕분에, 모든 서비스에 반영되는 로직들에 대해 품질을 보증하였습니다.
보험 플랫폼 API 및 데이터 적재 신규 설계 및 개발
카카오페이 인슈어런스클랜
2024.10. ~ 2024.12.
보험과 관련된 모든 비지니스 도메인을 모아 관리할 수 있는 라이브러리와, 라이브러리를 통해 호출하는 보험플랫폼 API를 설계 및 개발하였습니다. 이 플랫폼에서 다루는 데이터를 적재 및 조회할 수 있는 구조를 함께 개발하였습니다.
보험 도메인 라이브러리 설계를 통한 공통 도메인과 서비스 별 비지니스 로직 분리
30개 이상의 플랫폼 API 설계를 통해 보험과 관련된 외부 서비스 호출 추상화
일 수십만 건의 보험 분석데이터 적재 구조 설계
50개 이상의 유닛 테스트 작성을 통한 데이터 정합성 검증
peak 400tps 달성 여부 검증을 위해 nGrinder를 이용한 부하 테스트 및 목표 지표 달성
신규 플랫폼 설계 및 오픈을 위해 아래 내용을 함께 진행하였습니다.
성능 테스트를 위해 필요한 환경설정 선행조사, 문서화 및 공유
설계한 아키텍처의 기능 명세, 목표 TPS, API 목록 등을 문서화 및 공유
Coroutines, Virtual Thread 등 선행조사를 통해 더 높은 처리량을 얻기 위한 객관적 지표 확보
자동차, 펫 보험 비교추천 서비스 개발
카카오페이 인슈어런스클랜
2023.10. ~ 2024.01.
사용자의 조건에 맞는 보험 상품을 제휴된 보험사로부터 조회하여 비교하는 서비스입니다. 자동차보험 (2023.10 ~ 2024.01), 펫보험 (2024.03 ~2024.07)에 각각 기여하였습니다.
BE 개발자로서 아래와 같은 업무를 담당하였습니다.
공통
아래 요소들을 바탕으로, 전반적인 아키텍처를 유사하게 설계하였습니다.
Kotlin Coroutines을 이용한 제휴 보험사 API 병렬 및 비동기 호출 설계 및 구현
제휴 보험사의 추가, 변경 및 개별 대응이 용이한 공통 구조 설계 및 구현
사용자의 입력, 보험사의 메타데이터 등을 관리하기 위한 DB Schema 설계 및 JPA entity를 통한 객체지향적 관리
클라이언트로부터 받는 모든 입력에 대한 기획 정책 내용과 일치 여부 검증
제휴 보험사와 지속적 커뮤니케이션을 통한 네트워크 환경 셋업 및 상호 기능적 이슈 해결
CircuitBreaker를 통한 제휴사 API 호출 오류상황 대비 및 이를 위한 Fallback 값 정의
또한 프로덕트를 함께 만드는 구성원으로서 아래 부분에 추가로 기여하였습니다.
UI, UX상 전환 효과, 레이아웃 등에 대한 검증 및 의견 제시
기획상의 음영 부분에 대한 의견 제시
자동차보험 비교
API Spec 전체 설계 (약 30개) 및 일부 구현
약 180개의 단위 및 통합테스트 코드 작성, 이를 통한 QA 이슈 발생 최소화
개발시점 기준 최신 버전인 Kotlin 1.9.20, Spring Boot 3.1.5 도입 및 이를 위한 기술 선행 조사 진행
QA 테스트 케이스 참고를 통한 테스트 코드 구현, 테스트 케이스 검증 및 의견 제시
펫보험 비교
API Spec 전체 설계 (약 15개) 및 일부 구현
약 70개의 단위 및 통합테스트 코드 작성, 이를 통한 BE QA 이슈 0건 발생
개발시점 기준 최신 버전인 Kotlin 2.0.0, Spring Boot 3.3.0 도입 및 이를 위한 기술 선행 조사 진행
관련 자료
(자동차보험)
(자동차보험)
보험 보장분석 서비스 개발
카카오페이 인슈어런스클랜
2023.06. ~ 2023.08.
사용자가 보유한 다양한 보험을 카테고리별로 나누어 보장 내용을 분석해 주는 서비스입니다.
BE 개발자로서 아래 내용에 참여하였습니다.
- 클라이언트에서 사용하기 편리하며, 동시에 서버에서 리소스를 효율적으로 사용할 수 있도록 API 구조 설계
- 테스트 코드 (단위, 통합) 작성을 통한 비지니스 로직 검증 및 QA 이슈 발생 최소화
- 비지니스적 개념을 중심으로 도메인 정의, 도메인 중심 개발 진행 및 이를 통한 관리의 효율화
- 변경되는 보험 카테고리 기준을 쉽게 적용할 수 있는 구조 설계 및 구현
- 서비스 내 카테고리별 보험 분류에 사용되는 공통 로직 설계 및 구현
또한 프로덕트를 함께 만드는 구성원으로서 아래 부분에 추가로 기여하였습니다.
- 기획상의 음영 부분에 대한 의견 제시
관련 자료
마이데이터 2.0 자산 (보험) 대응 개발
카카오페이 인슈어테크클랜
2023.01. ~ 2023.06.
마이데이터 2.0에 따른 보험 자산 변화에 대응하였습니다. (피보험자 여부, 물/일반 보험 추가 등). 또한 사내 데이터 플랫폼의 데이터 제공 방식이 변경됨에 따라, 추가되거나 변경된 마이데이터 스펙에 대응하였습니다. 동시에, 보험 서비스 내에 다양하게 사용되는 마이데이터 정보를 보다 효율적으로 관리하기 위하여 고민하였습니다.
내부 자산 API를 호출하는 모듈을 별도로 분리하여 마이데이터 모듈과 마이데이터 클라이언트 모듈의 책임을 구분
여러 API를 non-blocking하게 호출하기 위해 Kotlin Coroutine 사용
보험 도메인 주도 개발 진행
stub 객체를 활용한 Unit test 작성으로 인한 리팩토링, 검증 및 QA 이슈 감소
약 4개월 동안 10배 이상 증가한 보험 연결자의 트래픽 안정적으로 처리
삼성전자 수원사업장 SI/SM 프로젝트 참여
IBM Korea
2022.01. ~ 2022.11.
삼성전자에서 아래 프로젝트를 각각 참여하였습니다.
삼성전자 외주품질관리시스템 (SOMOS) 운영 프로젝트 (2022.01 ~ 2022.05)
프로젝트 운영을 위한 스크립트 작성, 로그 분석 및 신규 기능 개발, 문서화
스크립트 작성 및 배치를 통한 약 500만 건에 이르는 데이터 마이그레이션 진행
모바일 환경 이미지 업로드 리사이징 로직 추가를 통한 클라이언트 부하, 서버 저장 효율 개선
Java 1.8, Spring 3, Nexacro, Vue.js, MyBatis
삼성전자 벤더관리시스템 (VERS) 기능개선 프로젝트 (2022.05 ~ 2022.11)
신규 기능 개선을 위한 요구 조건 기획, 설계에 참여 및 개발 진행, 문서화
신규 기능에 대한 테스트 코드 약 40개 작성 (약 85%의 기능 커버)를 통한 검증 효율성 증가
테스트 코드 내용 공유를 통한 팀 내 테스트 코드 작성 문화 확산
이원화된 형상 관리 환경에서 개발 및 운영 환경에 배포할 수 있도록 환경 구축
개발에 관여한 코드를 Spring 설계 이념에 어울리는 더욱 바람직한 방향으로 리팩토링 진행
Java 1.7, Spring 3.2.2, JSP, Oracle 11g, MyBatis
포트폴리오
자기소개
SW 엔지니어 정규호입니다. 백엔드 개발에 강점을 가지고 있습니다. 서비스의 안정성과 유지보수성을 최우선으로 고려하며, 이를 프로덕트에 녹여 냅니다. 팀의 구성원으로서, 다양한 직군의 동료들과 함께 일하는 것을 가치 있게 생각합니다.
개발자는 주어진 일정을 완수하는 것이 정말 중요하지만, 담당한 프로덕트의 품질은 그 이상으로 중요합니다. 서비스의 백엔드는 웹 어플리케이션, 각종 데이터베이스, 네트워크 등이 한데 어우러져 있으며, 이들 각각에 대한 일정 수준 이상의 이해도 없이 안정적인 서비스를 보장할 수 없습니다. 저는 테스트 코드 작성, 문서화, 예외 처리, 로깅 등 다양한 방법을 통해 서비스의 안정성을 확보하고, 문제가 발생할 경우 이를 빠르게 진단할 수 있는 구조를 지향합니다. 프로덕트를 안정적으로 운영할 수 있도록 유지보수성 역시 중시하는데, 앞서 언급한 테스트 코드와 문서화 이외에도 코드의 가독성, 재사용성 등을 다방면으로 고려합니다.
동료들과 함께 일하는 것을 가치 있게 생각합니다. 같은 기술 직군 동료들과 기술적 컨텍스트를 맞추어 특정 개인에 의존하는 것이 아닌 모두가 함께 책임질 수 있는 환경을 지향합니다. 서비스에 도입이 필요한 신기술이 있다면 함께 스터디를 진행하거나 팀 내 발표 등을 통해 모두가 일정 수준 이상의 지식을 확보하고, 코드 리뷰 등을 통해 이를 팀 단위로 체득합니다. 서비스의 지향점과 도메인 등에 대해 타 직군 동료들과 함께 의견을 나누길 좋아하고, 이러한 과정을 통해 한 팀으로서 발전하는 것을 선호합니다. 개발자도 고객을 위한 서비스를 만드는 구성원이므로, 사용자 경험 등에 대해 경시하지 않습니다.
외국어
영어
원어민 수준
일본어
비즈니스 회화 가능
교육
인하대학교
대학교(학사) | 컴퓨터공학과
2014.03. ~ 2021.02. | 졸업
대외활동
기술블로그 기고
카카오페이
2024
2025.06.24 어려운 용어가 있으신가요? ‘금.용.사.’가 알려드립니다! (https://tech.kakaopay.com/post/kakaopay-hackathon-ai-finance-glossary/)
2024.09.12. 코틀린, 저는 이렇게 씁니다 (https://tech.kakaopay.com/post/katfun-joy-kotlin/)
JetBrains 공식 블로그 영문 번역 기고 (https://blog.jetbrains.com/kotlin/2025/07/case-study-why-kakao-pay-chose-kotlin-for-backend-development/)
2024.04.03. 여러 제휴사와 연동하는 신규 프로젝트 개발기 1편 (https://tech.kakaopay.com/post/katfun-joy-multiple-biz-partner-01/)
2024.04.03. 여러 제휴사와 연동하는 신규 프로젝트 개발기 2편 (https://tech.kakaopay.com/post/katfun-joy-multiple-biz-partner-02/)