미리보기
기본 정보
새로운 도전을 좋아하는 소프트웨어 엔지니어 정규호(카펀)입니다.
경력
카카오페이
팀원 | 인슈어런스클랜 | 재직 중
2022.12. ~ 재직 중 (2년 2개월)
인슈어런스클랜은 카카오페이의 병원비 청구, 마이데이터 보험 자산을 기반으로 한 요약 및 보장내용 분석, 보험 상품 비교 등의 서비스를 제공합니다.
마이데이터 보험, 보험 비교추천, 내차관리 서비스를 개발 및 운영하였습니다. 복잡한 보험 도메인 구조를 공통화 등의 설계를 통해 관리하였습니다. 이후 신생 보험플랫폼의 설계 및 개발을 진행하였습니다.
서비스의 성장과 기술적 완성도 양쪽에 관심을 가지고, 한 명의 프로덕트 제작자로서 오너십을 가지고 업무를 진행하였습니다. 사용자 관점에서 더 나은 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, coroutine
프로젝트
보험 API 플랫폼 및 데이터 적재 신규 설계 및 개발
카카오페이 / 인슈어런스클랜
2024.10. ~ 2024.12.
보험과 관련된 모든 비지니스 도메인을 모아 관리할 수 있는 라이브러리와, 라이브러리를 통해 호출하는 보험플랫폼 API를 설계 및 개발하였습니다. 이 플랫폼에서 다루는 데이터를 적재 및 조회할 수 있는 구조를 함께 개발하였습니다.
순수 Kotlin 코드로 이루어진 보험 도메인 라이브러리 설계 및 구현
보험과 관련된 외부 서비스들을 모아서 호출할 수 있는 플랫폼 API 설계 및 구현
일 수십만 건의 보험 데이터 적재 구조 설계
커버리지 및 엣지케이스에 대한 유닛 테스트 작성, 이를 통한 적재 데이터 정합성 검증
nGrinder를 이용한 테스트 환경에서의 부하 테스트 진행, 이를 통한 목표 성능 달성 여부 검증
신규 플랫폼 설계 및 오픈을 위해 아래 내용을 함께 진행하였습니다.
성능 테스트를 위해 필요한 환경설정 선행조사, 문서화 및 공유
설계한 아키텍처의 기능 명세, 목표 TPS, API 목록 등을 문서화 및 공유
같은 자원에서 더 높은 처리량을 얻기 위한 추가 task 선행조사
펫 보험 비교추천 서비스 개발
카카오페이 인슈어런스클랜
2024.03. ~ 2024.07.
사용자의 조건에 맞는 강아지, 고양이 펫보험 상품을 3개 보험사로부터 동시에 조회하여 비교하는 서비스입니다.
기술적으로 자동차보험 비교와 대동소이한 구조를 바탕으로, 아래와 같은 업무를 담당하였습니다.
API Spec 전체 설계 (약 15개) 및 일부 구현
Kotlin Coroutines을 이용한 제휴 보험사 API 병렬 및 비동기 호출 설계 및 구현
제휴 보험사의 추가, 변경 및 개별 대응이 용이한 공통 구조 설계 및 구현
사용자의 입력, 보험사의 메타데이터 등을 관리하기 위한 DB Schema 설계 및 JPA entity를 통한 객체지향적 관리
클라이언트로부터 받는 모든 입력에 대한 기획 정책 내용과 일치 여부 검증
약 70개의 단위 및 통합테스트 코드 작성, 이를 통한 BE QA 이슈 0건 발생
제휴 보험사와 지속적 커뮤니케이션을 통한 상호 기능적 이슈 해결
CircuitBreaker를 통한 제휴사 API 호출 오류상황 대비 및 이를 위한 Fallback 값 정의
개발시점 기준 최신 버전인 Kotlin 2.0.0, Spring Boot 3.3.0 도입 및 이를 위한 기술 선행 조사 진행
또한 프로덕트를 함께 만드는 구성원으로서 아래 부분에 추가로 기여하였습니다.
UI, UX상 전환 효과, 레이아웃 등에 대한 검증 및 의견 제시
기획상의 음영 부분에 대한 의견 제시
관련 자료
자동차 보험 비교추천 서비스 개발
카카오페이 인슈어런스클랜
2023.10. ~ 2024.01.
사용자의 조건에 맞는 자동차보험 상품을 10개 보험사로부터 동시에 조회하여 비교하는 서비스입니다.
BE 개발자로서 아래와 같은 업무를 담당하였습니다.
API Spec 전체 설계 (약 30개) 및 일부 구현
병렬 및 비동기 처리를 통한 제휴 보험사 API 호출 설계 참여
제휴 보험사의 추가, 변경 및 개별 대응이 용이한 공통 구조 설계 및 구현
사용자의 입력, 보험사의 메타데이터 등을 관리하기 위한 DB Schema 설계 및 JPA entity를 통한 객체지향적 관리
클라이언트로부터 받는 모든 입력에 대한 기획 정책 내용과 일치 여부 검증
약 180개의 단위 및 통합테스트 코드 작성, 이를 통한 QA 이슈 발생 최소화
제휴 보험사와 지속적 커뮤니케이션을 통한 네트워크 환경 셋업 및 상호 기능적 이슈 해결
CircuitBreaker를 통한 제휴사 API 호출 오류상황 대비 및 이를 위한 Fallback 값 정의
개발시점 기준 최신 버전인 Kotlin 1.9.20, Spring Boot 3.1.5 도입 및 이를 위한 기술 선행 조사 진행
또한 프로덕트를 함께 만드는 구성원으로서 아래 부분에 추가로 기여하였습니다.
QA 테스트 케이스 참고를 통한 테스트 코드 구현, 테스트 케이스 검증 및 의견 제시
UI, UX상 전환 효과, 레이아웃 등에 대한 검증 및 의견 제시
기획상의 음영 부분에 대한 의견 제시
관련 자료
보험 보장분석 서비스 개발
카카오페이 인슈어런스클랜
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.09.12. 코틀린, 저는 이렇게 씁니다 (https://tech.kakaopay.com/post/katfun-joy-kotlin/)
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/)
서평 활동
기타
책 ‘혼자 공부하는 컴퓨터구조 + 운영체제’ 베타리더 참여 (https://product.kyobobook.co.kr/detail/S000061584886)