[회고] 구름톤 4기 최우수상 '나의 탐라' 백엔드 개발자입니다.

Yooa·2023년 1월 5일
10

회고

목록 보기
4/6
post-thumbnail

시작하며...

2022년 12월 13-16일에 진행된 구름톤에 백엔드 개발자로 다녀왔다.

나의 첫 해커톤이자 짧지만 가장 즐거운 협업을 겪은 소중한 경험을 회고해보고자 한다. 또 이후에 구름톤을 준비하는 분들에게 최대한 도움이 될 수 있도록 여러가지 팁을 남겨보도록 하겠다.

우리 서비스는 아래 링크를 통해 이용해볼 수 있다.
나의 탐라

참가자 모집에 대한 구체적인 내용은 아래에서 확인할 수 있다.
https://9oormthon.goorm.io/


구름톤이 뭐야?

구름톤(9oormthon)은 kakao와 goorm이 함께 주최한 제주에서 이루어지는 해커톤이다.


구름톤에 지원하다.

왜 지원했어

해커톤을 나가보고 싶다는 욕심은 있었는데 겁이 났었다.
스스로 역량적인 측면단기간에 강하게 몰입할만큼의 집중력을 가졌는가에 대한 의심이 있었다. 기존의 협업 경험은 있었으니 해커톤이 이것보다 크게 차별이 느껴질만한 강점이 무엇인지도 계속 고민을 했던 것 같다.

나의 결론은 아래와 같다.

  • 해커톤이라는 강제적으로 극한의 상황에 처했을 때의 나는 얼만큼 몰입 가능할지 궁금했다.
    이러한 궁금증이 스스로에 대한 의심을 이겨냈다.
  • 2~3일동안 진행되는 프로젝트 안에서 어떤 텐션이 나올지 궁금했고, 이는 분명 임팩트 있는 경험을 줄 것이라 믿었다.
  • 전혀 모르는 사람들과 협업을 할 때는 어떤 식으로 진행이 되어야 하는지를 몸소 느껴보고 싶었다.
    기존 프로젝트는 친한 사람들과 작업했던 경우가 많아서 갈증이 있었던 것 같다.

그렇게 해커톤 기회가 있다면 지원해보자! 라고 마음 먹었을 시기즈음에 지인의 추천으로 구름톤을 알게 되었다.

솔직히 혼자 구름톤 모집글을 보았다면 쉽게 도전하지 못 했을 것 같다. 해커톤, 제주, 혼자 여행이 모두 처음인 나에게 구름톤은 꽤나 위험해보였다. 그러나 지인과 함께 신청해서 간다면 여행 기분이 들면서 재미있을 것 같아 용기가 들었다.

구름톤은 면접 없이 지원서로만 합불합이 결정된다. 모집글에서부터 성실하게 작성해달라고 나와있다. 합격하기 위해서는 열정과 관심, 애정이 중요할테고 그 애정이 드러날 수 있는 유일한 방법은 지원서의 질과 분량뿐임을 알 수 있었다. 다른 대외활동에서 지원서의 분량을 최대화하여 장관상까지 수상해본 경험이 있었기 때문에 분량을 최우선으로 신경썼다.

그러나 11월 스케줄이 너무 바빴던 나머지 구름톤을 잊고 있었고... 지원 마감 1시간전부터 지원서를 작성하게 된다.

구글폼 응답 시간을 보면 급박하게 1분 전 제출을 한 흔적이 남아있다. 이처럼 정신없게 지원서를 작성하게 되어서 선택과 집중 자세가 필요했다.

선택과 집중?

여기서 언급한 선택과 집중은 각 항목에 가장 필요한 콘텐츠를 선택하고 그에 집중하여 작성을 했다는 뜻이다.

지원서 항목은 아래와 같다. 분량은 자율이었다.
(분량 = 열정의 크기 라고 생각했다.)

  • 해커톤 참여 동기를 작성해주세요.
  • 해커톤을 통해 만들고 싶은 서비스를 설명해주세요. (제주, 클라우드)
  • 본 프로그램에 기대하는 바가 있다면 작성해주세요.
  • 진행하신 프로젝트 중 한 가지를 선택하여 설명해주세요.

1) 해커톤 참여 동기에서는 구름톤만이 가지고 있는 강점과 내 경험을 엮고자 했다. 구름톤 커리큘럼과 후기들을 확인해보니 클라우드가 주제이기도 했고, 교육도 진행이 되고 있는 것 같아 이를 강점이라고 판단했다. 내 경험 중 클라우드와 관련된 건 AWS를 이용한 인프라 구축이었기 때문에 이를 기재했다. (907자)

2) 해커톤을 통해 만들고 싶은 서비스는 미리 주어진 키워드를 기반으로 떠올려야 한다. 키워드는 총 3개인데 사전에 2가지만 공개된다. 사전 공개 키워드는 제주와 클라우드이다. 이 둘과 연관된 아이디어가 뭐가 있을지 전혀 떠오르지가 않아 정말 어려웠다. 운 좋게 떠오르더라도 기존 구름톤 1~3기에 나왔던 서비스인 경우가 많았고 실현하기 어렵거나 뻔한 아이디어만 계속해서 머리를 맴돌았다. 어찌저찌 제주/여행/환경과 관련한 서비스를 고안해냈다.

