회사 소개
home
Code States
home
🦋

교육 후불제 플랫폼을 만들어가요, 진석/규현님

포지션
Software Engineer
WWP
발행일
2022/05/24
교육 후불제 플랫폼 WEWIN을 만들어가고 계신 개발자 진석님, 규현님을 소개합니다! 코드스테이츠는 ‘선불’이 당연했던 교육시장에, ‘후불’이라는 새로운 지불수단을 제공하고 있습니다. 먼저 배우고 나중에 내는 후불제 옵션을 통해, 누구나 경제적•사회적 배경에 관계없이 필요한 교육을 필요한 시기에 들을 수 있는 세상을 만들어가고자 합니다. 이를 실제 IT 제품으로 구현해나가고 있는 WEWIN 엔지니어 분들의 이야기를 들어보시죠!
진석님
규현님
코드스테이츠 엔지니어링팀 구성
WWP (WEWIN Product, 교육후불제 플랫폼 제품팀)
EXP (Educational eXperience Product, 교육경험 제품팀)
ISP (Internal System Product, 인터널시스템 제품팀)

Q. 안녕하세요 진석님, 규현님! 간단한 자기소개와 WEWIN 프로덕트에 대한 설명을 부탁드려요.

WEWIN(코드스테이츠 교육 후불제 플랫폼) : https://wewin.im/
진석님
안녕하세요. WEWIN 프로덕트 팀(이하 WWP)에서 백엔드 개발을 맡고 있는 정진석 이라고 합니다. WWP팀은 코드스테이츠의 시그니처인 교육 후불제를 솔루션화하여, 코드스테이츠뿐만 아니라 모든 교육 기관이 후불제를 도입할 수 있도록 하는 플랫폼을 만들고 있어요.
규현님
반갑습니다. WWP에서 진석님과 함께 백엔드 개발 업무를 함께 하고 있는 전규현입니다. WEWIN은 국내 유일의 종합 교육 후불제 솔루션을 제공하는 서비스입니다. 교육 도메인에서 기존의 보편적인 지불수단만을 선택해야 했던 사람들에게, 먼저 배우고 나중에 내는 후불제 옵션을 제공함으로써, 필요한 교육을 적시에 받을 수 있는 세상을 열어가고자 노력하고 있습니다.
WEWIN 을 통해 경험해볼 수 있는 후불제 수업 과정들

Q. 두 분이 팀 내에서 맡고 계신 역할이 궁금해요. 각각 어떤 일들을 해주고 계신가요?

진석님
현재는 WWP에서 백엔드 개발을 맡고 있습니다. 클라이언트에 필요한 백엔드 API를 만들거나, 시스템 내 자동화가 필요한 부분들에 대해서 개발을 하고 있습니다.
규현님
현재 WEWIN 서비스가 각 고객에게 제공되어야 하는 모든 퍼널에 대한 IT Product가 완벽하게 갖추어진 상황은 아닙니다. 저는 주로 지원자와의 후불제 계약 과정에 대한 경험을 개선하고, 후불제 계약 이후 교육을 제공하는 타 기관과 WEWIN 서비스와의 연계를 위한 연동 시스템을 구축하고 지속적으로 개선해 나가고 있습니다.
또한, 고객의 지원 및 선발 과정에서 외부 서비스 의존성을 최소화하고 고객 경험을 개선하기 위해, 잠시 ISP 팀에서 신규 지원 및 선발 시스템의 백엔드 서비스 개발에도 참여했습니다.

Q. WWP팀은 어떤 개발환경과 기술스택을 가지고 있는지 소개 부탁드려요! 이와 다른 스택을 가지고 있는 사람들이 입사한 경우도 있는지도 궁금해요.

진석님
WWP팀은 현재 프론트엔드 백엔드 구분없이 Typescript를 활용 하고 있습니다. 클라이언트 애플리케이션을 만들기 위해 React를 활용 하고 있고, 백엔드 서버 구축을 위해 NestJS 프레임워크를 활용 하고 있습니다. 프론트엔드와 백엔드간 통신은 대부분 GraphQL을 활용 하여 전달 하고 있습니다.
입사하신 분들의 상세스택이 정확히 일치 하는 경우는 잘 없지만, 모두 자바스크립트 개발을 해보신 경험이 있기는 했습니다. 다른 스택을 가진 경우도 많이 있었는데요. 규현님만 하더라도 이전에는 파이썬을 주 스택으로 활용 하셨던 걸로 알고 있어요.
규현님
저는 이전에 Python의 Django와 Flask 를 혼합하여 WEWIN과 유사한 시스템을 구축하고 개발한 경험이 있습니다. 그보다 이전에는 Java Spring이나 Scala Play! Framework, PHP Codeigniter 등을 사용해 백엔드 시스템을 개발해 보았습니다.
NestJS와 GraphQL은 코드스테이츠에 입사하고 모두 처음 경험해 본 스택이었는데요. NestJS의 경우 Spring과 유사하게 잘 구조화 되어 있었고, Java 대비 Typescript 라는 언어의 특성상 비교적 프레임워크의 동작 구조를 이해하고 실제 기능하는 서비스를 작성하는 데까지 걸리는 시간은 걱정했던 것만큼 길지 않았습니다.
REST나 WebSocket 위주의 개발 경험만을 가지고 있던 입장에서 GraphQL 또한 대단히 새로운 컨셉이었습니다. 초반엔 REST에 익숙했던 그동안의 개발 사고방식을 GraphQL의 컨셉과 지향점에 맞도록 바꾸는 것이 조금 버거웠지만, 프론트엔드 개발자 분들이 GraphQL을 사용하는 방식을 살펴보고, Field Resolver 나 Directive 와 같은 주요한 컨셉들을 이해하게 되면서 많이 편해졌습니다.

