본문 바로가기
Review

[후기] 2021 고카톤 (고려대학교 해커톤) 을 개최했다

by r4bb1t 2021. 1. 13.
반응형

 회장을 맡고 있던 KUCC의 운영진들 몇몇과, 작년 고카톤 운영진, 그리고 운영을 위해 모인 분들과 함께 고려대학교 해커톤 운영위원회를 꾸려 행사를 개최하게 되었다.

 고카톤은 2016년을 시작으로 올해로 5회째를 맞이한 행사로, 1박 2일동안 밤샘 코딩을 하며 주제에 맞는 결과물을 내는 해커톤이다.

 코로나19라는 전대미문의 상황에서, 학생 개발자들이 새로운 돌파구를 찾기를 바라는 마음에서 대회 주제는 언택트 시대, 대학생을 위한 서비스 개발로 결정했다.

 이전 년도에는 행사가 오프라인으로 진행되었는데, 올해는 처음(이자 마지막이었으면 좋겠다)으로 온라인으로 개최하게 되었다.

 온라인 해커톤은 참여도, 개최도 처음인 만큼 고려해야 할 사항들이 많았다.


홍보와 참가 신청

koreahacks.online 에 웹페이지를 만들어 주요 내용들을 업로드했다. 정보 제공이 목적이라 프론트만 뚝딱뚝딱 만들었다.

홍보는 에브리타임, 단톡방, 고파스, 페이스북 등 올릴 수 있는 곳이라면 다 올렸다. 다른 학교 지인들에게 열심히 부탁도 했다.

에브리타임 홍보글

 학교에 포스터도 붙이지 못하고, 온라인으로만 홍보를 진행하다 보니 홍보가 잘 안 되면 어떡하지 라는 고민을 많이 했었는데, 참가 신청 기간동안 예정했던 20팀이 초과 모집되어 선착순으로 참가 팀을 결정하게 되었다. 규모가 더 컸으면 더 많은 팀들이 참가할 수 있었을 텐데 아쉽기도 하다.

 참가 팀은 일반 팀 10팀, 고려대학교 팀 (고려대 학생이 과반수 이상인 팀) 10팀으로 구성되었고 결과적으로 총 21개 대학 소속 참가자 91명과 함께하게 되었다😮.

진행은 어떻게 하지?

 참가자와 운영진까지 100명 정도가 모두 참여해야 했기 때문에, zoom이나 채팅방 말고는 방법이 없었다. 따라서 기본적으로는 zoom을 이용해 화상으로 진행하기로 했다. 그런데 1박 2일이라는 시간동안 zoom에 모든 참가자들을 참여하게 하기도 어려웠고, 채팅방을 이용한다면 카카오톡? 슬랙? 어떤 플랫폼을 사용해야 할지에 대한 고민이 있었다.

 그러던 중 카카오워크에서 후원에 대한 긍정적인 답변을 해주셨고, 자연스럽게 카카오워크를 메인 플랫폼으로 이용하기로 가닥이 잡혔다. 게다가 화상 회의 기능도 있다!

 

운영위원회 회의에도, 행사 진행에도 알차게 사용했다.

 다만 카카오워크 화상회의는 30명 인원 제한이 있어서, 오티나 발표, 시상 등의 전체 참여 일정에는 불가피하게 zoom을 사용했다.

 아침에는 기본적인 대회 소개부터 카카오워크 소개, 대시보드 사용법 등을 설명하는 오티를 진행하고, 식사 시간과 중간중간 참가자 간의 소통을 위한 엘리베이터 스피치와 작년엔 없었던 새벽 현황 공유 시간도 배정했다.

 발표는 2시간으로 배정했고, 각 팀 당 5분의 시간동안 개발한 서비스를 자유 형식으로 발표하도록 했다. 직접 서비스를 시연한 팀도 있었고, 서비스를 발표 자료로 소개한 팀도 있었다. 오프라인이었던 작년 행사에서는 각 팀원들이 자유롭게 다른 팀에 가서 시연을 보는 식으로 진행됐는데, 온라인이다 보니 그렇게 하기 어려울 것 같아 모든 참가자들이 그래도 한 번씩은 다른 팀의 서비스를 볼 수 있도록 발표 시간을 배정한 것이다.

 대신 자유롭게 시연을 할 수 있는 시간을 1시간 배정했는데, 실제 대회 당일에는 시간이 모자라서 2시간으로 연장했다. 밤샘 개발을 하셨던 참가자 분들 피곤하셨을 것... (죄송합니다) 원래는 zoom의 소회의실 기능을 사용할까 얘기가 나왔었는데, 카카오워크의 화상회의 시스템이 잘 되어 있어서 각 참가팀 별 화상회의 방을 만들고, 그 링크를 통해 자유롭게 드나들며 시연을 보는 방식으로 진행했다.

 

 또 이번 대회는 온라인으로 진행한다는 특성 상, 오프라인보다 다른 참가자들을 볼 기회가 적다는 생각이 들었고 해커톤의 주 목적이었던 학생 개발자간의 공유의 장을 만들기 위해 준비한 것들이 많았는데 아래 대시보드도 그 중 하나였다.