후기를 들어보니 해당 문항에 대하여 기획 지원자분들은 실제 데이터를 제시하며 서비스가 필요한 이유를 설득했다고 한다. 난 백엔드 지원자이지만 논리적으로 아이디어를 제시한다면 좋은 인상을 남길 것이라 믿었다. 그래서 나름대로 여기저기 기사를 찾아보면서 근거 자료로 제시하고, 주변인들에게 설문조사한 결과를 지원서에 작성했다.

주변의 20대 초반 대학생들을 대상으로 FGI를 진행해본 결과, 제주 여행을 가족 여행 혹은 친구들끼리의 여행처럼 단순 여행을 가기도 하며, 현재의 지친 삶을 위로하고자 힐링여행을 가기도 한다는 설문 결과를 얻을 수 있었습니다.

FGI라는 단어도 같이 지원하는 지인이 알려주어 처음으로 사용해봤다. FGI라 하기도 민망한게 2명한테 물어본게 전부였다. (푸하하) 지원마감 30분도 안남은 시점에서 할 수 있는 최선의 단어 선택이었다.

개발자의 입장에서 해당 서비스가 어떻게 구현될 수 있는지를 구체적으로 설명했다. 해커톤의 특징이 단기간에 빠르게 개발이 이루어져야 하기 때문에 MVP 모델을 제시하며 설득력을 높이려고 노력했다. (1384자)

3) 본 프로그램에 기대하는 바는 큰 부담 없이 적어내렸다. 솔직하게 제주라는 공간에서 이루어지는 해커톤이기 때문에 특별한 추억이 될 수 있을 것 같다는 내용과 단기간 몰입이 가능한 프로그램에 참여해보고 싶었다는 이야기를 적었다. (391자)

4) 진행한 프로젝트 한 가지는 가장 어필하고 싶은 프로젝트 경험을 작성했다. 국민은행 소프트웨어 경진대회에서 '환경'과 관련해 프로젝트 개발을 진행해 입상을 했던 경험을 적었다. 그 프로젝트가 PM을 맡기도 했어서 소통 역량도 어필이 가능했다. (796자)

이 모든 문항을 1시간동안 써낸다는게 불가능에 가까웠다. 지금 후기를 위해 지원서를 다시 읽어보니 두괄식이 아닌데다가 문장도 너무 길어서 가독성이 굉장히 떨어졌디. 그런데 어찌 붙었는가? 를 생각해본다면 '환경'과 관련한 아이디어를 고안해냈고, '환경'과 관련한 프로젝트 경험이 있었기 때문인 것 같다.

이번 4기 구름톤의 마지막 키워드는 #환경 이었기 때문이다🤪

구름톤에 합격하다.

이 날 지갑 샀다고 신나서 휴대폰 전원도 나간지 모른채 돌아다니다가 7시쯤에 집에 와서 합격 소식을 받았다. 합격 발표날인것도 모를 정도로 기대가 아예 없었기 때문에 무척이나 당황했다.

거지같은 지원서가 붙었다고?
위에서 말했다 싶이 운이 좋았어서 합격이 된 것 같다.
운도 실력이다. (?)

지인과 함께여서 도전하고자 했던 구름톤이 혼자 가게 되어서 조금 난처했다. 비행기도 한번 안타본 나란 여자.. 과연 제주라는 낯선 곳을 혼자 갈 수 있을까?


구름톤을 준비하다.

구름톤 지원 당시에는 정신이 없어 몰랐는데 항공권과 첫 날 숙소는 사비로 구매해야 한다. 다 지원해주는 걸로 착각하고 있었다. 허겁지겁 항공편을 예매하고 첫날에 묵을 숙소를 예약했다.

  1. 항공권 가는편은 일정 시작 전날로 하기

구름톤을 시작하는 당일인 12월 13일 7:30 항공을 예매했는데 새벽 3시 반에 일어나 준비하고 공항으로 가야했다. 그 상태로 10시부터 5시까지 일정이 진행되므로 상당히 피곤했다. 5시에 일정이 끝나도 쉴 수 있는게 아니라 아이디어 혹은 자기 PR을 준비해가야 하기 때문에 일찍 잠을 잘 수가 없다.

그러한 이유로 전날에 제주를 미리 가서 첫째날 좋은 컨디션을 유지하고 남은 2박 3일에 해커톤을 참여하는게 훨씬 똑똑한 선택이라고 말하고 싶다. 나도 예약을 할 때로 돌아간다면 숙박비를 내더라도 전날에 갔을 것이다.

  1. 첫날 숙소는 시청과 가까운 곳에 잡기

일단 시청 주변에서는 택시가 매우 잘 잡히고 구름톤에 참여하는 대부분이 시청 근처로 숙소를 잡기 때문에 함께 택시를 타고 카카오 본사와 왔다갔다 할 수 있다는 장점이 있다. 나는 시청과 조금 거리가 있는 곳을 잡아서.. 시청까지만 함께 택시를 타고 시청에서 다시 택시를 타야만 했다. 생각보다 택시비가 많이 나오니까 첫째날에 사람들과 이야기를 해서 택시 멤버를 구하는게 좋다.

택시 외에도 첫날에 말을 튼 사람들과 같이 저녁을 먹을 때 시청 주위에서 먹게 되기 때문에 시청 근처의 숙소를 잡는게 가장 베스트라고 생각한다!

+) 구름톤 이후 일정이 없다면 비행기 오는편을 하루나 이틀뒤로 해놓자! 해커톤을 하느라 제주를 즐길 시간이 아예 없었다. 항공권 오는편을 잡지 않았다면 팀원들과 충분히 놀고 돌아왔을 것 같다. 너무 아쉬웠다.


