어떠한 활동이던, 경험은 해놓았지만 적어놓지 않으면 서서히 기억 속에서 사라져 버린다. 프로그래밍에 대해서 경험한 것은 블로그에 쓰면 나중에 다시 뒤돌아볼 때 좋은 동기부여가 되지 않을까 싶어서 ‘후기를 적어보자!’ 라는 생각이 들어서 포스팅을 적게 되었다.
유니톤은 Nexters, REAL, YAPP, insiders등 4개의 대학생 IT 연합동아리가 중심이 되어 기획하고 주관하는 해커톤이다. 외부 인원에 대해서는 소속이있거나, 팀을 미리 이룬 팀만 참가가 가능하다.
나는 Nexters의 소속으로 해커톤에 참가했는데, 우연히도 현재 Software Maestro 7기 과정에서 같이 아는 동생과 만나게 되었다. 사실 Software Maestro도 적지 않은 인원이 연수를 받는 터라, 그 동생과는 안면만 있는 정도라 해커톤에서 거의 처음 본 사이였지만 팀에 무언가 연이 있는 사람이 있다는 생각에 빠르게 친해지는 데 큰 도움이 되었다.
팀이 구성되고 서버 개발자 2, 안드로이드 개발자 2, 디자이너 1, 기획자 1로 포지션을 나누었다. 아이디어를 선정하는 과정은 브레인스토밍을 통해 아이디어의 목록을 만들고, 각 아이디어에 점수를 부여하여 투표하는 과정을 거쳤다.
최종적으로 나온 아이디어는 핀테크 챗봇이었다. 주제가 나오고 나서, 모두가 아이디어에 살을 붙이기 시작했다. 생활 밀착형 핀테크 챗봇을 만들기로 했다.
꽤 아이디어를 모으는 과정과 아이디어가 선정되기까지의 과정이 빠르게 진행되었다. 사실 처음 만난 사이라 서먹하기는 했지만, 해커톤은 ‘속도전’이다. 해커톤에서 아이디어가 매우 빨리 결정 된 것은 크나큰 장점이었다.
협업 툴로는 단순히 Trello를 사용하기로 하였고 버전 관리는 Github으로 만들기로 하였다.
빠르게 Github organization을 만들고 초대를 돌렸다. 그 후 Server와 Android 프로젝트 Repository를 만들고 개발을 진행하였다. 첫날은 대부분 프로젝트 셋팅이 대부분이어서 개발환경만 마련하고 집으로 돌아갔다. 나는 집이 멀기에 소프트웨어 마에스트로 센터에서 하루 자기로 하였다. 센터에 돌아와서 간단히 로그인, 회원가입, 이메일 전송까지 완성하고 잠들었다. 3시즈음 잠든 것 같다.
아침에 꽤 일찍(8시?) 쯤 일어나서 센터에서 샤워한 후 정신을 가다듬고 선정릉역 디캠프로 걸어갔다. 아침에 갑자기 배가 고파서 국밥을 하나 사 먹고 가려다가 간단히 편의점에서 김밥을 하나 사서 해커톤 장소에 도착했다. Naver API를 사용해서 Oauth2.0 로그인을 하는 부분을 작업했다. 또한 빚에 대해서 독촉하는 이메일 기능도 작업하였다.
같이 작업하는 친구가 Node, Typescript, Mongo 에 대해서 작업에 익숙하지 않은 터라 조금씩 알려주면서 진행했는데 워낙 베이스가 튼튼한 친구라 간단히 알려줘도 잘 응용했다.
주로 2일차에 인증, API Endpoint 구조를 나누고 API 문서를 작성하는데에 시간을 썼다.
UNITHON Hack API v0.1 - Google 스프레드시트
3일차는 안드로이드와 API를 연결하고, 챗봇의 정확성을 높이기 위해 전처리, 후처리하는 과정과 최적화에 힘을 쏟았다. 아침이 되니 체력이 방전돼서 한 1-2시간 즈음 엎드려서 잠든 것 같다. 기획자님이 결과물을 잘 포장해서 발표해 주셨는데 너무 잘 발표하셔서 딱 듣자마자 ‘아! 수상권이다.’라는 생각이 들었다. 발표 후 심사위원님들이 돌아다니시며 시연을 보여드리고 수상이 진행되었다.
사실 결과물에 비해 상이 너무 과분해서 다른 팀들에게 죄송했다.
작년 해커톤보다 개인적으로 꽤 많이 성장했다고 느꼈다. 작년까지는 그냥 어느정도 Web Frontend에 대해서 이해한 채로 해커톤에 나가서 어려운 점이 많았었는데 이제는 Server파트도 어느정도 이해하고 있으니 구현의 속도가 매우 빨라졌다는 것을 느꼈다. 이제는 일 년에 해커톤을 한두 번 정도 나가서 이전 해커톤의 나에 비해서 얼마나 성장했는가 느껴보는 기회를 매년 가져야겠다는 생각이 들었다.