“어떤 대가족이 커스텀 디자인으로 티셔츠를 주문하고 사용자 후기를 남겼어요. 티셔츠마다 서로의 얼굴 넣은 티셔츠를 입고 가족 여행을 다녀왔는데, 티셔츠 덕에 가족 여행을 더 풍성하게 보냈다는 내용이었죠. 리뷰를 읽는데, 마음 한구석이 따스해졌어요. 그래서 제가 계속 마플에서 일하게 되나 봐요.”

마플은 ‘오직 당신만을 위한, 세상에 단 하나뿐인 상품을 만듭니다’라는 가치 아래 소비자가 원하는 상품을 만들어 내는 프린트 온디맨드 서비스를 제공한다. 디지털 프린팅 기술을 도입한 자동화주문생산공정을 시작으로 2015년 온라인·모바일 커스텀 에디터를 겸비한 온라인 주문제작인쇄(POD) 서비스 플랫폼으로 특허까지 받았다.

최근 라인프렌즈와 손잡고 선보인 BT21 캐릭터를 활용한 ‘라인프렌즈 크리에이터’는 자신만의 굿즈를 갖고 싶어 하는 팬들을 파고들며 인기를 끌었다.

유인동 개발자는 이곳에서 프린팅 온디맨드 서비스에 적합한 기술을 개발하고 총지휘하는 최고기술책임자(CTO)다. 고객이 올린 디자인을 의류, 폰 케이스, 액세서리 등 600여가지가 넘는 상품에 프린팅해 커스텀 상품으로 제작할 수 있는 솔루션을 개발하는 일부터, 주문시스템, 모바일 UI·UX 개발까지 팀원 8명과 함께 마플의 IT를 책임지고 있다.

▲  | 마플 유인동 CTO
▲ | 마플 유인동 CTO

3분이면 끝! 손쉬운 주문 시스템 만들기까지


마플의 ‘상품 만들기 툴’은 모바일 등 온라인에 최적화된 플랫폼으로, 상품 선택부터 이미지 업로드, 디자인 변경 등 커스텀 제품을 만들기까지 채 3분이 걸리지 않는다. 전자레인지로 카레 하나 돌리는 시간 동안 시스템 단에서 주문 확인, 인쇄용 이미지 추출, 디자인 보정 등 다양한 일이 벌어진다.
“내부 디자이너가 고객 주문을 확인하면서 이미지 해상도는 괜찮은지, 위치는 자연스러운지, 디자인이 잘 되었는지 등을 기본적으로 확인합니다. 때에 따라 인쇄용 이미지로 자동 추출하거나, 이미지 화질을 개선, 디자인 보정과 같은 작업을 진행하기도 하지요. 이러한 과정에서 고객의 다양한 요구사항이 관리툴 단계에서 반영될 수 있게 플랫폼을 만드는 데 신경 써서 개발하고 있습니다.”

어떤 데이터가 지속해서 수정이 일어나는 상황을 가정해 프로그래밍하기란 쉽지 않다. 수정할 수 있는 주체가 1명이 아니라 협업 가능한 소프트웨어가 되려면 난이도는 더욱 높아진다. 즉각적인 수정이 가능한 커스텀 프린팅 플랫폼을 만들기 어려운 이유기도 하다.

유인동 CTO는 개발에 시간이 다소 걸리더라도 제대로 된 커스텀 플랫폼을 기획하고 개발하는 데 집중했다. 빨리할 수 있는 요리보다는 맛있는 요리는 하는데 집중하는 전략을 택했다. 커스텀 환경에 익숙하지 않은 고객이 부자연스럽게 디자인을 하거나 저해상도 이미지를 올릴 상황을 대비해 이미지 해상도를 개선하거나 주문 이후 보정 작업을 할 수 있도록 시스템화하는데 집중했다.

“마플 시스템의 특징은 주문마다 담당자가 정해져 각각의 업무의 생산성을 관리할 수 있도록 한다는 점입니다. 마플은 실크스크린(날염), DTP, FLEX, 전사, PU전사, UV프린팅, 자수, 봉제 등 굉장히 다양한 인쇄방식을 지원합니다. 그에 따른 다양한 작업이 한 주문에 동시에 이뤄집니다. 이 문제를 해결하기 위해 저희는 마치 개발회사에서 사용하는 지라(Jira) 같은 태스크 시스템을 주문 제작 시스템에 넣었습니다.”