구름톤 첫째날

구름톤 첫날은 제주 디지털 융합센터와 카카오 스페이스닷원에서 진행된다. 두 건물은 걸어서 3분도 안걸리는 가까운 위치에 있다.


공항에서 거리가 좀 있어서 공항 도착 후 바로 택시를 타고 장소로 갔다. 30분정도 걸렸던 것 같다. 택시 기사님께서 막 딴 귤이라면서 귤을 던져주시는데 이게 바로 제주도 감성인가 싶어 웃겼다.

디지털융합센터에 도착하여 올라가니 관계자분들께서 맨투맨과 머그컵, 이름표를 나누어 주셨다. 본격적으로 구름톤에 왔다는 실감이 들면서 긴장되기 시작했다. 9:40쯤에 도착했더니 많이 와계셔서 자리를 어디 앉을지 고민이 컸다. 그래서 아무데나 앉았다.

앉고보니 내 옆자리분도 백엔드 개발자이셔서 내심 반가웠다. 처음 보는 분에게 갑자기 말을 걸면 부담스러워 할까봐 우물쭈물댔는데 주위를 둘러보니 다들 옆자리 분들과 이야기를 하고 계셨다. 다들 지인과 온건가? 라는 착각이 들 정도로 화기애애한 분위기였다.

이 분위기를 틈타 용기를 내어 옆자리 백엔드 개발자분께 말걸기를 성공했다. 구름톤 팀 빌딩이 어떻게 이루어지는지 같은 정보들을 알려주셔서 정말 감사했다.

구름톤은 30명의 참가자가 있고, 5명씩 6개의 팀이 결성된다. 각 팀은 기획자 1명, 디자이너 1명, 프론트엔드 2명, 백엔드 1명으로 구성된다. 전체 30명중에 백엔드가 6명밖에 없다는 것을 알고 충격을 받았다. 그 적은 인원 중에 하필이면 백엔드끼리 붙어 앉은게 웃기기도 했다. 어찌됐건 팀당 백엔드는 한명뿐이니 함께 팀을 하지 못한다는 점이 아쉬웠다.

그리고 이때부터 나의 불안이 시작됐다.

팀당 백엔드가 1명뿐인걸 처음 알았다. 여태 다른 프로젝트를 하면서 백엔드를 혼자서 맡아본 경험은 없었기 때문에 내 부족함이 팀에 민폐를 끼치는 것은 아닐지 불안했다. 그래도 이미 일은 벌려졌고 나를 믿고 가보자 라는 마인드로 끊임없이 용기를 가지려고 노력했다.

혹시 본인이 백엔드 포지션이라면 적어도 배포를 스스로 해본 경험은 있어야 할 것 같다. 물론 구름에서 쉽게 배포가 가능한 환경을 제공해주지만 이를 적절하게 활용하려면 당연히 본인이 배포를 해본 적이 있어야 한다!

처음에는 아이스 브레이킹 시간을 통해 여러가지 상품을 건 게임을 했다. 나는 크리스마스 카드를 상품으로 받았는데 카카오 다이어리를 상품으로 받으신 분들이 너무 부러웠다 ㅠ 나중에 함께 팀을 한 양갱 언니가 2개 받았다며 하나를 줘서 행복했다.

점심은 다른 건물의 구내 식당을 가서 먹었는데 맛있진 않았다. 개인적으로 점심을 기대했는데 정말 맛 없어서 실망했다. 학교 급식맛이 났다. 점심을 먹고 나서는 카카오 스페이스닷원으로 이동해서 교육을 듣는다.

그 유명한 타.타.타.닥.타.닥.타타.닥 코딩 돌하르방 실물을 영접하다니.. 인터넷 세상에 들어온 기분이 들면서 신기했다. 야무지게 사진도 찍었다.
(* 참고로 저 사진은 이튿날에 팀 빌딩 이후 찍은 사진이다! 팀원이 찍어줬는데 내가 저런 포즈를 지으니 ENFP인 줄 알았다고 한다.)

카카오 클라우드 소개

카카오 클라우드 팀에 대한 비전과 파트 설명들을 들었다. 클라우드 도메인을 잘 모르기도 했고 취업 준비를 하며 카카오 클라우드는 살펴본 적이 없었어서 가볍게 들었다.

쿠버네티스 교육

쿠버네티스 강의 혹은 GDS 강의 중 택 1을 해서 들을 수 있다. 쿠버네티스 맛보기라도 해보고 싶어 고민없이 강의를 선택했다. 쿠버네티스 강의를 듣는 분들은 역시나 백엔드 밖에 없었다. 어쩌다 소수 정예 멤버가 되어서 강의를 듣게 되었다.

데브옵스는 깊게 공부를 해본 경험이 없어서 강좌를 완전하게 이해할 수는 없었다. 이 부분에서 미리 기초라도 예습을 해왔다면 훨씬 좋았을 것 같다는 아쉬움이 남는다. 그래도 진행자분께서 최대한 쉽게 설명을 해주시고 비유를 계속 사용해주셔서 조금이라도 이해할 수 있어 감사했다. PDF로 자료를 공유해주시기 때문에 필기하기가 수월했다.

이후 해커톤에 대한 여러가지 팁들을 듣는 교육이 계속됐다.

해커톤으로 성장하는 법

  1. 몰입이라는 성장 엔진을 활용한다.
  2. 적당한 스트레스를 적극적으로 활용한다.
  3. 우리의 퀄리티가 곧 제품과 사업의 퀄리티이다.
  4. 가족처럼 지내고 스포츠팀처럼 일한다.
  5. 과정에서도 완벽함을 추구한다.

