
안녕하세요! 한국신용데이터 제품실 장부팀 Backend Engineer Juno(최준호)입니다.
지난 해 우아한테크코스 리크루팅데이에서 KCD를 처음 만났고, 2025년 1월 합류 후 벌써 6개월이 지났습니다. 긴장감으로 가득했던 첫 출근 순간이 엊그제 같은데 KCD에서 몰입하며 일하다 보니 시간이 정말 빠르게 흘러가는 것 같습니다.
이번 글에서는 그동안 KCD에서 어떤 경험을 했는지 이야기해보려고 합니다.
온보딩과 첫 업무 : 신입 프레임 벗어던지기
"KCD의 가치에 몰입하기"
입사 첫 달로 돌아가면 제일 기억에 남는건 KCD 고유의 온보딩인 바틀드에서 ‘사장님 되어보기 체험’ 이었습니다. 제가 체험한 날은 마침 와인 대량 주문이 들어온 날이었습니다. 많은 와인을 "내 가게 물건이다"라고 생각하며 정성스럽게 포장하니, 마치 진짜 가게를 운영하는 사장님이 된 것 같았습니다.
매장 오픈을 위해 문을 직접 열어보고 사장님의 하루를 경험해보니 가게 하나를 운영하는 데 이렇게 복잡하고 머리 아픈 일이 가득하다는 사실을 알게 되었습니다. 동시에 캐시노트가 이 사업의 모든 과정에서 얼마나 실질적인 도움을 주는지 그리고 제가 함께 만들어나갈 서비스가 얼마나 중요한지에 대한 책임감도 불타오르기 시작했습니다.
> 사장님 되어보기 체험과 관련한 내용은 와인도깨비에서 바틀드 Bottled : 늘어난 주류, 새로운 체험 프로그램. 바뀌지 않은 건 오직 사장님을 위한 공감뿐. | by Korea Credit Data (KCD) | 한국신용데이터 팀블로그 를 확인해주세요!
"장부팀에서의 본격적인 시작"
온보딩을 마치고 이제 KCD 백엔드 엔지니어로서의 여정을 시작했습니다.
저는 장부팀에서 실적, 자금, 세금이라는 핵심 도메인을 담당하며 백엔드 개발을 하게 되었습니다. 제가 다루는 데이터와 서비스가 사장님들의 사업 생애주기와 정말 밀접하게 연결되어 있어서 "정말 의미 있는 서비스를 만들 수 있겠다"는 생각에 설레기도 하고 긴장도 되었습니다.
"과연 내가 잘할 수 있을까?" 하는 걱정이 무색하게도 저희 팀의 든든한 기둥인 안드레스의 온보딩이 있었기에 장부 서비스의 이해도가 쑥쑥 올라갔습니다. 🌱
특히 온보딩 과정에서 안드레스가 해주신 말씀 중 "자율과 책임을 함께 가져가는 문화"가 정말 인상 깊었습니다. 저 역시 이 말을 듣고 신입 개발자라는 프레임에서 벗어나 한 명의 백엔드 엔지니어로서 팀에 기여하겠다는 다짐을 했습니다.
첫 번째 도전: 부가세 늪에서 탈출하기
"복잡한 세금 로직과의 첫 만남"
장부팀에 합류하고 받았던 첫 업무는 세금 영역의 부가세 예상세액 계산 로직 개선이었습니다. 연말정산도 한 번 해본 적이 없는 저에게는 쉽지 않은 시작 이었습니다.