Q. WEWIN의 교육 후불제는 다른 프로덕트와 비교해서 개발자들에게 어떤 매력이 있나요?

진석님
고객이 더 다양 해졌습니다. 정확히 정의가 일치하지는 않지만 저희의 사업 형태를 B2B2C라고 편하게 부르고 있는데요. 이전에는 저희 크루들이 사용할 어드민 기능과 최종 고객이 사용할 제품 두가지를 만들었다면, 이제 파트너사까지 포함되어 총 세 부류의 고객을 위한 애플리케이션을 만들어야 합니다. 개발을 할 때, 고민을 많이 할 수 있다는 점이 매력이라면 매력일 수 있을 것 같네요. 또한 아직 한국에는 익숙하지 않은 교육 후불제라는 도메인을 새로 경험 해볼 수 있다는 점도 장점인 것 같아요.
규현님
서비스에서 다루어야 하는 퍼널이 길고 많다는 점, 아직 본격적인 단계는 아니지만 금융의 도메인을 다루고 있는 서비스라는 점, 교육을 수강하는 고객 뿐 아니라 교육 서비스를 제공하는 기관 또한 저희 제품의 고객으로서 함께 하고 있다는 점이 주요한 포인트로 볼 수 있을듯 합니다.
특히 퍼널이 길고 많은 점은 단점으로 작용할 수도 있지만 그만큼 전반적인 고객 경험에 대해 고민해 보아야 할 절대적인 면적이 늘어난다는 것을 의미하기도 하고, 제품이 보다 개선되어 가고 있는 모습을 고객들에게 꾸준히 보여주고 피드백을 받을 수 있다는 점은 장점이라고 생각합니다.
금융+교육을 결합한 WEWIN 서비스! 후불제 납부 시스템이 어떻게 구현되는지 궁금하시다면 https://wewin.im/ 을 찾아주세요!

Q. 지금까지 진행된 개발 과정에서 가장 흥미로웠던 것 또는 새롭게 배우신 것들이 있다면 무엇인가요?

진석님
아직까지는 플랫폼이 고도화 단계는 아니기 때문에, 개발 과정 중에서 많은 경험이 있었다고 하면 거짓말일 것 같아요. 그래도 배운점을 꼽자면, 현재 플랫폼이 성장중에 있기 때문에 팀원 규모도 점점 늘어나고 있고, 내가 지난달에 작성한 코드를 새로 오신 팀원 분에게 소개 해드려야 할 일이 굉장히 빈번 합니다. 당장 비즈니스 상황에 맞추어 조금 아쉬운 코드를 작성하였다고 하더라도, 꼭 백로그로 리팩토링 과제를 함께 만들어 두고, 새로운 팀원을 받을 준비를 해야 한다는 점을 뼈저리게 느끼고 있는 것 같아요.
규현님
아직은 개발팀의 규모가 크지 않고 비즈니스 자체도 다양한 시도와 노력을 통해 사업의 성공을 위한 최적의 방정식을 찾아나가는 과정 속에 있어요. 그렇다보니 비즈니스를 담당하는 팀과 밀접하게 소통하고, 서로가 가진 어려움들을 공유하게 되는데요. 더 나은 제품을 만들 수 있는 방법을 함께 고민하고, 만들어 나가는 점이 가장 흥미롭습니다. 또한 개발자들만 모여있는 기능 조직으로서의 개발팀이 아니라 PM, 디자이너와 함께 목적조직으로 일하고 있는데요. IT제품을 통해 비즈니스의 문제를 보다 구조적이고 완성도 있게 해결할 방법을 만들어 가고 있다고 생각합니다.

Q. 개발팀 하면 떠오르는 것이 바로 코드리뷰인데요. 코드스테이츠 엔지니어링팀은 어떤 방식으로 코드리뷰를 하고 계신지 궁금해요.

진석님
현재 팀이 그렇게 크지 않기 때문에, 코드리뷰에 다양한 분들의 의견이 담기지 못해서 조금 아쉽긴 하지만, 그래도 Github의 코드리뷰 기능과 브랜치 프로텍션 기능을 활용하여, 리뷰 및 승인 없이 코드가 병합 되는 것을 최대한 지양하고 있습니다.