스타트업에서 특히나 강조되는 내용들

이는 해커톤에서 일회적으로 사용되는 것들이 아니라 소속되는 팀이 있다면 언제든 누구나 떠올리고 되새겨야 하는 일종의 법칙과도 같다고 생각한다. 실무자도 아니었고 체계적인 팀 활동 경험이 없었던 6개월 전 나였다면 크게 와닿지 않았을 것 같다. 그러나 지난 6개월의 학회 활동이 나의 인생관과 협업에 대한 마인드 셋을 완전히 뒤바꾸어 놓았기 때문에 팀 비전이라던가, 팀 문화를 설정하는 단계가 정말 중요한 것임을 배울 수 있었다. 그래서 류성태 님께서 강의해주신 팀 문화에 대한 언급이 가장 기억에 남았다.

비전, 목표 그리고 문화가 가볍게 다루어질 소재는 아니지만 해커톤과 같이 특수한 환경에서는 초반에 빠르게 의견을 합치해 결정하는 것이 프로젝트의 완성 여부에 키 포인트가 되는 것 같다. 이번 구름톤에서도 특히 중요하게 생각했던 것들은 팀이 하나의 목표를 바라보고 있는지, 서로 해커톤에서 가져가고 싶어하는 fit이 맞는지를 계속 체크하려고 했다.

DONE IS BETTER THAN PERFECT,
BECAUSE TIME IS NOT WATING FOR US

MVP 모델을 새롭게 알게 되었다.
그동안 나는 2번째의 단계가 MVP라고 인식해왔는데 (어쩌면 2번째 단계를 해오면서 현실과 타협해왔을지도 모른다.)

가장 현실적인 목표를 세우더라도 기본적인 형상을 갖추어야 한다는 말이 가장 인상깊었다. 그 사소한 디테일 하나 챙기겠다고 우리의 목표와 다른 결과물을 내놓은 적이 종종 있었기에 결국 중요한건 기본이구나 싶었다.

또 이런 해커톤에서는 욕심을 내려놓고 근본적으로 우리가 전달하고자 하는 메시지가 무엇이었고, 이를 위한 기본/필수적인 기능을 끊임없이 상기시키는 자세가 중요함을 알았다.

오픈소스로 신나는 해커톤

거인의 어깨 위로 올라 타자.

이전 프로젝트에서 멘토링을 받을 때 가장 많이 들은 말이 '이미 오픈소스로 있는걸 가져가 써라!' 였는데 구름톤에서도 또 같은 맥락의 이야기를 들으니 반가웠다. 오픈소스에 익숙해지고 친해지고 잘 활용할 줄 아는 개발자가 되자!


교육을 마치고 나서는 키워드를 공개한다. 키워드는 앞서 말했다싶이 #환경 #제주 #클라우드 이었다.
이제부터 선택지가 나뉜다. 둘째날 아침에 아이디어 발표 혹은 자기 pr이 이루어진다고 하셨고, 둘 중 하나를 선택해서 진행하면 된다고 안내해주셨다.

첫 날 여러가지 해커톤에 대한 팁을 알려주어서 개인적으로 유익했다. 결론적으로 '우리 아이디어의 가장 기본적인 기능 한개라도 제대로 만들자.'고 마음을 먹을 수 있었다. 아이디어만 끌린다면 언제든 온 몸 바쳐 개발할 자신이 있었다.


첫날 말을 튼 분들과 같이 저녁을 먹기로 했다. 카카오 스페이스닷원에서 택시가 잘 안 잡힌다. 그래서 추위에 오들오들 떨면서 택시를 하염없기 기다리다 결국 버스를 타고 나가서 택시를 탔다.

식당은 시청 근처 맛집을 추천 받아 갔다! 멜조림과 고기를 같이 먹으면 환상이라는 이야기에 솔깃해 바로 찾아간 솔지식당 시청점

같이 간 프론트 개발자분이 이런 따수운 슬랙도 공유했다. 첫만남에 고기 구우며 술까지 먹는 우리 친화력 굉장하다고 느꼈는데 나중에 알고보니 우리 빼고 나머지 구름톤 인원들이 우연히 같은 식당에서 식사를 하고 있었다고..
또 우리만 왕따지..

자리가 재미있어 술을 더 많이 먹고 싶었지만 자기PR이나 아이디어 발표 부담이 있었기에 두 병 정도만 먹고 각자 숙소로 돌아갔다.

숙소 돌아가서 서버 배포도 미리 조금 해놓고 자기 PR 준비한 후에 3시쯤에 잠들었다.


구름톤 둘째날

아이디어 발표와 자기 PR

내 아이디어로 팀원을 데리고 올 자신이 없어서 자기PR을 준비했다. 저는 준비된 개발자이니 데려가 주세요 ㅠㅠ!

기획 포지션의 분들은 대부분 아이디어 발표를 준비해오신 것 같았다. 개발자와 디자이너분들은 케바케로 나뉘어졌다.

다들 아이디어도 좋고, 스펙도 좋아서 팀에 낄순 있을지 걱정이 들기 시작했다.

이때 첫날에 같이 저녁을 먹은 프론트 개발자인 혁이 오빠가 먼저 같이 팀을 하자고 말해줘서 고마웠다! 오빠는 자기 PR을 준비했지만 아이디어도 있다고 해서 우리가 팀원을 모아보자는 계획을 세우게 된다.

팀빌딩

