스태프 프로젝트에 참여한 적 있나요?
스트라이프 제품의 모든 컴포넌트에 모두 관여했어요. 시간이 지나면서 제가 참여했던 프로젝트는 점차 독립된 팀으로 이양됐고, 특히 그중에서도 시니어 엔지니어로 참여했던 두 프로젝트는 스태프 프로젝트가 되기에 충분했는데 그 프로젝트들이 바로 스트라이프 레이다와 스트라이프 엘리먼트예요.
레이다의 경우에는 처음부터 새로 만든 제품으로 최대한 사용자에게 신속하게 제품을 전달하기 위해 우리가 구현해야 할 것과 우리가 안전하게 프로젝트 범위를 좁히는 것에 대한 트레이드오프를 철저히 고민해서 만든 제품이었죠. 2016년 10월에 제품을 출시했는데 그 어느 때보다 매끄럽게 출시했어요. 그 후로 가장 성공한 제품이 됐죠.
스트라이프 엘리먼트는 제가 인프라스트럭처를 구축하고 카드 엘리먼트 API를 처음부터 다시 설계해서 3개월도 안 돼서 출시한 제품이에요. 그게 가능했던 이유는 ‘개밥먹기(dogfooding)’10를 철저히 했기 때문이죠. 엘리먼트를 구현하는 동안 적응화(customization) API의 한계를 테스트할 수 있도록 서로 다른 설계 프레임워크와 (품질이 다양한) 디자인을 적용한 소규모 이커머스(e-commerce) 스토어를 세 개 만들었어요. 그때부터 십여 명의 엔지니어가 기반 코드로 성공적으로 개발할 수 있었고, 새로운 스트라이프 체크아웃 제품의 기반이 됐으며 더 중요한 것은 원래 API 설계에 거의 헛점이 없었다는 거예요. API 제품을 확장하다 보면 브레이킹 체인지(breaking change)11가 발생하기 마련인데 그러면서 개발자가 실질적으로 API를 어떻게 사용하는지 배울 수 있었어요. 최초의 API 설계를 잘 검증한 덕분에 브레이킹 체인지를 최소화하면서 빠르게 제품을 출시할 수 있었습니다.