GDSC 프로젝트 마라톤 Farewell Day

변현섭·2023년 11월 18일
0

활동 내역

목록 보기
8/9

저는 오늘 11월 18일(토) 인하대학교 하이테크 대강당에서 개최된 GDSC 프로젝트 마라톤 Farewell Day에 다녀왔습니다. 약 2개월 간의 프로젝트가 오늘로써 막이 내리게 되는데요. 총 8개의 팀이 참여하여 각자만의 아이디어로 애플리케이션을 구성하고 이에 대해 발표하는 시간을 가졌습니다. GDSC 프로젝트 마라톤은 Kick off 아이디어 발표회, Rush Day, Farewell Day로 구성되어 있습니다. Rush Day는 팀원이 한데 모여 개발하는 자리를 마련해주는 프로그램인데 선택적 참여이기도 했고, 일정도 안맞아서 저희 팀은 참가하지 않았습니다. 아이디어 발표회의 내용이 궁금하신 분은 아래의 포스팅을 참고해주세요!
>> GDSC 아이디어 발표회

1. 행사장 도착

대강당에 도착하니 팻말이 보이더라고요. 1부에는 1~2학년들로 구성된 미니 해커톤, 이른바 그로스톤 발표회가 있었습니다. 제가 참여한 행사는 2부 Project Marathon 발표회입니다.

제가 2시 20분에 도착했는데, 행사장이 텅 비어있더라고요. 혹시 Korean time이란 말에 대해 아시나요? ㅋㅋ 2시 반까지 오라고 그러면 2시 반까지 절대 다 안 오는 현실! 안타깝네요.. 그래서 행사는 예정보다 10분 늦춰진 2시 40분에 시작되었습니다.

팀별로 지정석이 있더라고요. 자리에 앉아서 인하대 SW중심 사업단에서 제공해주신 샌드위치를 먹었습니다.

2. 아이디어 소개

이번 프로젝트 마라톤에 참여한 팀들의 아이디어에 대해 간단히 소개드리도록 하겠습니다.

여러분들은 어떤 아이디어가 마음에 드시나요? 참고로, 저희 팀은 제일 마지막에 위치한 시스템 에어컨 견적 플랫폼 에어컨 모아입니다. 제가 남의 아이디어를 평가할 수 있는 입장은 아니지만은.. 개인적으로, 개발디상국 팀의 "발표자를 위한 발표 AI 피드백 서비스"가 제일 좋았던 것 같습니다. (물론 저희팀 뺐을 때요 ㅋㅋ)

이 서비스는 발표를 앞두고 있는 학생이나 취준생을 주요 타겟으로 하고 있으며, 발표 영상을 업로드하면 말의 스피드, 불필요한 행동 등을 피드백해주는 AI 기반 웹 어플리케이션이었습니다. 물론 실제 서비스화 및 상용화를 하기에는 너무 높은 수준이 요구된다는 점이 단점이었지만, UI나 아이디어는 제일 깔끔하고 괜찮았던 것 같습니다.

3. 프로젝트 발표

참고로 심사에는 현직 프론트엔드/백엔드 개발자 세 분과 인하대학교 SW 중심사업단 소속 컴퓨터공학과 교수님 두 분께서 수고해주셨습니다.

GDSC에는 각 팀마다 현직자 멘토가 배정되어 멘토링을 받을 수 있는 기회가 많았습니다. 저희 팀에 배정된 멘토님은 현직 BE 개발자분이셨고, 실제 PM으로서 창업 경험도 있으신 분이었습니다. 멘토분께서 해주신 말씀 중 프로젝트 준비에 가장 큰 도움이 되었던 말씀은 "다소 모순적으로 들릴지 모르지만, 개발 대회에서 개발보다 오히려 개발 외적인 부분이 더 중요합니다."라는 말씀이었습니다.