대시보드

 

 야심차게 개발했던 대시보드!

 

 특히 홈페이지 개발팀(프론트엔드 본인, 백엔드 관훈오빠, 지민언니, 디자인 지원언니)이 가장 열심히 애썼던 부분이다. 지원언니의 디자인 시안이 너무 예쁘게 나와서 프론트엔드에 힘을 많이 덜 수 있었다.

 앞서 말했듯 온라인 해커톤이라는 단점이자 장점을 살려, 참가자들 간의 소통을 원활하게 하기 위해 기획했다. 실제로 대회 도중 참가자들이 사용할 때 유용하게 만드는 것이 목표였고, 실시간 댓글과 칸반 아이템 이동, 이미지 추가를 위해 메세지 큐라는 시스템을 도입했다. 메세지 큐는 간단히 말해, 적은 용량의 메세지를 이용해 클라이언트 간의 데이터를 교환하는 방식이다.

 MQTT를 이용하면서 채팅이나 칸반, 이미지의 처리를 단순히 서버에 API로 호출하는 게 아니라 클라이언트에서 처리하고 메세지를 보내야 했는데, 처음 써보는 기술 스택이다 보니 많이 어려웠다. 특히 (이건 메세지 큐랑은 상관 없지만) 칸반 아이템 이동하고, 정렬하는 부분을 계산하는 게 힘들었던 기억이 난다. 또, 원래는 이미지 업로드를 버킷을 이용해서 직접 구현하려고 했었는데 버킷 연결에 문제가 있어서 결국 URL 업로드로 변경했다. 아쉬웠지만, 시간이 부족했기 때문에 타협한 것은 정말 잘 한 것 같다.

 프론트엔드는 내가 원래 사용하던 React로 작성했고, 백엔드는 Kotlin + Spring이었는데 이건 백엔드 선배들이 처음 써보는 스택이었다. 나도 백엔드는 Node만 어깨너머로 배워서 Kotlin도, Spring도 아는 게 없었는데, 개발 중 백엔드 선배들이 다 자러 간 새벽 혼자서 서버 문제를 해결하느라 눈물이 났다😂ㅋㅋ 결국 4시간동안의 삽질 끝에 해결했지만.

 

 그리고 완성하고 나서 느꼈던 부분은, 실제 배포 환경이랑 로컬에서 돌리는 거랑 차이가 꽤 있다는 점. 실제로 서비스를 참가자들에게 공개하기 전에도 배포로 올리자 MQTT 서버의 인증서 관련 문제가 터졌고, 이 부분은 다행히 공개 전에 해결했지만 참가자들에게 미리 서비스를 공개하고 버그 리포트를 부탁했는데 다른 문제들이 나왔다. 게다가 실제 대회 도중에도 계속해서 서버 문제가 터져서, 밤을 꼴딱 새며 버그를 잡았다. 오류와 해결 과정은 관훈오빠 블로그에 재미있게 포스팅되어있으니 보고가시길! 멘토 분들(과 운영진도 아닌데 롤하다 달려온 수홍오빠)의 도움이 없었으면 정말 힘들었을 것이다. 이렇게 실제로 많은 사람들이 사용하는 서비스를 배포해본 것은 처음인데, (동아리 홈페이지는 접속자가 적으니까) 정말 예상치도 못한 일들이 많이 터져서 애를 많이 썼다. 꼭 배포 환경에서 테스트를 해보고, 서비스를 개시한 이후에도 계속 지켜보며 대처해야 하는 것 같다. 이런 경험들이 많이 필요하다는 생각이 들었다.

 

 대시보드를 만드는 동안 개발팀들끼리 해커톤을 위한 해커톤🔥이라고 하면서 밤샘 개발을 자주 했는데, 함께 화상 회의로 바로바로 피드백을 주면서 개발하니 속도도 나고 재밌었던 것 같다. 또, 새벽에 서버가 터지고 잔 버그들이 있었는데도 참가자 분들이 대시보드 예쁘다, 사용하기 좋았다는 이야기들을 해 주셔서 정말 뿌듯했고 더 잘 만들었으면 좋았을 거라는 생각도 들었다. 한편으로는 정말 대회 당일날만을 위한 서비스여서 조금 아쉽기도 하지만 개발하는 과정이 정말 즐거웠다!