그 결과 주문이 들어오면 주문서를 처리할 각각의 작업자에게 업무가 생성되면서 자연스레 작업 순서가 정해졌다. 누구와 협업하고 작업해야 하는지 확인할 수 있게 됐다. 완료된 작업은 검수가 진행되고, 검수가 끝나면 고객에게 커스텀 상품이 배송된다.

생산성·성능·사용성 모두 잡고픈 ‘제너럴리스트’들


마플의 개발팀은 유인동 CTO를 포함해 총 8명이 일한다. 이들 모두 풀스택 개발자로 HTML, CSS, 자바 스크립트, 노드JS 등 기본적인 스택에 대한 지식이 탄탄하면서 3D, 백터 그래픽, 서버 엔지니어링 등 자신만의 강점을 갖고 있다. 다소 특이한 개발 환경 탓에 마플의 개발 문화는 특정 영역을 맡아 개발하기보다는 특정 기능을 중심으로 개발 작업이 이뤄진다. 예를 들어 리뷰 기능과 관련된 모든 개발 작업, 채팅과 관련된 모든 개발 작업을 전담해서 일하는 식이다.
“세간에서 말하는 전지전능한 개발자가 모인 곳은 아닙니다. 스페셜리스트보다는 제너럴리스트에 가깝지요. 신입이 들어오면 기본기를 배우고 쌓을 수 있는 기간을 거치고 이 과정에서 자신들의 전문분야를 만들다 보니 자연스레 풀스택 개발자가 늘었습니다. 공부할 수 있는 개발자를 뽑아 공부할 시간을 충분히 주면서 믿고 기다렸지요. 처음에는 개발 스택을 넓히는 일이 어려웠지만, 결국은 생산성이 월등하게 오르더군요. 서로 모아 이걸 만들자면 딱 만들어지는 식입니다.”

마플 개발자는 객체 지향 프로그래밍이 아닌 함수형 프로그래밍을 지향한다. 유인동 CTO는 ‘함수형 자바스크립트 프로그래밍’을 집필한 저자이기도 하다.

“서로의 코드를 조합하기도 쉽고, 사이트 성능 개선 과정에서 객체지향 프로그래밍보다 조립이 탄탄하게 이뤄져 오류율이 낮아 이 방식을 택하게 됐습니다. 객체 지향 프로그래밍 패러다임은 큰 모듈을 서로 조립하는 방식이라고 볼 수 있습니다. 이미 어떻게 동작할지 구현이 많이 되어 있는 걸 가져다 쓰는 식이죠. 맞춤형으로 조금 부족했습니다.”

함수형 프로그래밍이 순조롭게 이뤄진 건 아니다. 함수형 프로그래밍 관련 라이브러리는 기능이 부족했다. ES6에서 쓸 수 있는 비동기 프로그래밍을 잘 지원하지 못하던 상태. 비동기 프로그래밍, 동시성 프로그래밍을 지원하면서 ES6을 잘 지원하는 함수형 자바스크립트가 필요했고, 자체 개발에 나섰다.

“저희는 함수형 프로그래밍 라이브러리인 FxJS, 데이터베이스를 다루는 함수형 ORM인 FxSQL, DOM을 다루는 FxDOM 등을 개발했습니다. 마플, 마플샵, 라인프렌즈 크리에이터 등의 서비스가 더 빠르게 동작하고, 더 나은 사용성을 가지고, 잘 동작하도록 만들기 위해서죠. 해당 라이브러리는 깃허브에서 누구나 살펴볼 수 있습니다.”

유인동 CTO는 앞으로도 마플에서 하고픈 일이 많다고 밝혔다. 요즘 그의 목표는 최고의 주문제작 스마트팩토리 구축이다. 대량생산을 위한 자동화가 아니라 다품종 소량생산을 누구나 할 수 있는 플랫폼을 만들기 위한 준비를 차근차근 밟아가고 있다.

“좋은 디자인, 좋은 콘텐츠를 가진 사람이 먹고사는데 도움 되는 환경을 만들고 싶습니다. 커스터마이징 툴을 통해서 자신이 가진 디자인을 쉽게 제품화하고 팔 수 있게 더 좋은 개발 솔루션을 만들기 위해 노력하겠습니다.”

저작권자 © 블로터 무단전재 및 재배포 금지