팀빌딩 프로세스는 단순하고 야생적이다. 그냥 아이디어 발표가 끝나면 알아서 팀원을 구하고 팀 등록 폼을 제출하면 된다.

이런 야생적인 곳에서 초식 동물인 혁이 오빠와 나는 덩그러니 남게 된다. 신기하게도 사람들이 우루루 무리를 갖기 시작했고 이에 위기감을 느낀 오빠와 나는 팀원 찾기에 나서게 된다.

우리의 1순위는 '디자이너' 포지션이었다.

팀당 1명뿐인 롤이 기획/디자인/백엔드 였는데, 디자이너와 프론트엔드 포지션의 지원자 각 1명씩 코로나 이슈로 못 오게 되었다. 이 말은 즉슨 강제로 한 팀은 디자이너 없이 팀 빌딩이 이루어지게 된다는 것을 알게 되었다. 디자이너 없는 프로젝트는.. 꿈 꿀 수도 없다..

하지만 어딜 가도 디자이너들은 인기가 많았고, 우리는 대화를 끼지도 못한채 '큰일났다.'만 외치고 있었다.

이때 구름톤 최강 enfp 프론트엔드 모승 오빠가 다가왔다. 모승 오빠도 첫 날에 같이 저녁을 먹은 멤버여서 반갑게 인사를 나누는데.. 기획자 양갱 언니와 디자이너 숨 언니가 모승 오빠의 발표가 인상깊어 찾아왔고 서로의 이름표를 살펴보다가

어? 이렇게 운명처럼 모든 포지션이 모인다고?

해서 팀 빌딩이 완료됐다.(?) 그래서 우리의 팀명은 너는 내 운명

웅장한 운명이들의 첫 만남이 이루어진 순간이었다.
(* 나는 이렇게 얼레벌레 팀을 결성했는데 다른 팀의 경우 인상깊은 아이디어 발표자에게 가서 어필을 하거나, 아이디어 보유자가 먼저 컨택을 하는 것 같았다.)

아이디어 선정하기

개인적으로 해커톤의 수상은 아이디어에 달렸다고 생각했다. 아이디어톤이라고 생각하고 초반 아이데이션에 임했던 것 같다.
서로 준비해 온 아이디어나 생각을 가볍게 이야기했고 최종적으로는 기록, 공유, 보상 이라는 공통 키워드를 뽑을 수 있었다. 처음에는 양갱 언니의 기존 아이디어를 디벨롭하고자 했었으나 차별성 측면에서 아쉬움이 있는 것 같아 혁이 오빠의 아이디어와 융합이 되었다.

그렇게 나온 주제는 나의 성향에 맞는 제주 지역을 알아보고, 그 제주 지역의 타임라인(현재와 미래)을 가시적으로 보여주어 환경 문제의 심각성을 인지시키자.

일종의 제주 버전 성향 테스트를 만드는 것과 유사했다. 이 아이디어가 흔하게 느껴질 수도 있기 때문에 차별점과 와우 포인트를 어떻게 가져갈 것인지에 대해 깊게 고민했다. 그 해결점도 한번에 딱! 나왔다 라기 보다는 해커톤을 하면서 천천히 여러 피드백을 받으며 도출되었던 것 같다.

팀 문화 설정하기

짧은 기간이라도 팀 문화를 정하면 좋을 것 같다고 생각했었는데 다행히 팀원들도 모두 성향이 비슷했다. 그래서 우리는 팀이 빌딩되고 간단한 커피챗 시간에 팀문화를 설정해볼 수 있었다.

우선은 별명으로 부르기!
처음에는 별명에 존댓말을 사용하기로 했지만 어찌저찌 그냥 반말을 썼다. 하지만 신의 한수로 반말이 더욱 우리 사이를 친근하게 만들었고, 웃고 떠들면서 해커톤을 보낼 수 있었다. 추가로 별명으로 부르는게 모승 오빠만 입에 붙어서 모승 제외 나머지는 그냥 언니, 오빠로 부르게 되어버렸다. 그래도 금방 친해질 수 있어서 너무 좋았다. 별명으로 불렀는데 별명이 이름이랑 관련되어 있다보니 더 빠르게 이름을 외울 수 있었다.

결정권자에게 최종 결정 위임하기
UI/UX는 숨 웅니에게, 기획은 PM인 양갱 웅니에게 등 의견에 대해 엇갈리는 상황이 왔을 때, 결정권자를 정해두어 최종 결정에 대한 선택권을 위임해주는 방식으로 진행됐다. 의견을 합치하지 않을 때 혼란을 막아주면서 생각보다 더 큰 역할을 했다!
모승 오빠 덕에 알게 됐는데 종종 써먹어야 겠다.

적어도 한번씩은 의견 말하기
사안 하나에 대해서 팀원 전원이 한번씩이라도 의견을 말하도록 했다. 다양한 생각을 들어볼 수 있어서 시야가 넓혀지는 기분이었다. 또 의견을 무조건 말해야 하니까 계속 생각하고 깊게 고민할 수 있어서 효과적이었다고 생각한다!

밥은 잘 챙겨먹자
어라?;; 이게 팀문화에 들어가도 되나 싶은데 우리팀 너무 잘 먹어서 넣고 싶었다. 놀땐 놀고, 먹을땐 먹고, 일할땐 일하고 이 삼박자가 잘 돌아가니 자연스럽게 효율이 올라갔다.