후원, 굿즈

 온라인이어도 예산은 많이 필요했다. 이 자리를 빌려 후원사 분들에게 다시 한번 감사의 말씀을 드린다.

 우선, 네이버 D2에서는 서버 크레딧을 후원받았다. 대시보드 서버도 올리고, 참가자들에게 인스턴스도 제공해 알차게 썼다.

 우아한 형제들에서는 참가자들에게 식사 기프티콘을 제공할 수 있도록 도와주셨다.

 오프라인이었다면 직접 식사를 배달해서 함께 먹었을텐데, 그러지 못해 아쉬웠다...😂 그래도 기프티콘으로 맛있게 식사하시는 사진 올려주신 참가자들이 계셔서 기뻤다.

 

 또, 카카오워크에서는 대회 진행 내내 정말 신경써주시고 자체 이벤트도 준비해주셨다.

너무 탐나는 카카오워크 퀴즈 이벤트 상품😭
카카오워크 화상회의 최다 팀, 대화 최다 팀에게는 배달의 민족 무려 10만원 쿠폰을!

 카카오워크 플랫폼 자체도 정말 유용하게 썼는데, 대회 중간중간 활기를 불어넣어주는 다양한 이벤트까지 준비해주셔서 정말 감사했다. (게다가 참가자분들께 전원 커피 기프티콘까지 쏘셨다!) 즐거운 행사 진행에 큰 도움 주셔서 진짜로 눈물이 났다. 헤헤ㅎ

 

굿즈로는 머그컵, 스티커, 담요, 장패드를 준비했다. 인쇄 시안은 전부 내가 만들었는데, 잘 못나올까봐 걱정도 많이 했지만 결과물이..👍 생각 이상으로 너무 잘 나와서 기뻤다.

텀블러로 할까, 머그컵으로 할까 하다가 언택트 컨셉이니까 머그컵이 더 실용적일 것 같아서 머그컵으로 했는데 너무 마음에 든다ㅋㅋ

또, 사진은 미처 못 찍었지만 프로그래밍 서적을 출판하는 한빛미디어에서 10권, 이지스퍼블리싱제이펍에서 각 30권씩 책을 후원해주셨다.

소중한 책들도 참가 팀들에게 잘 나누어 제공했다. 참가 신청을 받을 때 사용할 기술 스택을 조사했는데, 적어주신 팀에게는 최대한 관련 분야의 책들로 구성했다.

 

동방에서 열심히 포장포장 (혼자한 건 아닌데 혹시 몰라서 내 사진만 넣었음)

 그리고 굿즈 120세트는 생각보다 많았다... 스티커 칼로 자르고, 머그컵 하나하나 뽁뽁이로 포장하고, 장패드 돌돌 말고, 그걸 쇼핑백 안에 한 세트씩 넣고, 택배박스에 다시 책과 함께 쌓았다. 쇼미더머니9 디스전 모아보기 들으면서 하니까 그래도 착착 진행됐다.

 원래는 이걸 하나씩 들거나 수레를 가져와서 국제관 우체국까지 옮기려고 했는데 책 무게가 생각보다 상당했다. 도저히 직접 옮길 무게가 아니어서 결국 다음 날 우체국에 방문수거를 신청했다. (다음 날도 학교에 와야 했다는 뜻이다.)

 다행히 우체국 택배가 빨라 대회 당일 이전에 모두 배송이 완료돼서, 참가자 분들도 굿즈와 함께 대회에 참여할 수 있었다! SNS에 올라온 후기 중 장패드가 도움이 됐다는 글을 보고 뿌듯😊


진행

고카톤 레포지토리

 개발은 참가 팀 모두 고카톤 레포지토리에서 하도록 했다. 아무래도 1박 2일이라는 제한된 기간동안 결과물을 만드는 것이 해커톤 정신이기 때문에, 미리 코드를 작성하는 것을 금지하기 위해서였다. 대신 짧은 대회 기간을 고려해 디자인이나 기획, 문서 작성 등에는 제한을 두지 않았다.

 엘리베이터 스피치, 현황 공유 토크는 zoom으로 진행했다.

