처음에는 쿠팡 상품코드와 자사 상품코드를 매핑하고, 변환된 자료를 엑셀로 만든 다음 자사의 제조·경영 프로그램에 업로드하면 된다는 간단한 마음으로 시작했습니다.
하지만 실제 상품코드를 매핑하기 시작하자 예상하지 못했던 여러 경우가 나타났습니다. 하나를 해결하면 새로운 예외가 발생했고, 이를 프로그램에 적용하는 과 정에서 코드가 꼬이기도 했습니다. 그렇게 약 일주일 동안 ‘암흑의 시간’을 보냈습니다.
‘과연 내가 이 프로그램을 끝까지 완성할 수 있을까?’라는 생각도 들었습니다.
그러나 스터디에 참여하신 분들이 개발 초보임에도 Codex와 대화하면서 문제를 하나씩 해결하는 모습을 보며 다시 힘을 얻었습니다. 저 역시 한꺼번에 모든 문제를 해결하려 하지 않고, 문제를 작게 나누어 순서대로 접근하기 시작했습니다.
한국 달력의 스크린샷
1. 1:1 상품코드 매핑은 비교적 쉽게 해결
처음 구현한 기능은 쿠팡 상품 하나와 자사 상품 하나를 연결하는 1:1 매핑이었습니다.
예를 들어 쿠팡의 A 상품코드를 자사의 1001번 상품코드와 연결하는 방식입니다. 구조가 단순했기 때문에 비교적 쉽게 해결할 수 있었습니다.
쿠팡 상품코드 확인
연결할 자사 상품코드 선택
매핑 결과 데이터베이스 저장
다음 매출자료 업로드 시 저장된 코드 자동 적용
여기까지는 생각했던 방향대로 순조롭게 진행되었습니다.
2. 가장 어려웠던 혼합상품의 1:N 매핑
문제는 혼합상품에서 발생했습니다.
쿠팡에서는 서로 다른 3개의 상품을 하나의 세트로 묶어 상품 1개로 판매하는 경우가 있습니다. 하지만 자사 제조·경영 프로그램에서는 세트를 구성하는 각각의 상품코드로 매출을 등록해야 합니다.
예를 들면 다음과 같습니다.
쿠팡 혼합세트 상품 1개 판매
자사 상품 A 1개
자사 상품 B 1개
자사 상품 C 1개
즉, 쿠팡 상품코드 1개를 자사 상품코드 3개로 변환하는 1:N 매핑 기능이 필요했습니다.
단순히 상품코드만 3개로 나누는 것으로 끝나는 문제도 아니었습니다. 각 상품의 수량과 금액을 어떻게 배분할 것인지, 엑셀에는 몇 개의 행으로 만들어야 하는지까지 함께 처리해야 했습니다.
처음에는 이러한 업무 규칙을 충분히 정리하지 않은 채 Codex에게 수정을 요청했습니다. 그 결과 기존 1:1 매핑 코드와 새롭게 추가하려던 1:N 매핑 코드가 서로 얽히면서 프로그램이 의도하지 않은 방식으로 작동했습니다.
결국 잘못 수정된 부분을 원래 상태로 되돌리고 다시 시작해야 했습니다.
3. 바로 수정하지 않고, 먼저 설명을 요청하다
같은 실수를 반복하지 않기 위해 Codex와 대화하는 방식을 바꾸었습니다.
이전에는 곧바로 “혼합상품 매핑 기능을 만들어줘”라고 요청했다면, 이후부터는 다음과 같이 요청했습니다.
현재 개발된 프로그램은 수정하지 말고, 혼합상품을 1:N 방식으로 매핑하려면 프로그램을 어떻게 수정해야 하는지 먼저 설명해줘.
이렇게 요청하자 Codex는 바로 코드를 수정하지 않고 다음 내용을 먼저 정리해 주었습니다.
현재 프로그램의 상품 매핑 구조
1:N 매핑을 적용하기 위해 변경해야 할 부분
데이터베이스에 추가하거나 수정해야 할 항목
혼합상품 등록 화면의 구성 방법
수량과 금액을 분배하는 방법
기존 1:1 상품에 미칠 수 있는 영향
개발 후 확인해야 할 테스트 항목
프로그램을 수정하기 전에 전체 구조와 작업 순서를 확인할 수 있으니 훨씬 안정적으로 접근할 수 있었습니다.
스타벅스 한국 앱 스크린샷
4. 이해하기 어려운 내용은 이미지와 사례로 다시 확인
Codex가 개발 계획을 설명해 주었지만, 개발 경험이 많지 않은 저에게는 일부 내용이 여전히 어렵게 느껴졌습니다.
그래서 다시 다음과 같이 요청했습니다.
설명만으로는 이해하기 어려우니 혼합상품이 등록되고 매출 엑셀로 변환되는 과정을 이미지와 구체적인 사례를 이용해 쉽게 설명해줘. 아직 프로그램은 수정하지 마.
그러자 쿠팡 상품 하나가 자사의 여러 상품으로 나뉘는 과정을 화면 구성과 흐름에 맞추어 설명해 주었습니다.
쿠팡 혼합세트 상품 1개
↓
자사 상품코드 매핑 확인
↓
┌────────┬────────┬────────┐
│ 상품 A │ 상품 B │ 상품 C │
│ 1개 │ 1개 │ 1개 │
└────────┴────────┴────────┘
↓
자사 프로그램용 엑셀 3개 행 생성여기에 실제 상품을 예로 들어 수량과 금액이 어떤 방식으로 변환되는지도 설명해 달라고 했습니다. 덕분에 프로그램이 최종적으로 어떻게 작동해야 하는지 쉽게 이해할 수 있었습니다.
무엇보다 개발 전에 제가 생각한 업무 방식과 Codex가 이해한 내용을 서로 맞춰볼 수 있다는 점이 좋았습니다.
한국 계정 페이지 스크린샷
화면에 나오는 한자 목록
5. 최종 계획을 확인한 후 개발 진행
설명과 개발 계획을 검토한 뒤, 잘못 이해한 부분과 추가해야 할 조건을 다시 보완했습니다. 그리고 최종적으로 다음과 같이 요청했습니다.
지금까지 협의한 최종 계획대로 프로그램 개발을 진행해줘. 기존의 1:1 매핑 기능은 유지하고, 혼합상품에만 1:N 매핑이 적용되도록 수정해줘.
사전에 작업 범위와 처리 방법을 충분히 정리한 덕분에 이전보다 훨씬 안정적으로 프로그램을 수정할 수 있었습니다.
그 결과 기존의 1:1 상품 매핑 기능을 유지하면서, 쿠팡의 혼합상품 하나를 자사의 여러 상품코드로 연결하는 기능도 추가할 수 있었습니다. 프로그램의 잘못된 부분도 보완하고 전체적인 구조도 개선할 수 있었습니다.
이번 추가 개발을 통해 배운 점
이번 경험을 통해 Codex에게 처음부터 프로그램 수정을 요청하는 것보다, 먼저 문제를 설명하고 개발 계획을 함께 검토하는 과정이 중요하다는 것을 배웠습니다.
제가 사용한 방식은 다음과 같습니다.
현재 프로그램은 수정하지 않도록 먼저 요청한다.
해결해야 할 업무 규칙을 설명한다.
프로그램을 어떻게 변경할 것인지 계획을 요청한다.
이해하기 어려운 내용은 이미지와 실제 사례로 다시 설명해 달라고 한다.
기존 기능에 미치는 영향과 예외 상황을 확인한다.
최종 계 획을 검토한 후 개발을 요청한다.
1:1 상품과 혼합상품을 각각 테스트한다.
특히 “아직 프로그램은 수정하지 말고 먼저 설명해줘”라는 요청이 큰 도움이 되었습니다. 개발 방향을 충분히 이해하고 승인한 다음 수정하니 코드가 꼬이는 문제와 불필요한 재작업을 줄일 수 있었습니다.
한국사이트 스크린샷
앞으로 보완할 내용
혼합상품의 코드 매핑 문제는 해결했지만, 아직 수량과 매출금액 분배 기준을 더 세밀하게 검증해야 합니다.
앞으로는 다음 기능을 순서대로 보완할 계획입니다.
혼합상품별 구성 상품과 수량 관리
세트 수량에 따른 낱개 수량 자동 계산
상품별 매출금액 분배 기준 설정
나누어떨어지지 않는 금액의 원 단위 오차 처리
변환 전후의 전체 수량과 매출금액 검증
미매핑 상품과 오류 자료 별도 표시
자사 제조·경영 프로그램 형식에 맞는 엑셀 생성
실제 업로드 전 최종 검증 기능
처음에는 단순한 상품코드 매핑 프로그램이라고 생각했지만, 실제로는 회사의 다양한 판매 방식과 업무 규칙을 프로그램에 하나씩 담아내는 과정이었습니다.
일주일 동안 막막한 시간도 보냈지만, 문제를 작은 단위로 나누고 Codex와 충분히 대화한 후 개발을 진행하면서 다시 해결의 실마리를 찾을 수 있었습니다.
아직 모든 기능이 완성된 것은 아니지만, 이제는 문제가 생겼을 때 무작정 수정부터 하기보다 먼저 원인을 정리하고 계획을 확인하는 방법을 알게 되었습니다. 앞으로도 이런 방식으로 하나씩 보완하여 실제 업무에 안정적으로 사용할 수 있는 프로그램으로 완성해 나가겠습니다.