아이디어에 대해 짧게 이야기를 마친 후 팀 등록을 했다. 다음으로는 토크 콘서트가 진행됐다. 해커톤, 취업, 직무 등 다양한 고민을 가감없이 밝히고 답변을 들을 수 있어서 생각보다 유익했다.

이후 성산일출봉 근처의 제주 플레이 캠프로 단체 이동을 했다. 그 장소에서 본격적인 해커톤이 시작된다.

해커톤 글자가 보이니 설레기도 하고 긴장되기도 하고 싱숭생숭했다. 그래도 비어 파티는 못참지.
쉴새없이 몰아칠 구름톤 일정에서 유일무이한 네트워킹 시간이다. 같은 팀끼리 앉지 않도록 카드 뽑기를 통해 자리가 정해진다. 우리 테이블에는 현직자 분들이 계셨기에 여러가지 이야기를 들어볼 수 있어서 흥미진진했다. 특히 퇴사썰 아직도 잊지 않는다.

다른 테이블의 경우, 멘토님들이랑도 이야기하고 그러던데 나는 자리를 옮기지 않아서 한번도 이야기를 나눈적이 없어 아쉬웠다.

음식들도 너무 맛있고 맥주도 쭉쭉 들어가서 취해버리고 싶었지만 해커톤..을 당일부터 해야했기에 적당히 먹고 들어갔다.


자리에 와서는 아이디어 구체화 및 와이어 프레임 제작 단계에 돌입했다. 팀원 모두 부가적인 기능을 최대한 덜어내자는 의견에 동의했기 때문에 최소 기능 정의를 쉽게 할 수 있었다.

나는 무슨 일을 했냐면

아이디어 디벨롭은 함께 했고 이후에 swagger나 설정 파일과 같은 프로젝트 초기 세팅을 해놓고, ci/cd를 구축해놨다. 전에 한번 ci/cd 안해놓고 수동으로 했다가 많은 시간을 낭비한 적이 있어서 무조건 ci/cd를 해놓을 것이라 다짐했었다.

우리 서비스는 DB 의존도가 낮았어서 erd 설계에서 고민이 많았다.
성향 테스트라는게 계속해서 바뀌는 데이터도 아니었고,사용자가 input을 넣는 경우도 없었어서 백엔드 역할이 필요한가? 에 대한 근분적인 걱정이 있었다. 그래서 기능 정의를 보면서 백엔드가 할 일이 무엇일지를 생각했고, 데이터를 미리 저장해놓고 내려주는 용으로만 사용하자고 결정했다. (프론트만 있어도 충분했었어서 조금은 억지 백엔드였던 것 같기도 하다.)

백엔드가 크게 활약할 순 없는 주제였지만 그래도 내 입장에서는 큰 부담이 없었어서 괜찮기도 했고, 오히려 다른 포지션에 붙어서 태스크를 함께 나눌 수 있어서 좋았다.

help가 아니라 cowork라고 했던가 ㅎㅎ


우리팀이 참 즐겁고 말도 많은데 할 일은 다 해내는 미친 갓기만 모인 팀이라는걸 이때부터 직감했다. 왜냐하면 우리가 제일 시끄럽고 많이 웃는데 할 거 다 해서 제일 먼저 자러감.
새벽 4시에 우리팀만 자리가 휑~해서 웃겨서 찍어놨다. 첫날부터 밤샌 팀이 꽤 있는 것 같아 놀라웠다.


구름톤 셋째날

다음날 아침 10시경에 모였다. 구름톤 셋째날은 해커톤이 한창인 날이라 시간을 내서 어디를 가거나 하기가 어렵다. 그래서 우리팀은 자리에 앉아 서로의 말솜씨(?)로 재미있게 놀았다.

와중에 플레이스 캠프 바로 앞에 유채꽃 밭이 있길래 가서 사진도 찍었다. 제주도 왔는데 노트북만 하기가 아쉬웠다.
개인적으로 성산일출봉 못 가본거 너무 아쉽다. 분명 아침 7시에 보러가자 했는데 해커톤 하다보면 시간 가는 줄 모르고, 막판에는 조급해져서 시간 내기가 어렵다.

중간에 더미 데이터로 강호동 사진 내려줬더니 뷰가 너무 웃겨서 찍어놨다.


성향 테스트 알고리즘이 깔끔하게 나오진 않아서 하드코딩을 해야할 때도 있었다. 하지만 우리팀은 절망하지 않는다. 그저 중요한 건 꺾이지 않는 마음 을 외칠뿐..
태어나서 중꺾마를 이렇게 연발한건 처음이었다. 이거 다 혁이 오빠 때문임.

새벽에 치킨도 시켜주신다. 구름톤 최고 만만세
그 와중에 남들은 하던거 다 하고 치킨 먹던데 우리팀만 치킨부터 뜯었다. 아무리 그래도 먹을거를 앞에 두고 어떻게 일을 해요?

우리팀은 이렇게 개발하면서, 프로젝트 하면서 웃는 일이 너무 많았다.
2박3일이라는 시간동안 밤을 새면서 다들 지치고 짜증을 부릴법도 한데 하나같이 하하호호 거리기 바빴던 것 같다. 제일 웃겼던 점은 입으로는 웃으면서 눈은 서로 모니터만 보고 있던 모습이 생각난다. 또 모승 오빠가 잠 깨겠다고 플레이스 캠프 주위 뛰고 오고, 양갱 웅니랑 오쏘몰 먹고 잠 다 깼다고 하더니 바로 자러간거도 생각난다. 그거 때문에 나랑 숨 웅니랑 새벽에 웃다가 졸도할 뻔 했다.