우선 장부팀에서 친절하게 정리해주신 부가가치세에 대한 내용과 국세청의 두꺼운 부가가치세 신고안내 매뉴얼을 열심히 파헤쳤습니다. 처음에는 "매출세액? 매입세액공제는 뭐지? 과세표준은 또 뭐야? 의제매입세액은 또 뭐고!?" 익숙하지 않은 단어와 내용에 저는 당황했습니다.
하지만 여러 동료들의 도움으로 차근차근 내용을 함께 살펴볼 수 있었고 실제 계산 예시를 접하면서 그 의미를 이해할 수 있었습니다. 덕분에 소상공인은 사업장별로 일반과세자, 법인사업자, 간이과세자, 면세사업자 등 사업의 유형과 매출에 따른 과세 유형이 나뉜다는 기본적인 개념을 정리할 수 있었습니다.
단 하루 가게를 오픈해봤던 바틀드 경험과 교차하며 생각해보니 "가게 운영뿐만 아니라 사장님들이 사업을 하는 모든 순간에 신경 써야 할 것이 이렇게나 많구나…" 하는 것을 다시금 깨닫게 되었습니다.
성능 최적화: 19시간에서 30분으로
기본적인 개념을 정리하고 본격적으로 부가세 로직을 개선하면서 저는 단순한 계산 로직 개선만을 염두하지는 않았습니다. 부가세 계산에 필요한 여러 데이터를 순차적으로 호출하고 있던 코드를 병렬로 데이터를 호출할 수 있도록 변경하고 중복되는 데이터를 찾아 I/O 작업을 최소화하여 레이턴시를 개선했습니다.
1~2월 동안 복잡한 세금을 계산하는 로직을 구현했지만 동시에 약 120만 명의 부가세 예상세액을 한꺼번에 계산해야 하는 요구가 생겼습니다. 내부적으로 불러오는 데이터들이 너무 많은 탓에 부가세 계산에만 19시간이 걸리는 문제가 발생하기도 했습니다.
보다 근본적인 해결을 위해 필요한 데이터를 추려서 새로운 데이터셋을 만들었습니다. 이렇게 만든 데이터셋을 활용해서 부가세에 필요한 데이터를 최적화하고 이 데이터셋을 사용하는 방향으로 로직을 개선하니 가장 큰 병목구간이었던 데이터 호출부가 해소되었습니다.
그 결과 기존에 19시간 가량 걸리던 작업이 30분만에 끝나는 드라마틱한 성능 개선도 볼 수 있었습니다.
이 과정을 통해 단순히 코드를 잘 짜서 해결하는 방법이 아니라 더 큰 관점에서 데이터를 이해하고 잘 다루는 법을 배웠습니다.
두 번째 도전: AI 비서 개발
확장 가능한 정책 설계
3~4월에는 장부팀에서 LLM을 활용하여 사장님의 개인 비서를 만들어주는 AI 비서 개발에 본격 돌입했습니다. 이번 프로젝트는 제가 장부팀에서 처음으로 A to Z로 개발하는 서비스였기에 개발 과정에서 확장성에 신경을 많이 썼습니다.

특히 채팅 횟수 정책을 구현하는 과정에서 고민했던 부분은 아래와 같습니다.
일일, 월간, 이벤트성 등 다양한 정책을 고려하기 위한 구조를 만들기 위해 Rule을 인터페이스로 분리했습니다. 그 후에는 Rule을 조합한 Policy라는 인터페이스를 만들어 여러 Rule의 조합을 만들 수 있도록 구조화했습니다. 그 내부에서는 Rule에서 나온 결과인 Result(Allowed, Limited)에 따라서 정책이 통과인지, 한도에 걸렸는지 구분할 수 있게 됩니다.
이 덕분에 개발 과정에서 다른 정책이 추가되는 상황에서 코드를 많이 변화하지 않고도 대응할 수 있는 구조를 가져갈 수 있었습니다.
세 번째 도전: 현실적 기술 선택
WebFlux vs Virtual Thread
5월에는 열심히 개발한 AI 비서 서비스를 출시했습니다. 처음부터 끝까지 개발에 참여한 서비스가 실제 사장님들께 제공되는 걸 보니 많이 뿌듯했습니다.
AI 비서 출시 이후 메시지 처리를 고도화하기 위한 작업도 진행했습니다. 외부 API를 호출할 때 플랫폼 스레드가 멈춰버리는 현상을 개선하고 싶었는데 단순히 문제상황의 키워드만 놓고 봤을 때 여러 자료들에서 WebFlux를 사용해보면 좋다는 이야기를 많이 볼 수 있었습니다.