무슨 의미냐면, 학생들은 대부분 다양한 프로그래밍 언어, 화려한 기술 스택, 코드의 효율성 및 가독성 같은 요소만을 중시하는 경향이 있습니다. 그러나 냉정하게 말하면, 그것을 잘했다고 해서 플러스 요인이 되는 것은 아닙니다. 심사위원들이 기대하는 것은 여러분의 "개발 스토리"이고, "개발 코드"에는 그다지 관심이 없습니다. 여기서 말하는 개발 스토리에는 아래와 같은 내용이 포함될 수 있습니다.

  • 설계하고자 하는 앱과 유사한 앱을 직접 사용해보고, 아쉬운 점을 찾아낸다. 이 과정에 대해 자세히 설명하고, 직접 개발한 서비스에서는 이러한 내용이 어떻게 개선되었는지 보여준다.
  • 서비스에 대한 수요와 시장성을 조사하기 위해 실제 업체를 컨택한 후, 업체 측에서 보인 긍정적인 입장과 부정적인 입장에 대해 기록한다. 이것이 향후 서비스 개발의 방향성에 어떻게 반영되었는지 보여준다.

즉, 뻔한 취지나 필요성을 불필요하게 강조하거나 화려한 기술을 보여주려고 하기보다는 오히려 개발의 방향성이 도출되기까지의 과정, 시장성 및 수요 분석 과정, 유사 플랫폼과의 차이점을 찾아나가는 과정을 발표 자료에 녹여내는 것이 훨씬 더 중요하다는 것입니다. 멘토님께서 말씀하시길, 각종 대회에서 학생들이 발표하는 것을 들어보면 이러한 내용을 발표하는 팀을 찾아 상을 주고 싶어도, 찾아보기 어렵다고 하셨습니다.

이러한 멘토링 내용을 반영하여 저희 팀의 발표는 아래의 순서로 진행되었습니다.

  • 팀 구성 및 역할 분담
  • 핵심 기능
  • 시장 조사
  • 추후 방향성
  • 개발 배경
  • 서비스에 대한 수요
  • 업체 및 고객 유치 및 추후 방향성

아무래도 저희 팀이 마지막 순서이다보니, 저희 팀의 순서가 되기를 꽤 오래 기다렸는데요. 5시가 조금 안 되어서야 드디어 저희의 차례가 되었습니다. 저희 팀은 실제 시스템 에어컨 업체 4군데와 연락을 취하였고, 이 과정에서 전달 받은 업체 측의 반응을 PPT에 나타내었습니다. 또한 이러한 반응이 앱 개발의 방향성과 향후 계획에 어떠한 영향을 미쳤는지도 빼놓지 않고 발표하였습니다.

또한 시장성 및 수요 조사 과정을 발표할 때에는 공신력있는 통계치와 더불어 시스템 에어컨 견적에 대해 사용자들이 직접 겪은 불만 사항 등을 자료로 모아 보여드리기도 하였습니다. 이처럼 저희 팀은 개발적인 부분을 강조하기보다는, 오히려 저희만의 개발 스토리를 중점적으로 발표하기 위해 노력하였습니다.

4. 발표 피드백

발표가 끝나고 심사위원들의 질문 및 피드백 시간이 있었습니다. 다른 팀들에게도 되게 날카로운 질문을 많이 하셔서 걱정이 많이 되었었는데요. 저희가 전달받은 질문 및 피드백은 아래와 같았습니다. (FE는 프론트엔드 현직자, BE는 백엔드 현직자, Prof1는 교수님 1, Prof2는 교수님 2라고 하겠습니다.)

① FE: "현장에 가서 갑작스럽게 견적이 변동되는 상황이 발생하지 않도록 견적서에 현장 사진을 첨부하는 기능이 추가되었으면 좋겠다."
→ "향후 앱을 출시할 때에는 꼭 추가하도록 하겠습니다."

② Prof1: "숨고(숨은 고수들) 앱과의 차이점이 무엇인가?"
→ "숨고는 폭 넓은 분야의 생활 서비스를 제공하는 반면, 저희 팀의 에어컨모아는 시스템 에어컨만 전문적으로 관리하는 앱입니다. 숨고에서 시스템 에어컨을 검색하더라도 일반 에어컨에 대한 정보가 제대로 필터링되지 않는 것을 확인하였습니다. 이러한 아쉬움을 해결했다는 점에서 차이가 있습니다.