이렇게 즐거운 팀이 만들어질 수 있구나 싶으면서 정말 운명인가 싶었다. 구름톤 내내 진심으로 행복했다.


위기

모든 api 구현을 마치고(사실 api 두개 밖에 없었음 뿌~ ) 여러가지 잔작업들을 하고 있었는데..

네? 갑자기 api 통신이 안된다고요?

청천벽력이었다.
잘 되던 서버 통신이 갑자기 왜 안될까.. 싶어 postman으로 테스트를 해보니 너무 잘 되는 것이었다!
잘 되다가 안되는 거니까 프론트에서 코드를 잘못 만졌구나 싶었다.

그런데 간과하고 있던 사실 프론트는 https로 배포가 되었고, 백은 http로 배포가 되었던 것.

내 기억에는 아래와 같은 오류가 났던 것 같다.
Mixed Content: The page at 'https://프론트서버주소' was loaded over HTTPS, but requested an insecure XMLHttpRequest endpoint 'http://API주소'. This request has been blocked; the content must be served over HTTPS.

처음에 멀쩡하게 통신이 잘 되었던 이유가 궁금했다.
어찌됐건 서버는 모두 내 책임이기에 해결책을 도출해야 했다. 불행 중 다행으로 내 태스크는 거의 다 끝났었고, 아직 새벽이어서 시간이 남아있다는 점이었다.

백엔드 API 서버를 nginx 웹서버에 올리고 웹서버에 ssl 적용해서 리버스 프록시로 통신하는 방법을 적용하기로 했다. 이전에 프로젝트에 비슷한 구조를 가져간 경험이 있어서 바로 실행해볼 수 있었다. 시간이 많이 없다보니 그저 쉽게 http로만 통신하려 했는데.. 보안 측면에서 보자면 오히려 좋아 였다.

이때 프론트 혁이 오빠가 프론트 서버를 그냥 ec2에 같이 올릴까? 라고 쉬운 길을 제안했었지만, 내가 이것도 못하면서 여길 왔겠어?라는 간지나 보이는 말 던진 다음에 얼레벌레 새벽을 불 지르기 시작했다. 내 영역이었기에 내가 해결하는게 맞다고 생각하기도 했다.

처음에는 nginx 내부망 ip로 reverse proxy 설정하면 되주는거 아닌가? 생각했는데 응~ 경기도 오산
나와 같은 생각을 하셨던 분이 해결책을 주셨다..

결국 무료 도메인 발급 하고, letsencrypt로 ssl 인증서 발급 후 nginx를 도커에 올려 https 적용했다 ^p ^
새벽 5시에 https가 잘 작동하는지 프론트에서 테스트해보는데 떨려 죽을뻔 했다. 수습하는데 성공하고 나서 긴장이 풀리니 바로 졸음이 몰려와 자러갔다.

tip. 구름톤에서는 구름 IDE를 통해 쉽고 빠른 배포 환경을 제공해준다. 나는 컨테이너나 도커 환경에 대해 깊게 이해하고 있지 않아서 사용에 겁을 먹었는데 굉장히 쉽다니까 여러분들은 꼭 사용하시길..


구름톤 마지막날

마지막날의 아침이 밝았다. 잠이 많은 나지만 긴장되는 마음으로 3시간 정도 자고 나갔다. 우리팀 디자이너인 숨 웅니는 단 한숨도 자지 못했다는 것에 마음이 찢어졌다..

우리팀 서비스 주기능이 성향 테스트이다 보니 결과지에 보여지는 일러스트가 굉장히 중요했다. 그 일러스트 무드를 잡는 것부터 시작해 하나하나 그리는 노동 작업을 묵묵히 성공적으로 해낸 숨 웅니가 자랑스럽고 존경스럽다.

마지막에 허겁지겁 개발 마무리하고, 피피티 디자인은 숨 웅니가 해주고, 양갱 웅니가 실시간 발표를 훌륭하게 선보이며 (스크립트 따윈 없는 상여자식 발표) 우리의 서비스 나의 탐라가 세상에 공개됐다.

저 모든 일러스트를 한땀한땀 그렸다는게 말이 되는가? 또 아래에 저 콘텐츠를 창작해냈다는게 말이 되는가? 이 모든걸 구현해낸 개발자들이 있다는게 말이 되는가?

푸하하 나의 탐라가 최고다.

라고 생각했는데 발표를 들으면서 다른 팀의 결과물 퀄리티가 생각보다 더욱 높았다. 같은 시간이 주어졌는데 저만큼 구현했다고? 라고 느껴지는 결과물들도 있었다. 그래서 어느 순간부터는 상 욕심은 버리고 그저 우리가 재미있게 프로젝트를 했다에 의의를 두기로 했었다.

나의 탐라 최우수상을 받았어요

구름톤은 대상, 최우수상, 우수상을 받을 수 있다.
우수상이 먼저 발표가 되고.. 솔직히 우리가 노릴 수 있던 최선은 우수상이었는데 다른팀의 이름이 불렸다. 속상하기도 했지만 그래도 격려하며 고생의 인사를 나누었다.

그때 최우수상 시상에서 '너는 내 운명'이 불렸고 우리 모두 깜짝 놀라 소리를 냅다 지르면서 다같이 일어났다.

지금 생각해도 그 짜릿함 잊을 수 없다. 우리팀 모두가 기대하지 않았고 포기했는데 수상을 하게 된 이 상황이 당황을 넘어 황당했다.