출처 : https://www.infoq.com/articles/Servlet-and-Reactive-Stacks-Spring-Framework-5/
하지만 다음과 같은 이유를 기반으로 팀원들과 이야기를 나누어보았고, WebFlux 대신 Virtual Thread를 선택하기로 결론을 냈습니다.
WebFlux 도입 시 고려했던 내용들
현재 조직의 모니터링 환경과의 호환성
팀원들의 WebFlux 학습 비용
기존 인프라 환경과의 연동
JPA 사용으로 인한 블로킹 문제 지속
Virtual Thread를 선택한 이유
이 경험을 통해 문제를 해결하기 위해 바라보는 관점이 아직은 꼼꼼하지 못했다는 걸 깨달았고, 기술을 선택할 때 좀 더 신중하게 생각해보게 되었습니다.
혼자서는 절대 이룰 수 없었던 성장
6개월간 경험한 모든 것들에는 팀원들의 도움이 컸습니다. 어떻게 팀원들이 서로를 믿고 도움을 주는 구조가 이뤄질 수 있었을지 되돌아보니 다음과 같은 요소들이 큰 역할을 해내고 있다고 느꼈습니다.
심리적 안전감: 모르는 것을 모른다고 말할 수 있는 분위기
공유 문화: 누구나 자신의 경험을 아낌없이 공유
목표 일치: 사장님에게 가치를 제공한다는 하나된 목표
특히나 저희 장부팀은 "동료가 최고의 복지"라는 말이 어울리는 그런 팀이라고 자부할 수 있을 정도로 심리적 안전감(Psychological Safety)이 높은 팀이라고 생각합니다. 그리고 함께 협업하는 KCD의 모든 동료분들 또한 적극적으로 도와주시는 모습에서 하나된 목표를 달성하기 위한 협업환경이 잘 갖춰져 있다고 느꼈습니다.
마무리: 함께 성장하는 즐거움
KCD에서의 6개월은 함께 성장하는 환경에서 매일매일 새로운 도전을 해나가며 개발자이자 한 사람으로서 크게 성장할 수 있었던 소중한 시간이었습니다.