③ Prof1: "특정 분야만을 분리한 서비스가 과연 필요한가에 대해 의문이 생긴다. 그만큼 시장성이나 수요가 감소한다는 뜻이 아닌가?"
→ 물론 분야가 숨고에 비해 축소된 것은 사실이나, 그렇다고 해서 시장성이나 수요가 없지는 않을 것이라 생각합니다. 카닥이라는 앱도 자동차 수리에 대해서만 전문적으로 관리하고 있지만, 고객의 니즈를 충분히 충족시키는 앱으로 자리를 잡았듯, 에어컨 모아도 시스템 에어컨에 대한 이렇다할 견적 플랫폼이 없는 시점에서 어느 정도의 시장성을 확보할 수 있을 것이라 생각합니다."

④ BE: "무엇보다 이러한 앱을 운영하려면 시스템 에어컨에 대해 높은 이해도가 요구될 수 있다. 향후 이 점을 고려하여 서비스를 상용화하기 바란다."
→ "동의합니다. 시스템 에어컨에 대한 내용뿐 아니라 업체의 상황에 대해서도 이해하려고 노력하고 있습니다."

⑤ Prof2: "좀전에 카닥을 예시로 들었는데, 자동차는 수시로 관리가 필요하니까 지속적인 사용을 유도할 수 있지만, 시스템 에어컨은 설치 단계 또는 1년에 한번 청소할 때밖에 수요가 없을 수 있다는 점에서 수익성 모델이 다소 빈약해보인다."
→ "시장 조사 및 통계청 자료를 확인해본 결과 시스템 에어컨에 대한 요구가 매년 약 20만 가구 수준이라고 합니다. 여타 플랫폼에 비해 주요 타겟층이 좁고 수익성 모델이 빈약할 수 있는 점은 인정하지만, 마땅한 홍보 수단이 없는 시스템 에어컨 업체 측의 수요가 분명히 존재함을 확인하였습니다."

⑥ BE2: "B2C에 초점을 맞춘 듯 보이는데, B2C 기반 중개 플랫폼에는 치명적인 맹점이 있다. 바로 플랫폼을 통해 소개를 받더라도 연락처를 교환한 후 플랫폼을 우회하여 거래하는 경우이다. 이 때문에 B2B 모델로 개발하는 것이 수익성 모델에 안정감을 더하는 데 도움이 될 것 같다."
→ "저희 팀도 일반 고객에 대한 니즈와 대형 건물에 대한 니즈가 기본적으로 다를 수 밖에 없음을 이해하고 있고, 업체측 수요를 어느 정도 확인한 바 있기 때문에 오롯이 B2B 서비스로 전환하는 것에 대해서도 충분히 고려해보도록 하겠습니다."

확실히 질문이 많기도 했고 질문의 수준도 높아서 발표하신 PM분께서 많이 당황하신듯 했습니다. 그래도 멘토님께서 말씀하신대로, 저희 팀은 유사 앱과의 차이점을 미리 연구해두었기 때문에, 다른 팀에 비해 수월하게 답변할 수 있었고, 발표 자료에 개발 과정에 대한 스토리가 담겨있기 때문에 저희 답변에 어느 정도 신뢰성이 부여되는 것 같은 느낌도 들었습니다. 그렇게 무사히 압박(?) 질문을 잘 이겨냈습니다.

심사위원분들께서 질문하신 내용을 종합해보면, 심사위원들이 중요시하는 3가지 요인이 있었습니다. 첫번째는 아이디어의 독창성 및 차별성을 의미하는 differentiation이었고, 두번째는 고객을 유치할 수 있는 motivation, 세번째는 유치된 고객을 지속적으로 유지하는 retention이었습니다. 3가지 션(?)이 앱 개발에 있어 매우 중요한 요소인 것 같네요! 여러분들도 이 부분을 신경쓰시고 개발하시면 좋을 거 같습니다.

5. 결과 발표