Q. 코드스테이츠 엔지니어링 팀에 합류하게 되면, 특히 어떤 분야에 대해서 전문성을 쌓아나갈 수 있나요?

진석님
개발자로서 개발 뿐만 아니라 애자일 스크럼 혹은 칸반방식으로 진행되고 있는 개발 방법론에 대한 경험과 PM, 디자이너 동료들과 함께 고객의 요구사항을 상세 기능으로 설계 해나가는 과정을 반복적으로 경험 하실 수 있을 것이라고 생각 합니다.
규현님
고객이 겪고 있는 문제에 대해서 사전에 정해진 솔루션에 따라 단순히 IT 제품으로 만드는 것에 머무르는 것이 아니라, 문제를 기술적으로 어떻게 정의하고 IT 제품을 통해 해결해 나아갈지에 대한 논의 과정부터 엔지니어가 적극적으로 참여하면서 설계하고 이에 따라 실제 개발을 진행할 수 있는 경험은 아무 곳에서나 얻을 수 없다고 생각합니다.

Q. 새로운 동료를 맞이할 때 중요하게 보시는 게 무엇인지 궁금한데요. 인터뷰에서는 주로 어떤 이야기들을 나누고 계신가요?

진석님
인터뷰를 진행하다 보면 저희가 고민하고 있는 주제에 대해서 비슷한 경험이 있으신 경우에 많은 이야기를 나눌 수 있고, 합류 하신 뒤에도 공감대를 가지고 문제를 잘 해결 해나가시는 경우가 많았던 것 같아요. 모든 분들이 각자의 경험과 장점이 있으시겠지만, 현재 팀에서 하고 있는 고민들에 대해서 충분한 고민을 해보신 경우 가장 잘 맞았던 것 같습니다. 현재 저희가 하고 있는 고민은 추후 기술 블로그로 소개 해드릴 수 있을 것 같아요!
규현님
자신의 생각과 경험을 얼마나 논리적으로, 설득력있게 전달해주실 수 있는지를 중요하게 보는 것 같습니다. 기술적 수월성이나 경험의 풍부함도 물론 중요한 강점이지만, 이러한 탁월한 역량들을 일상적인 업무 과정 속에서 충분히 드러낼 수 있는 커뮤니케이션 역량이 충족되지 않는다면 큰 의미를 부여하기 어렵다고 생각합니다.

Q. 엔지니어링팀만의 자랑할 만한 문화나 분위기가 있다면 무엇인가요?

진석님
팀명이 엔지니어링 팀이라 흔히 개발자들만 있는 팀으로 오해 하실 수도 있는데, 저희팀은 제품을 만들기 위한 모든 포지션의 크루 분들이 함께 모여 있는 팀인데요! 팀에서 워낙 자기 경험을 공유 하고 싶은 분들이 많다보니 자연스럽게 “엔지니어링 데이” 라는 이벤트가 생기게 되었습니다. 엔지니어링 데이는 다양한 직군(PM, Designer, 개발자 등)이 모여 제품을 만들 면서 경험 했던 내용 혹은 앞으로 고민 하고 있는 내용들을 공유하는 가벼운 세미나 형식으로 진행 하는 행사 입니다. 제품팀이 모두 모여서 각 직군의 이야기를 나누는 형태의 이벤트는 자주 보지는 못했어서 인터뷰 시 할때 저희 팀만의 자랑 할만한 문화로 말씀 드리고 있습니다.
3주마다 진행되는 엔지니어링데이에서는 참석자들이 준비한 다양한 주제로 발표와 토론이 진행되고 있어요!
엔지니어링데이 워크스페이스에는 어떤 정보들이 아카이빙되고 있을까요?

Q. 마지막으로 미래의 엔지니어링팀 지원자 분들을 위해 한 마디 부탁드려요.

진석님
스타트업에서 일할 때 가장 문제가 되는 상황은 ‘풀어야 할 문제가 없는 상황’이라고 생각하는데요. 현재 코드스테이츠 엔지니어링 팀에는 풀어야 할 문제가 산더미처럼 쌓여 있답니다. 각자 팀의 페이스에 맞게 산적한 문제를 함께 해결 해나가실 분들은 코드스테이츠로 지원해주시면 좋을 것 같습니다!
규현님
문제를 해결하고 제품을 만드는 과정에서 기술적 도전과 실험을 해보는 것에 조직이 전반적으로 열려있고, 실제로 그러한 기술적 시도를 바탕으로 제품을 만들어 나갈 수 있는 환경을 갖추고 있다고 생각합니다. 주도적으로 고객들이 처한 문제를 탐색하고 이를 기술적으로 풀어나가는 것에 기쁨을 느끼신다면 개발자로서 함께 경험을 쌓아나갈 수 있기를 기대합니다.
 WWP 팀의 영입 진행중인 포지션 보러가기
진석님, 규현님과 함께 코드스테이츠에서 일하고 싶다면,
Code States Career 를 살펴봐주세요!