zoom

 대시보드를 보며 각자 어떤 서비스를 만들고 있는지, 어떻게 개발을 하고 있는지에 대해 이야기했다.

 

운영위원회와 멘토만 볼 수 있었던 운영위원회 대시보드

 참가자 분들이 대시보드에 개발 과정과 사진을 많이 올려주셔서, 함께 보며 재미있게 진행되었다. (진행한 마로오빠, 지현이, 수민님 정말 존경스럽다.)

발표 및 시상

 발표 역시 zoom으로 진행했다. 1박 2일이라는 짧은 시간임에도 다들 멋진 결과물을 내주셔서 깜짝 놀랐다. 실제로 출시되면 바로 이용하고 싶은 서비스들도 많았다.

 시연은 상술했듯 카카오워크 화상회의로 진행되었다. 카카오워크 화상회의는 개별 방을 만들 수 있어서, 각 팀 별 링크를 생성할 수 있었다.👍 이런 부스식 운영은 카카오워크가 아니었으면 못 했을 것 같기도 하다ㅋㅋ 원래는 발표가 메인이고, 시연은 더 궁금한 것이 있는 팀에 자유롭게 방문하는 것으로 기획을 잡아서 1시간이라는 짧은 시간을 배정했던 것이었다. 그런데 생각외로 너무 매끄럽게 잘 진행되어서 모든 팀의 시연을 보고 싶다는 의견이 많이 나와 2시간으로 늘리게 되었다.

시상

 그 후에는 참가자 상호 평가와 심사위원 점수를 집계해 시상을 진행했다. 미리 만들어 둔 점수 계산 시트에 참가자 평가 표를 넣고, 심사위원 점수도 넣어서 계산해 시상 팀을 결정했다. 시상은 베스트 개발상, 베스트 서비스상, 심사위원 특별상, 베스트 협업상의 4종류로 구성했다.

 

 20팀 모두 너무 멋진 결과물이 나와서 정말 한 치도 예측할 수 없었던 시상이었다. 운영진들도 전부 집에서 각자 온라인으로 접속했기 때문에 시상을 하기가 어려웠는데, 그래서 시상 팀이 집계되자마자 열심히 영상을 만들었다. 이 과정에서 시상 이전 외부 후원사 홍보 시간이 좀 늘어졌다... (죄송합니다) 정말 20개 팀의 4개 상 영상을 다 만들어 놓았으면 (20 * 4 = 80개...) 당일에 시간이 늘어지진 않았을 텐데 그건 무리였기 때문에😓...


 2020년에는 참가자였는데, 2021년에는 운영 총괄로 참여하게 된게 참 신기하다는 생각이 든다. 개인적으로는 이렇게 큰 대회의 운영을 맡게 되어서 떨리기도 했고 설레기도 했다. 대회 바로 전날 운영위원회 회의에서 다들 걱정 반 두근거림 반으로 이야기를 나누다가, 내가 참 좋아하는 말을 공유했다.

준비가 철저하면 설렘이 두려움을 압도한다.

내 명언은 아닌데

 돌이켜보면 참 열심히 준비했었다. 첫 온라인 해커톤 개최였던 만큼 아쉬웠던 부분도, 우여곡절도 많았지만 새로운 시도를 했다는 점이 참 좋았다. 또, 중요하게 생각했던 참가자들 간의 소통도 예상보다 잘 이루어진 것 같고 무엇보다 운영했던 우리도 참가자분들의 열정과 열기를 느낄 수 있어서 정말 즐거웠다. 조금 웃긴 말이긴 하지만, 이런 해커톤이 많이 개최되어서 나도 참가하고 싶다는 생각이 든다ㅋㅋ 또 내년에도, 내후년에도 계속 이 대회가 잘 개최되었으면 좋겠다.

 운영진들도 정말 고생 많았고, 새벽에도 도움이 필요하면 달려와서 도와주신 멘토분들, 물심양면으로 도움 주신 후원사분들께도 참 감사하다. 또, 이후에 해커톤을 개최할 예정인 분들이 있다면 조금이나마 도움이 되고 싶다.

 마지막으로, 운영에 아쉬운 점이 많았을텐데도 끝까지 열심히 참여해 주신 모든 참가자 분들께 정말 감사하다.

반응형

댓글