결과 발표에는 약 20분 정도의 시간이 소요되었습니다. 기다리는 동안 1부 그로스톤 행사에서 1~2학년들이 만든 서비스를 구경하고 평가하는 시간이 있었습니다. 저는 1~2학년들이 만들었다길래 별 기대는 안했습니다 ㅋㅋ 근데 생각보다 너무 잘했더라고요..! 3학년인 저는.. 음.. 더 분발하겠습니다..!

아무튼 드디어 결과 발표 시간이 되었습니다. 총 8개의 팀 중에 3팀만이 대상(1등), 최우수상(2등), 우수상(3등)의 영예를 안게 되는데요! 은근히 긴장되더라고요..? 그 결과는.. 두구두구.. 저희 팀이 최우수상으로 전체 2등을 했습니다.

나름 구글에서 진행하는 행사인데, 2등이라니 감격스럽네요! 이게 도대체 얼마만에 수상인지.. 그동안은 참여에 의의를 두는 경우가 많았는데, 이제서야 그 보상을 받게 되네요! 너무 기뻤습니다. 다른 팀들도 워낙 잘하기도 했고, 심사위원분들이 질문을 너무 많이 하셔서 3등이라도 했으면 좋겠다는 마음이 간절했는데, 2등이라니..! 정말 다행입니다.

혹시나 여러분들께서 궁금하실까봐 다른 수상팀을 이야기해드리겠습니다. 대상은 예상대로 개발디상국 팀이었고, 우수상은 나날이 팀(날씨에 맞는 코디를 사전에 크롤링된 무신사 이미지로 보여주는 앱 개발)이었습니다.

6. 개발 뒷 배경

겉보기에는 저희 프로젝트가 성공적인 것 같지만, 우여곡절이 많았습니다. 저는 이번 프로젝트에서 Android Kotlin(앱 프론트엔드) 개발자의 역할로 참여하였습니다. 백엔드 개발을 더 좋아하고 즐기기는 하지만(블로그 이름도 백엔드 연구소이지만), 앱 개발 자체를 좋아하는 터라 앱 프론트엔드 개발도 공부를 많이 했는데요! 프론트엔드 개발에 집중하던 중 백엔드의 깃허브를 구경해보았는데, 개발이 제대로 진행되고 있지 않다는 것을 프로젝트 마감 4일 전(화요일)에 알게 되었습니다.

깃허브를 보니 코드도, Entity도, API도 별로 없더라고요..! 로컬에서 개발하는 중이고 아직 Push를 안한거겠지라고 생각했는데, 백엔드 측에 물어보니 실제로 개발이 제대로 안 되고 있었던 것입니다. (이 때, 프론트엔드에서는 서버 배포 및 API 명세서만 애타게 기다리는 중이었습니다.) 순간 그동안의 노력이 모두 물거품이 되는 것만 같았습니다. 오늘에서야 들은 거지만, 실제로 PM분께서는 프로젝트가 무산되는 것도 생각하셨다고 하네요.

그래서 제가 백엔드와 프론트엔드를 겸하여 맡기로 했습니다. 이럴려고 둘 다 배운 것은 아니지만요 ㅋㅋ 4일 남은 시점에서 서버를 혼자 만드는게 가능할지는 모르겠지만, 해볼 수 있는 데까지 해봐야겠다는 생각으로 코드를 짜기 시작했습니다. 그래도 예전에 사용한 코드를 붙여넣는 방식으로 구현해보니, 나름 짧은 기간 안에 개발이 가능했습니다.

아무튼 저는 이틀밤을 꼬박 새워 서버를 API 명세서와 함께 배포하였고, 남은 이틀 동안 필요한 API를 더 추가하거나 프론트엔드 측에서 API를 연결하였습니다. 아래 화면에서 화요일부터 얼마나 급박하게 개발했는지 확인하실 수 있을겁니다. (제 자랑을 하려는 건 아니지만, 저 많은 서버 코드 커밋을 저 혼자서 다 하고, 프론트 작업도 병행하였습니다..)

