1. 정말 오랜만의 해커톤
개발할때든 취미생활이든 난 일단 내 분수에 맞지 않은 거대한 목표를 정한다. 그리고 어떻게든 이뤄내기 위해 나아가는 과정에서(가끔은 몸을 혹사시키면서까지...) 많은 성장이 이뤄지고 거의 만족할만한 목표에는 도달했었다.
오래전 참가했던 마지막 해커톤도 입상을 목표로 엄청난 리소스를 투자했는데 입상에 실패하면서 소위말하는 "현타"가 왔다. 그리고 마지막 해커톤이 되었다.
그러고 Festa에서 천하제일 코딩대회를 보고 하루에 끝난다길래 그냥 무심결에 참가하게 되었다.
2. Google for Startups
Google for Startups에서 진행됐고 이런곳이 생겼다는 뉴스만 보고 직접 가본적은 처음인데 뭔가 요즘 많은 co-working space 같기도하면서 Google for Startups만의 특징이 많이 묻어나는 장소였다.
1시~5시를 개발 일정으로 해커톤이 시작되었고 우리팀은 일단 시작으로 제일 중요한 여러가지 다과를 가져왔다.
(처음에 들어갔을때 없어서 실망했는데 다른 행사나 해커톤보다 푸짐하게 차려져있었다.)
3. 해커톤 내용
GIPHY API를 이용해서 몇 가지 필수 요구 사항을 만족하며 원하는 추가 요구 사항을 구현한 웹 프론트 애플리케이션 제작이였다.
4. 유일한 Vue 팀
다른 모든팀들이 React, Vanilla JS를 사용하는 구성원들이 모인팀이였고 우리팀만 Vue를 사용하는 팀이였다. 운이 좋았던것은 둘다 Element UI를 사용해본 경험이 있다는 것이였다. (중국에서 만들어졌다보니 참고 레퍼런스가 모두 중국어라서 겪은 어려움에 서로 공감...)
5. 협업 환경 세팅
일단 협업 환경 구축은 페어프로그래밍으로 진행했다. 역시나 웹팩설정이 제일 고비였는데 각자 경험한 이것저것을 설정에 넣다가 이대로는 웹팩설정내용만 발표할것같아서 바로 vue-cli의 Boilerplate 사용하기로 하니 10분 20분만에 Git 세팅까지 완료됐다. (역시 Boilerplate짱)
6. GIF 이미지로만 대화하는 채팅 애플리케이션
어떤 신박한것을 만드느냐가 중요한게 아니기때문에 시간제한을 두고 아이디어를 리스트업하고 그 중에서 선택하기로했고 GIF로 대화하는 채팅 애플리케이션을 만들기로했다.
6.1 채팅 서버는?
채팅 서버는 일찌감찌 포기했다..... (그런데 지금 생각해보면 Firebase를 사용했으면 완벽한 서버는 아니더라도 임시 서버 대체는 됐을텐데 하는 아쉬움이 있다.)
6.2 협업 방향
채팅 기능 / GIF 검색 두 개 기능을 나눠서 검색해서 이미지를 채팅창으로 넘기는 event 명세만 서로 정의하고 각자 컴포넌트를 개발해서 합치는 방향으로 진행했다.
6.3 CSS............
난 프론트 개발을 하긴 하지만 원래는 백엔드 개발자이다. 업무에도 스크립트 로직정도만 만지는 편이라 CSS 접할 일이 거의 없다. 정말 오랜만에 CSS부터 하려니 너무 고생을 많이했다. 분명 나는 그 태그에게 왼쪽으로 가라고했는데!! 오른쪽으로가거나 지 혼자 밑으로 내려가버린다.
7. 너무 빨리 끝났다
항상 시간에 쫓겨서 개발하던것과 다르게 시간에 딱맞게 개발이 끝났다. 작업다하고 주위를 둘러보니 다들 아직 개발중이거나 디버깅중이였던것 같다. 발표하기 직전까지 디버깅하는 맛이 있는게 해커톤이였는데 뭔가 어색했다.
7.1 너무 빨리 끝났는데 큰 깨달음을 얻었다.
이전까지는 "1등 하고싶다", "남들보다 나은 프로젝트" 만 생각하고 해커톤을 진행했다. 그런데 이번 해커톤은 수상 없이 발표하고 끝이였다. 이걸로 인해서 정말 오랜만에 맘편하게 개발했다. 그냥 서로 웃는 얘기하면서 개발하고 서로 생각했던점 편하게 공유하면서 개발하니 정말 놀러온 느낌이 났다. 발표시간에도 운영진분들이 분위기가 너무 무거워지지 않게 계속 분위기를 유쾌하게 가지고가시려 의도하는것도 한몫했다. (운영진분들 감사합니다)
7.2 취미생활도 좋지만 재밌게 개발할 시간도 필요하다.
최근 개발에 대해 번아웃이 많이 왔었다. 항상 열심히만하고 앞으로만 달려오는 스탠스로 임하다보니 잠시 지치는 구간이였던것같다. 그래서 여러 취미생활도 해봤는데 뭔가 근본적으로 풀리는 느낌은 없었다. 그런데 정말 아무 목표없이 순전히 즐기면서 개발하고 마음편히 비슷한 고민을 경험한 다른사람들의 얘기도 들으면서 공감해보니 뭔가 꽉 막혔던 생각이 풀린 기분이 들었다.
7.3 즐기러 왔다면 즐기자
어떤것이든 항상 열심히, 항상 최고가 되기 위해서만 하지 않았나 생각이 많이 들었다. 해커톤에서 항상 "팀원들이 열심히 한다면 좋은 팀원이고 아니라면 내가 끌고간다"라는 스탠스로 임했는데 팀원들에 성격에 맞게 녹아들었다면 어땠을까? 그들은 개발에 대한 번아웃을 풀고싶어서 왔을수도 있는데 너무 끌고가지 않았나 미안하기도하다.
열심히 해야할 때와, 즐겨야할 때를 명확히 구분하고
즐겨야할 때는 마음을 편히가지는 연습이 필요한 나에 대해서 배울 수 있었던 시간이다.