@ 외주 턴키AI 퇴직자 경력진단 앱
2개월 만에 MVP 출시 (1인 풀스택) / Google Play 4.6점 · 1,000+ DL 검증
10년 ASP 레거시를 Java 17로 바꾸는 건 기술 문제가 아니라, 현장 이해의 문제였다.
외주 턴키 의뢰는 단순해 보였다 — "10년 된 ASP 레거시를 Java 17로 바꿔달라." 그런데 들여다보니, 코드를 새 스택으로 옮기는 일이 아니라 그 안에 박힌 도메인을 다시 그리는 일이었다. 스파게티 코드, 기도하며 배포하는 신규 기능, 어디서 터질지 모르는 유지보수 — 이게 모두 도메인 모델이 코드에 박혀있지 않다는 한 가지 사실의 증상이었다.
인쇄/명함 도메인은 주문 → 디자인 검토 → 인쇄·제작 → 배송이라는 한 흐름이다. 그런데 코드에서는 이 흐름이 각자 다른 모듈에 흩어져, 한 주문이 다음 단계로 넘어갈 때마다 사람 손과 정황이 필요했다. 기술 스택을 바꾸기 전에, *이 한 흐름을 한 모델로 표현할 수 있느냐* 가 진짜 시작점이었다.
관찰 노트
스파게티는 증상이었다
신규 기능 추가가 매번 기도였던 진짜 이유는 코드 품질이 아니라 도메인 모델 부재였다
주문-제작-배송이 코드에서는 단절
현장에서는 한 흐름인데 코드는 모듈 단절 — 단계 전환마다 사람 손과 정황이 필요했다
기술 스택을 먼저 바꾸는 일반적 마이그 경로 대신, 도메인 모델을 먼저 정의했다. 인쇄 공정의 한 흐름을 코드 한 모델로 표현하지 못하면, 어떤 스택으로 옮겨도 같은 스파게티가 다시 생긴다.
tradeoff기술 스택 모더나이즈 우선 vs 도메인 모델 우선
주문·제작·배송을 한 시스템 안의 한 흐름으로 통합. 단계 전환마다 사람 손이 들어가던 패턴을 제거하고, 한 주문의 생명주기를 시스템이 끝까지 추적하도록 했다.
ASP → Java 17 + Spring Boot 3.x 는 단순 스택 변환이 아니라, 도메인 모델을 다시 그릴 수 있는 정확한 자리였다. 새 스택 위에서 공정 흐름 모델을 first-class 로 표현.

레거시
ASP 10년 → Java 17
단순 스택 변환이 아니라 도메인 모델 재정의
공정
단절 → 한 흐름
주문 → 디자인 → 인쇄 → 배송 통합
배포
기도 → 추적
신규 기능 추가가 안전한 시스템
책임
외주 턴키 풀스택
도메인 발견부터 마이그까지 한 사람
“기술은 도메인의 언어를 말할 수 있을 때 진짜 가치를 만든다.”
스파게티의 진짜 원인은 코드 품질이 아니라 도메인 모델 부재라는 사실을 짚어냄
공정 흐름 기반 데이터 모델링 + 풀파이프라인 통합 + Java 17 자리에서 모델 재정의
기도하며 배포하던 시스템을, 도메인 흐름이 first-class 인 시스템으로 다시 세움 — 외주 턴키 풀스택 단독
More work