JUNCTION ASIA 2023에 다녀와서..
JUNCTION을 알게 된 경로..
평소에 해커톤에 관심이 많았던 나는 우연한 경로로 'JUNCTION'이라는 것을 알게 되었다. 그래서 작년에 다른 형들과 JUNCTION ASIA에 지원을 넣었는데, 너무 만만하게 봐서 떨어졌고, 핀란드에서 진행하는 JUNCTION은 붙었지만, 비행기값이 없어서 나는 가지 못 했었다.
JUNCTION ASIA 2023에 지원하다
그리고 2023년이 되어 동아리 후배들과 함께 JUNCTION ASIA에 다시 지원을 넣었다. 사실 나가기로 한 팀이 따로 있었다. 하지만 동아리에서 단체로(...) 나가기로 정해져서 우리 동아리의 결정을 따르게 되었다. 그리고 이 결정은 결과적인 측면에서는 부정적인 면이 없진 않았지만 훨씬 많은 배움을 주었다.
7/15, 대회 지원
7/3부터 참가자 신청이 시작되었다. 사실 이전부터 미리 참가할 것을 계획하고 준비하고 있었기 때문에, 지원 서류 질문에 대해 진지하게 고민하고 작성하였다. 그리고 7/15, 제출을 완료하였다.
8/7, 합격 통보
밥먹고 받은 설래는 이메일. 드디어 내가 해커톤에 갈 수 있다는 마음에 매우 신났었다.
팀원들이 전부 같은 동아리 후배들이었기 때문에, 별도의 미팅은 진행하지 않았다.
8/18 - DAY 1, 설레이며 달려간 부산
전 날(17일), 코요태 보느라 대전에서 밤 늦게 올라와서 새벽 1시에 잤었다. 그리고 밀린 업무가 있었기에 새벽 4시에 버스 첫차를 타고 사무실로 갔었다. 원래 푹 자고 갔었어야 했는데.. 너무 졸았다. 그리고 밀린 일 다 하고, 다시 집으로 돌아와서 KTX를 탔다. (집 앞이 KTX역임 ㅎ)
이렇게 대한민국에서 가장 비싼 KTX를 타고 내려온 대회장. 집에서 출발했었을 때에는 하늘이 파랬는데, KTX 타고 울산쯤 지나가니깐 비가 후드득 내리기 시작했었다.. 다행히도 부산 도착했을 때에는 비가 올락말락 했었었나.. 할튼 부산 도착하자마자 너무 습했었다. 사전 네트워킹을 신청했기 때문에 부산에서 좀 놀다가 3시경 대회장에 입장했다.
대회장의 모습.
웰컴 키트와 내 이름표. 대회장 안은 에어컨잉 거대해서 매우 추웠었다. 겉옷이나 담요는 필수..
사전 네트워킹 때에는 스폰서(부스) 담당자들, 그리고 참석자, 봉사자, 크루와 이런 저런 이야기를 나눌 수 있었었다. 그리고 부스들에서 제공하는 이벤트에서 비누, 텀블러, 쿠폰 등 각종 선물도 받았었다.
기본 언어는 영어지만, 한국인의 비중이 높기 때문에 사람 많은 데에서는 영어로 소통하되, 한국어도 많이 사용했었다. 중국인이랑 영어 잘 안 통했어요 ㅠㅠ
빙고도 있었다! 사전 네트워킹 때 절반 이상 채운 듯.
사전 네트워킹 때 아는 사람들도 몇몇 만났었다. 같은 학교 (졸업생) 선배부터 시작해서, 항상 안 만나기로 해도 만나는 친구도 있었고, 심지어 내가 작년에 비행기값 없어서 못 갔었던 JUNCTION 2022의 우리 팀원 분도 있었으니.. 그 분이 무려 대회 COO 분이셨던 Kiara Choi님이었다!
본 대회 시작 전, 친구랑 밥을 먹으러 벡스코 식당가로 갔었다. 맛은 그럭저럭 했었는데 가성비가 너무 없었다. ㅠㅠ
사진 제목: 돈까스로 리엑트를 배워보자!
이렇게 사전 네트워킹 일정이 모두 끝나고, 우리 팀원들을 만나 본 대회 일정으로 들어갔다. 즐거움은 여기까지..
나는 팀에서 팀장이자, 기획자이자, 개발자를 맡았었다. 프로젝트의 총괄 역할을 하게 된 것이다.
트랙 파트너사들에서 제시한 트랙 과제들 중 하나를 선택하여 수행하는 방식이다. 트랙의 목록은 이렇다:
부산광역시 X 신한카드: 공공 데이터와 신한카드사 데이터(!)를 활용한 프로젝트 만들기JAKA: 로봇 상용화를 하기 위한 프로젝트 만들기SoluM: ESL(전자 라벨)과 통신 기술을 활용하여 프로젝트 만들기부산관광공사 X GroundK: 관광 데이터와 모빌리티 서비스 등을 활용한 효율적인 관광 서비스 만들기CNT Tech: 배달 서비스의 과포화를 완화할 수 있는 서비스 만들기
그리하여, 긴 얘기를 마친 뒤, 3번 트랙을 선택하기로 하였다.
사실 트랙에서 무엇을 원하는지 100% 이해를 하지 못 했어서, 부스로 달려갔더니 친절하게 설명해 주셨다. 학생이라고 하니깐 더 친절하게 대해 주셨다.
우리가 기획한 서비스는 맞춤형(수요 응답형) 단체 이동수단과 개인 이동수단을 연계한 여행 기획 앱이었다.
DAY 1은 선택한 트랙과 개발할 프로젝트의 개요를 적어서 제출하는 것으로 마쳤었다.
8/19 - DAY 2, 복잡하고, 정신없었던 하루
상세한 기능을 아이데이션하는 과정에서 아무 생각 없이 무작정 하니 힘들었었다. 기획 담당 친구도 고갈난 상태인 것 같았고.. 디자이너 친구와 아이데이션을 진행한 것 같았다.
그렇기 꼬이고 꼬인 머리를 정리하며 종이 8장 분량의 아이디어를 적어냈었다. 아이디어도 너무 복잡했었고, 사전 지식도 필요한 부분도 있었기 때문에, 정리해서 설명하는 것이 매우 중요했었다.
결국 단순 설명을 위한 용도로 PPT까지 만들었었다. 이 PPT는 멘토링 시에도 활용했었다.
디자이너가 없어요!
몇 시간 동안의 아이디어 회의부터 기능정의서 작성까지 마치다 보니, 새벽 1시 반이 훌쩍 넘어섰다.
기능정의서를 기반으로 디자이너 친구가 앱 디자인을 시작했다. 나는 기능을 마저 정리하고 쉬러 가려 했었다.
새벽 2시 반쯤 되었을까, 디자이너 친구가 나한테 다가와서, "선배님.. 저 이정도 만들었는데 자러 가고 싶어요.."라고 말했다. 딱 두 페이지 만들었는데, 쉬라고 했었다. 밤새도록 이런걸 해본 적은 없었을 테니깐.
나는 사용할 API를 조사하고, 기본 셋팅을 하고 있었다. 이 때, 한 번 개발 피봇팅(?)을 했었다. 지정된 경유지들을 지정하여, 경로 지정 기능을 제작할 때, TSP(외선판 순회 문제) 알고리즘을 요구로 하고 있었다. 그래서 자바스크립트로 제작하고 있었는데, 결국 파이썬으로 갈아버렸다.
참고 자료: https://namu.wiki/w/%EC%99%B8%ED%8C%90%EC%9B%90%20%EC%88%9C%ED%9A%8C%20%EB%AC%B8%EC%A0%9C
그래도 Chat GPT가 코드를 짜줘서 알고리즘 관련된 코드는 어려움 없이 짤 수 있었다. (참고: 생성형 AI 사용 허용됨)
백엔드 기본 셋팅을 마친 뒤, 바깥 산책을 하다가 아는 형 덕분에 밖에서 자고 왔다. 이 때 시각은 새벽 3시쯤 되었었다.
그리고 7시쯤에 일어나서 다시 대회장으로 달려갔었다. 딱 4시간 잤었다. 그런데도 다른 친구한테 왜이렇게 많이 잤냐는 소리를 들었다.
그런데, 깃 푸시를 하려던 도중, 충돌이 일어났다. 왜 그런가 했더니 프론트 개발 친구가 파이썬 코드도 다 짜 준 것이었다.. 내가 제발 쉬라고 했지만, 그 친구는 웃기만 하였다. 물론 버그 투성이고 보완점이 많은 코드였지만, 일단 나는 그 친구가 너무 대단했다.
나는 코드 작업을 마무리 하고 있었고, 다른 친구들은 찜질방에서 쉬고난 뒤, 점심식사를 마치니 멘토링을 시작했었다. 멘토링 시간은 고작 5분. 우리의 서비스를 트랙 파트너사 분들께 대충 설명하고 조금의 조언을 구하는 시간이었다. 그렇게 멘토링에서 제안받은 기능은, 관광 코스 선정 시, 선정 기준 요소 중 관광지별 혼잡도 정보도 포함시키도록 하는 것이었고, 개발 시 반영하기로 하였다.
사실 개발 속도는 양호한 편이었지만, 디자인 속도가 찜찜했었다. 메인 페이지까지 개발하였고, 호스팅까지 완료했었는데, 디자인은 기능 페이지 하나도 완성 못했었던 상황이었다. (물론 절대 디자이너 친구가 못 했다는 것이 아니다.)
그래서 기능정의서에 작성된 주요 기능만 완성하는 것으로 목표를 축소하고 작업하도록 계획을 변경했다.
시간이 얼마 안 흘러가고 있었는데, 벌써 저녁시간이 되었다. 그리고, 날이 넘어갔다. 누워서 개발을 하다가 잠이 들어버렸다..
8/20 - DAY 3, 혼란스러웠던 마무리; 이 대회에서 깨달은 것
이 때 나는 0시에 자서 2시에 일어났다. 일어나서 다시 작업장으로 갔더니 디자이너 친구가 뻗어 있었다.
새벽 2시 쯤, 디자이너 친구가 디자인을 완성했다. 디테일은 다 버렸고, 기본 화면들만 구성했었다. (디자이너 친구의 잘못이 없음을 재차 강조한다.)
새벽 3~4시 쯤, 기획 친구는 발표 자료 구성을 하고 있었고, 프론트 개발 친구는 개발을 진행하고, 다들 자러 갔었다.
나는 다른 친구들이 자던 사이에 기획과 개발을 마무리하며 급하게 축소된 계획을 극적으로 끝냈었다.
이렇게 급하게 마무리를 하고 있었는데, 점심시간 때, 나의 무책임한 행동이 팀에 악영향을 미쳤었다.
시간을 확인하지 못 하고, 점심을 먹으러 갔었다. 이 때 시각은 12시가 조금 넘어갔었을 때. 나는 분명히 12시 30분까지 모두 집합하도록 하였다.
식당에서 음식이 조금 늦게 나왔었지만, 내가 모이라 해 놓고 나서, 심지어 다음 일정이 있었는데도 밥을 먹으러 간 행동은 단순히 무책임한 행동이 아니라 완전 미친 행동이다. 결국, 최종 발표 시간까지 놓쳐서 15분 뒤에 발표하는 것으로 메꾸고 대회장으로 급하게 복귀하였다.
당연히 팀원들은 화가 날 수 밖에 없었다.
##전체적인 회고
그렇다. 나는 무책임한, 그리고 실패한 리더였다.
환경적인 측면을 무시한 일정
팀원 개개인의 스타일과 능력, 한계를 전혀 고려하지 않은 서비스 계획
안정적이지 않은 아이데이션
리더로서 잘못한 부분들이었다. 또한, 해커톤 전 컨디션 조절도 코요태 보러오느라 실패하였고, '나는 무엇을 해야하는가'라는 생각으로 여기저기 쓸려다니며 우왕좌왕했었던 것도 문제였었다. 물론 다행히도 끝까지 할 수 있다는 마음가짐으로 주도해서, 적어도 중도포기 하는 상황이 벌어지지는 않았었다.
사실 우리는 수상하러 온 것이 아니라, 좋은 경험을 쌓기 위해 온 것이다. 원래 가기로 한 맴버들과 갔었다면 좋은 실적이 나왔을 것이다. 그래도 좋은 성과를 내고, 상을 받는 것이, 팀 리더로서, 그리고 선배로서 최고의 선물이 아닐까.. 비록 상 까지는 못 탈지언정, 모두가 만족할 수 있게 안정적으로 진행하였으면 얼마나 좋았을지 후회하는 중이다.
앞으로 해커톤 뿐만 아니라 팀 프로젝트는 이런 식으로 진행한다는 것을 제대로 배우게 되었고, 특히 "대표"라는 직책이 얼마나 무거운지, 대표로서 가져야 할 책임감에 대하여 많은 점을 깨달 수 있었던 기회였다.
댓글
로그인 후 댓글을 남길 수 있습니다.
해커톤이라는 긴급한 상황 속에서 좋은 결정을 내리는 것은 능력뿐만 아니라 경험적인 지식도 많이 필요하기에 정말 어려운 일이죠 ㅠㅠ 고생 많으셨습니다! 아쉬운 경험을 이렇게 글로 정리하신 것이 다음 번 또 예상치 못한 상황에 부딪혔을 때 더 잘 할 수 있게끔 만들어주리라 생각해요 👍