사진을 보면 알 수 있듯이 얼굴이 좀 부어있는데 잠을 못 자서 그렇다. 이렇게 극도로 피곤했음에도 상을 받자마자 개운해졌다. 팀원들과 제주를 마저 즐기고 가고 싶었지만 모두 육지행 비행기를 끊어놨어서 저녁만 먹고 각자 헤어졌다.

너는 내 운명, 나의 탐라

모든 프로그램이 종료되면 구름톤측에서 공항을 가는 버스를 태워다준다. 대강 1시간 반정도 걸렸던 것 같다. 이때 우리팀만 또 버스에서 시끌시끌했는데 그때 나누었던 이야기 중 우리가 어떻게 상을 받았는가에 대해서를 말했었다.

우리팀이 상을 받을 수 있었던 이유는 확실했다.

팀 분위기가 결과물을 만든다.

초반 조훈님께서 팀 분위기가 결과물에 보인다는 것을 언급하셨었는데 구름톤이 끝나고 난 뒤 깊게 공감할 수 있었다. 성격적으로나 역량적으로 배울점이 많은 사람들을 만나서 단기간이었지만 어떤 경험보다도 즐겁게 개발을 해볼 수 있었고, 이런 과정들이 곧 결과물 퀄리티를 보장한다는 것을 알았다.

팀명이 장난스럽게 보일수도 있겠지만 운명과도 같은 만남이라고 자부한다. 즐거움과 진중함을 동시에 갖고 있는 인재들이 한 자리에 모인다는게 얼마나 귀중한 경험인가!

마냥 팀 분위기가 산만한게 아니라 R&R을 적절하게 정의하고, 각자의 태스크를 명확하게 이해하고 있었기에 그만큼의 결과물이 나왔던 것 같다.

중간에 기획적으로 애매모호했던 부분에 대해서는 다 같이 긴급 회의를 하기도 하고, 구름톤에 계셨던 멘토님께도 조언을 받아서 대수정을 거치기도 했다.
이 과정에서 욕심을 모두 버리고, 더더욱 최소 기능으로 쳐내려고 노력했고 결과적으로 완성도를 높일 수 있었던 계기가 되었던 것 같다.

구름톤 이후 진행했던 회고 캡처본이다. 역시 프로젝트가 끝나고 나서 직후에 회고를 진행하는게 좋다. 이번 구름톤 회고도 이걸 참고하면서 하고 있다 ^^..

그리고 나

어떤 일을 하더라도 혼자서는 늘 부담을 갖고 무서워했다. 이번 구름톤은 누구의 도움도 없이 혼자서 결정하고 추진했던 내 선택의 결과물이라 할 수 있다. 수동적인 삶에서 벗어나기 위해 꽤나 노력했던 나는 2022년 구름톤을 통해 드디어 가시적인 결과물을 얻을 수 있었다. 이를 시작으로 앞으로 주체적으로 나아가보자는 도전 정신도 되새길 수 있었다.

나는 재미있는 사람이다 라는 말을 참 많이 들었다. 무거운 분위기를 싫어해서 실 없는 농담을 던지기도 하고, 사람들이 웃으면 행복하니까 더 그랬던 것 같다. 근데 요즘들어 내가 재미있는 사람은 맞아도 능력있는 사람은 아닌 것 같다. 라는 생각이 들었다. 이런 자기 비하에서 시작되는 의심과 불안은 나를 좀먹고 있었던 것 같다.

이번 구름톤은 이를 벗어나기 위한 동아줄이기도 했다. 스스로 가치를 증명해보자는 욕심을 가졌고, 단순히 재미있다를 넘어 능력있는 웃긴 개발자가 되고 싶었기 때문이다. (아무리 그래도 재미는 포기 못한다.)

팀 회고를 하면서 나에 대해 남겨준 피드백을 살펴봤다. 팀원들이 해준 말들을 키워드화하면서 조금이라도 내가 발전했구나가 한눈에 보여 정말 뿌듯했다.

분위기 메이커, 소프트스킬, 활력소, 미친 리액션
열심히 사는, 문제 해결사, 완벽, 당신이 내 백엔드 눈 너무 높여놨어.


마치며...

한 장으로 정의 가능한 구름톤

제주라는 특정 공간에서 진행되는 만큼 평생 잊지 못할 해커톤 기억을 안고가는 것 같다. 게다가 좋은 팀원들을 만나 인연을 이어가고, 상도 받고, 상품으로 키보드까지 받았으니 이보다 더한 행복이 있을까

함께하는 멘토님, 참가자분들 모두 자신 그리고 직무를 사랑하고 열정있게 살아가는 사람들이었다. 이 안에서 이야기를 나누고 프로젝트를 진행할 때, 여러가지 배워간 점이 굉장히 많았다. 사람, 추억, 성장을 동시에 가져갈 수 있는 소중한 경험이었던 구름톤 회고를 마치겠다.

너는 내 운명, 나의 탐라 안녕👋

profile
기록이 주는 즐거움

4개의 댓글

comment-user-thumbnail
2023년 1월 5일

우리팀이 '운명'이라지만 최우수상을 받고 팀빌딩이 된건 너의 선택이야!
실력은 쌓으면 그만이지만 너만의 분위기는 아무나 못만든다.
정말 수고했당!

1개의 답글
comment-user-thumbnail
2023년 1월 5일

혁이라는 프론트 개발자분이 굉장히 뛰어나신 것 같아요! 어떻게 저런 결과물을,,,,,,,,!?

1개의 답글