또한 저희 프론트 팀원들 모두 밤을 새며 API를 연동하였습니다. 아래의 사진은 저희 프론트 파트장님께서 밤새 작업을 계속 하시고는 프로젝트 마감 당일 새벽 6시에 시연영상을 공유하는 사진입니다. 저도 작업하다가 새벽 3시쯤 잠에 들었는데요. 아침에 일어나서 카톡을 보니 약간 좀 울컥하더라고요. 팀장님이 밤 11시부터도 많이 피곤해 하셨었는데, 그 뒤로 무려 7시간을 내리 잠도 안자고 작업하셨습니다 ㅠㅠ

급하게 개발해야되는 상황이다보니 구획을 명확히 구분하여 개발하기보다는 여러 명이 밀접한 기능을 개발하였는데요. 그러다보니 충돌이 발생해 결국 구현하지 못한 부분도 조금은 있었지만, 그래도 중요한 기능에 대해서는 충분히 완성된 모습을 갖출 수 있었습니다. 팀장님께서는 결국 대회에는 오지 못하셨습니다 ㅠㅠ 늦게라도 오시기로 하셨는데, 밤을 새서 몸 상태가 안 좋으시다네요.. 같이 상 받았으면 팀장님이 참 좋아하셨을 것 같다는 아쉬움이 많이 들더라고요. 저도 저대로 고생하긴 했지만, 저희 팀장님도 정말 고생을 많이 하셨거든요.

그리고 이 말은 좀 조심스럽긴 하지만, 당연히..! 다소 무책임한 모습을 보인 백엔드 팀원들이 조금은 원망스러웠어요.. 어쨌든 안 새도 될 밤을 샌 것은 맞으니까요. 그래도.. 한 팀이니까..! 또 결과가 좋았으니까요! "끝이 좋으면 다 좋다!" 이 상황에 딱 맞는 말이네요.

저도 나름 대회와 프로젝트에 대해서 경험이 좀 있다면 있는데요(많은 건 아니지만요). 참여할 때마다 늘 새롭습니다. 프로젝트? 쉽지 않아.. 쉽지 않아..(절레절레)

7. GDSC 마라톤 종료

이렇게 다사다난했던 프로젝트가 드디어 마쳐졌습니다! 수상한 팀에게는 아래와 같은 보상이 있습니다!

아래는 GDSC 프로젝트 마라톤 수료증입니다. G마완! (GDSC 마라톤 완주라는 뜻)

아래는 Google 후드티인데요. 구글 굿즈라기에 기대를 많이 했습니다만.. 퀄리티가 좀.. 많이 아쉽네요. 구글하면 검은색 아닌가요?(검은 색이었으면 월요일에 입고 등교했다..) 그리고 일괄적으로 2XL 사이즈인데, 제 몸 사이즈는 L이라서요.. 저희 팀원들 모두 덩치가 큰 편은 아니라 흠..

그리고 GDSC 배지입니다. 이건 참가자 전원에게 주어지는 겁니다.

6시가 되어서야 모두 일정이 마무리되었고, 저희 팀끼리 간단히 뒷풀이 회식자리를 가졌습니다. 그래도 마무리는 좋게 해서 다행이라 생각됩니다! 이렇게 해서 2개월간의 프로젝트 여정이 모두 끝났는데요. 근데 끝난게 끝난게 아니라서 너무 슬퍼요.. 무슨 말이냐고요? 이제 시험이 2주 남았습니다! 중간고사를 마치고 정신 없이 프로젝트에 임했는데, 기말이라니.. 시간이 너무 빠르네요!

아무튼간에 저의 포스팅이 여러분들의 프로젝트 준비에도 많은 도움이 되었으면 좋겠네요! 마지막으로, 저희 팀의 프로젝트 아키텍쳐와 깃허브 링크, 기념사진을 첨부하는 것으로 본 포스팅을 마치겠습니다. 긴 포스팅 읽어주셔서 감사합니다~~
>> Airconmoa-Server
>> Airconmoa-Android

profile
Java Spring, Android Kotlin(Java), Node.js, React.js 개발을 공부하는 인하대학교 정보통신공학과 학생입니다.

0개의 댓글