수습을 마치고 팀원분들께 축하받으면서 행복했던 순간을 남기며 좋은 사람들과 함께 나아가는 문화를 경험하며 성장하고 싶으신 분들에게 KCD를 추천합니다.
지금, KCD는 사장님의 더 나은 내일을 위해 함께할 동료를 찾고 있어요.
✨영입 중인 포지션 확인하기
✨KCD가 더 궁금하다면?
안녕하세요! 한국신용데이터 제품실 장부팀 Backend Engineer Juno(최준호)입니다.
지난 해 우아한테크코스 리크루팅데이에서 KCD를 처음 만났고, 2025년 1월 합류 후 벌써 6개월이 지났습니다. 긴장감으로 가득했던 첫 출근 순간이 엊그제 같은데 KCD에서 몰입하며 일하다 보니 시간이 정말 빠르게 흘러가는 것 같습니다.
이번 글에서는 그동안 KCD에서 어떤 경험을 했는지 이야기해보려고 합니다.
온보딩과 첫 업무 : 신입 프레임 벗어던지기
"KCD의 가치에 몰입하기"
입사 첫 달로 돌아가면 제일 기억에 남는건 KCD 고유의 온보딩인 바틀드에서 ‘사장님 되어보기 체험’ 이었습니다. 제가 체험한 날은 마침 와인 대량 주문이 들어온 날이었습니다. 많은 와인을 "내 가게 물건이다"라고 생각하며 정성스럽게 포장하니, 마치 진짜 가게를 운영하는 사장님이 된 것 같았습니다.
매장 오픈을 위해 문을 직접 열어보고 사장님의 하루를 경험해보니 가게 하나를 운영하는 데 이렇게 복잡하고 머리 아픈 일이 가득하다는 사실을 알게 되었습니다. 동시에 캐시노트가 이 사업의 모든 과정에서 얼마나 실질적인 도움을 주는지 그리고 제가 함께 만들어나갈 서비스가 얼마나 중요한지에 대한 책임감도 불타오르기 시작했습니다.
> 사장님 되어보기 체험과 관련한 내용은 와인도깨비에서 바틀드 Bottled : 늘어난 주류, 새로운 체험 프로그램. 바뀌지 않은 건 오직 사장님을 위한 공감뿐. | by Korea Credit Data (KCD) | 한국신용데이터 팀블로그 를 확인해주세요!
"장부팀에서의 본격적인 시작"
온보딩을 마치고 이제 KCD 백엔드 엔지니어로서의 여정을 시작했습니다.
저는 장부팀에서 실적, 자금, 세금이라는 핵심 도메인을 담당하며 백엔드 개발을 하게 되었습니다. 제가 다루는 데이터와 서비스가 사장님들의 사업 생애주기와 정말 밀접하게 연결되어 있어서 "정말 의미 있는 서비스를 만들 수 있겠다"는 생각에 설레기도 하고 긴장도 되었습니다.
"과연 내가 잘할 수 있을까?" 하는 걱정이 무색하게도 저희 팀의 든든한 기둥인 안드레스의 온보딩이 있었기에 장부 서비스의 이해도가 쑥쑥 올라갔습니다. 🌱
특히 온보딩 과정에서 안드레스가 해주신 말씀 중 "자율과 책임을 함께 가져가는 문화"가 정말 인상 깊었습니다. 저 역시 이 말을 듣고 신입 개발자라는 프레임에서 벗어나 한 명의 백엔드 엔지니어로서 팀에 기여하겠다는 다짐을 했습니다.
첫 번째 도전: 부가세 늪에서 탈출하기
"복잡한 세금 로직과의 첫 만남"
장부팀에 합류하고 받았던 첫 업무는 세금 영역의 부가세 예상세액 계산 로직 개선이었습니다. 연말정산도 한 번 해본 적이 없는 저에게는 쉽지 않은 시작 이었습니다.
우선 장부팀에서 친절하게 정리해주신 부가가치세에 대한 내용과 국세청의 두꺼운 부가가치세 신고안내 매뉴얼을 열심히 파헤쳤습니다. 처음에는 "매출세액? 매입세액공제는 뭐지? 과세표준은 또 뭐야? 의제매입세액은 또 뭐고!?" 익숙하지 않은 단어와 내용에 저는 당황했습니다.
하지만 여러 동료들의 도움으로 차근차근 내용을 함께 살펴볼 수 있었고 실제 계산 예시를 접하면서 그 의미를 이해할 수 있었습니다. 덕분에 소상공인은 사업장별로 일반과세자, 법인사업자, 간이과세자, 면세사업자 등 사업의 유형과 매출에 따른 과세 유형이 나뉜다는 기본적인 개념을 정리할 수 있었습니다.
단 하루 가게를 오픈해봤던 바틀드 경험과 교차하며 생각해보니 "가게 운영뿐만 아니라 사장님들이 사업을 하는 모든 순간에 신경 써야 할 것이 이렇게나 많구나…" 하는 것을 다시금 깨닫게 되었습니다.
성능 최적화: 19시간에서 30분으로
기본적인 개념을 정리하고 본격적으로 부가세 로직을 개선하면서 저는 단순한 계산 로직 개선만을 염두하지는 않았습니다. 부가세 계산에 필요한 여러 데이터를 순차적으로 호출하고 있던 코드를 병렬로 데이터를 호출할 수 있도록 변경하고 중복되는 데이터를 찾아 I/O 작업을 최소화하여 레이턴시를 개선했습니다.
1~2월 동안 복잡한 세금을 계산하는 로직을 구현했지만 동시에 약 120만 명의 부가세 예상세액을 한꺼번에 계산해야 하는 요구가 생겼습니다. 내부적으로 불러오는 데이터들이 너무 많은 탓에 부가세 계산에만 19시간이 걸리는 문제가 발생하기도 했습니다.
보다 근본적인 해결을 위해 필요한 데이터를 추려서 새로운 데이터셋을 만들었습니다. 이렇게 만든 데이터셋을 활용해서 부가세에 필요한 데이터를 최적화하고 이 데이터셋을 사용하는 방향으로 로직을 개선하니 가장 큰 병목구간이었던 데이터 호출부가 해소되었습니다.
그 결과 기존에 19시간 가량 걸리던 작업이 30분만에 끝나는 드라마틱한 성능 개선도 볼 수 있었습니다.
이 과정을 통해 단순히 코드를 잘 짜서 해결하는 방법이 아니라 더 큰 관점에서 데이터를 이해하고 잘 다루는 법을 배웠습니다.
두 번째 도전: AI 비서 개발
확장 가능한 정책 설계
3~4월에는 장부팀에서 LLM을 활용하여 사장님의 개인 비서를 만들어주는 AI 비서 개발에 본격 돌입했습니다. 이번 프로젝트는 제가 장부팀에서 처음으로 A to Z로 개발하는 서비스였기에 개발 과정에서 확장성에 신경을 많이 썼습니다.
특히 채팅 횟수 정책을 구현하는 과정에서 고민했던 부분은 아래와 같습니다.
일일, 월간, 이벤트성 등 다양한 정책을 고려하기 위한 구조를 만들기 위해 Rule을 인터페이스로 분리했습니다. 그 후에는 Rule을 조합한 Policy라는 인터페이스를 만들어 여러 Rule의 조합을 만들 수 있도록 구조화했습니다. 그 내부에서는 Rule에서 나온 결과인 Result(Allowed, Limited)에 따라서 정책이 통과인지, 한도에 걸렸는지 구분할 수 있게 됩니다.
이 덕분에 개발 과정에서 다른 정책이 추가되는 상황에서 코드를 많이 변화하지 않고도 대응할 수 있는 구조를 가져갈 수 있었습니다.
세 번째 도전: 현실적 기술 선택
WebFlux vs Virtual Thread
5월에는 열심히 개발한 AI 비서 서비스를 출시했습니다. 처음부터 끝까지 개발에 참여한 서비스가 실제 사장님들께 제공되는 걸 보니 많이 뿌듯했습니다.
AI 비서 출시 이후 메시지 처리를 고도화하기 위한 작업도 진행했습니다. 외부 API를 호출할 때 플랫폼 스레드가 멈춰버리는 현상을 개선하고 싶었는데 단순히 문제상황의 키워드만 놓고 봤을 때 여러 자료들에서 WebFlux를 사용해보면 좋다는 이야기를 많이 볼 수 있었습니다.
출처 : https://www.infoq.com/articles/Servlet-and-Reactive-Stacks-Spring-Framework-5/
하지만 다음과 같은 이유를 기반으로 팀원들과 이야기를 나누어보았고, WebFlux 대신 Virtual Thread를 선택하기로 결론을 냈습니다.
WebFlux 도입 시 고려했던 내용들
현재 조직의 모니터링 환경과의 호환성
팀원들의 WebFlux 학습 비용
기존 인프라 환경과의 연동
JPA 사용으로 인한 블로킹 문제 지속
Virtual Thread를 선택한 이유
Spring MVC 환경에서 점진적 적용 가능
I/O 작업 중 플랫폼 스레드 블로킹 방지
기존 코드베이스와의 호환성
팀의 기술 부채 최소화
이 경험을 통해 문제를 해결하기 위해 바라보는 관점이 아직은 꼼꼼하지 못했다는 걸 깨달았고, 기술을 선택할 때 좀 더 신중하게 생각해보게 되었습니다.
혼자서는 절대 이룰 수 없었던 성장
6개월간 경험한 모든 것들에는 팀원들의 도움이 컸습니다. 어떻게 팀원들이 서로를 믿고 도움을 주는 구조가 이뤄질 수 있었을지 되돌아보니 다음과 같은 요소들이 큰 역할을 해내고 있다고 느꼈습니다.
심리적 안전감: 모르는 것을 모른다고 말할 수 있는 분위기
공유 문화: 누구나 자신의 경험을 아낌없이 공유
목표 일치: 사장님에게 가치를 제공한다는 하나된 목표
특히나 저희 장부팀은 "동료가 최고의 복지"라는 말이 어울리는 그런 팀이라고 자부할 수 있을 정도로 심리적 안전감(Psychological Safety)이 높은 팀이라고 생각합니다. 그리고 함께 협업하는 KCD의 모든 동료분들 또한 적극적으로 도와주시는 모습에서 하나된 목표를 달성하기 위한 협업환경이 잘 갖춰져 있다고 느꼈습니다.
마무리: 함께 성장하는 즐거움
KCD에서의 6개월은 함께 성장하는 환경에서 매일매일 새로운 도전을 해나가며 개발자이자 한 사람으로서 크게 성장할 수 있었던 소중한 시간이었습니다.
수습을 마치고 팀원분들께 축하받으면서 행복했던 순간을 남기며 좋은 사람들과 함께 나아가는 문화를 경험하며 성장하고 싶으신 분들에게 KCD를 추천합니다.
지금, KCD는 사장님의 더 나은 내일을 위해 함께할 동료를 찾고 있어요.
✨영입 중인 포지션 확인하기
✨KCD가 더 궁금하다면?