[ Uni-DTHON 2022 (2022. 11. 5. ~ 2022. 11. 6.) ]
글을 쓸 걸 알았다면 사진을 많이 찍어둘걸 그랬는데 아쉽습니다. ㅠㅠ
간단하게 생각나는 정도만 적어보려고 합니다.
대회 전
고등학교 때부터 해커톤을 한 번쯤 나가보고 싶다는 생각이 있었습니다.
고1 때는 무언가를 개발할 실력이 안 된 것 같아 못 나갔고, 고2 때부터는 앱이나 웹을 어느 정도 개발할 수 있는 정도가 되었지만 코로나 이슈로 무언갈 하기 어려운 시기여서 나가지 못했습니다.
사실 고2~고3 때 스마틴앱챌린지 대회(STAC)를 2회 나간 적이 있었습니다. 하지만 STAC는 몇 개월 간 팀원들과 앱을 개발하는 공모전이었고, 밤새서 짧은 시간 동안 개발해야 하는 해커톤과는 많이 다를 것이라고 생각해오고 있었습니다.
아무튼 저는 해커톤에 막연한 환상을 가지고 있었고, 어느 날 과 공지방에 올라온 해커톤 공지글을 보게 되었습니다. 해커톤 트랙과 데이터톤 트랙으로 나뉘어 진행되고, 참가자는 6개 대학의 소프트웨어 관련과 학생으로 한정되어 있었습니다.
데이터톤에도 관심이 있었지만 이번에는 해커톤 트랙으로 신청하기로 했고, 해커톤 트랙은 2인 동반이 가능하여 성균관대학교 소프트웨어학과에 다니는 고등학교 동창 친구와 함께 팀으로 지원했습니다.
지원폼에는 가능한 개발 스택과 각각을 어느 정도로 잘 다루는 지에 대해 적을 수 있었습니다. 저는 기존에 다뤄왔던 백엔드 Flask와 앱 프론트엔드 Flutter 프레임워크가 가장 자신 있다고 적고 제출하였습니다. 여기서부터 되게 신기했던 것 같습니다.
그리고 며칠 후 참가 확정 메시지가 왔습니다. 이번 대회에서는 신청 인원수가 많아 신청서를 기반하여 역량 평가가 진행되었다고 하는데, 다행히 저와 동반 신청을 한 친구 둘 다 참가할 수 있게 되었습니다.
참가비를 납부한 후 유니드톤 슬랙에 초대받아 들어가게 되었습니다.(슬랙도 이번에 처음 써보게 되었습니다) 팀 채팅방도 개설되었는데, 저와, 제 친구, 그리고 처음 보는 4분이 함께 있었습니다. 대회 이틀 전, 개발 포지션과 스택을 저희 팀끼리 공유해보자고 하셔서 각자의 스택을 댓글로 적었는데, 프론트엔드는 React.js로 어느 정도로 모아진 반면(저만 빼고 React를 주로 사용한다고 하였음), 백엔드는 Node.js, Python, Spring으로 쓸데없이 각양각색으로 다채로움을 보여주었습니다.
팀의 단합력 테스트를 위해 각 팀에 일부러 개발 스택을 다 다르게 배치해놓은건가? 하는 생각이 들기도 했지만.. 아무튼 대회 당일 날에는 프론트엔드는 React.js, 백엔드는 Node.js의 Next.js를 기반으로 개발하는 것으로 결정 납니다.
대회 시작
그리고 토요일, 대회 첫날이 되었습니다. 친구와 서울역에서 만나 맥도날드에서 아침을 간단히 먹고 위워크 서울스퀘어로 향했습니다. 위워크에서 대회장으로 올라가는 엘리베이터를 못 찾아 헤맸었는데, 대회 참가자로 보이는 일행을 따라가니 대회장으로 들어올 수 있었습니다.
개회식과 후원 기업 세미나를 마치고, 다른 층으로 이동해 본격적으로 팀과 한 테이블에 앉게 되었고, 아이스브레이킹 시간이 시작되었습니다. 유니드 3행시 짓기, 자신을 5글자로 표현하기, 팀명 짓기를 했었는데, 유니드 3행시에서 정확히는 기억이 안 나지만 주옥같은 작품들이 많이 나왔던 것 같습니다.
그리고 마침내 대회의 주제가 공개되었는데, "MZ 세대를 위한 서비스"였습니다.(작년에는 "대학생을 위한 서비스"였다고 합니다.) 해커톤을 처음 나가봤기에, 생각보다 넓은 주제가 나와 당황했지만 ( 처음 봤을 때 주제가 너무 대충 지어진 거 아닌가 싶었지만 ) 그만큼 저희가 낼 수 있는 아이디어의 폭은 넓었습니다.
주제가 공지되고 아마 점심을 먹었던 것 같았는데, 점심은 뷔페식으로 나왔습니다. 오기 전에 밥을 이렇게나 잘 주는지 몰랐었는데, 음식은 전형적인 뷔페의 음식과 뷔페의 맛이었습니다. 사진을 못 찍어놔서 정말 아쉽습니다. ㅠㅠ
점심을 먹고 이제 본격적으로 아이디어 회의에 들어갔습니다. 노션을 파서 각자 아이디어를 있는 대로 적었고, 다 적어보니 20개가 넘었던 것 같습니다. 그것을 회의를 통해 추리고 추려나갔고, 결과적으로 하나의 아이디어가 추려졌습니다.
"지금 무슨 노래 듣고 계세요?"를 길거리 시민들에게 물어보는 유튜브 콘텐츠를 한 번쯤 본 적이 있을 겁니다. 저는 아래 채널에서 처음 접하게 되었습니다.
https://www.youtube.com/watch?v=a2LG13O_QqU
사실 몇 년 전부터 외국에서 유행했던 콘텐츠였다고 하는데, 한국에도 뒤늦게 바람이 불어 MZ 세대들의 관심을 자극하기 시작했습니다. 저 또한 처음 보았을 때, 그저 길거리의 시민을 인터뷰하는 콘텐츠지만 신박하다는 느낌을 받았습니다.
결국 저희는 이에서 영감을 얻은 "WhatSong"이라는 앱 서비스를 기획하게 되었습니다.
이제 본격적으로 개발을 시작하게 되었습니다. 프론트엔드 4명, 그리고 팀장님을 포함해서 백엔드 2명으로 개발이 진행되었습니다. 저는 프론트엔드 부분을 담당하게 되었고, React로 개발을 하게 되었습니다. 사실 저는 지원 폼에 React를 할 수 있다고 쓰지는 않았습니다. React를 고2 때 처음 접해서 한 번 프로젝트를 경험해보긴 했습니다. 하지만 제가 혼자만을 위한 코드를 "쌀" 수는 있지만 해커톤과 같이 협업을 해야 하는 코드를 "짤" 엄두는 나지 않았습니다. 저의 경우에 협업해서 코딩을 해본 경험이 몇 번 없었어서 다른 언어를 써도 마찬가지였겠지만 React는 영 자신이 없긴 했습니다. 그래도 저 혼자 Flutter를 두드릴 수는 없었으니 React로 두 페이지를 담당해 개발하였습니다.
그리고 개발하던 중 저녁이 나왔습니다. 저녁은 모든 행사의 국룰 메뉴인 본도시락이었습니다.
다시 개발을 시작했습니다. 처음 써보는 카카오 지도 API를 사용하게 되었고, 개발을 하면 할수록 React는 내 길이 아닌가 보다 하는 생각이 들었습니다. (제가 익숙하지 않았기에 그랬습니다)
그리고 아마 23시쯤, 웃지 못할 해프닝이 벌어졌습니다. 프론트엔드 git이 conflict이 나서 거의 수습 불가한 상황이 된 겁니다. 각자 branch를 만들어서 개발하고 있지 않은 것이 화근이었습니다.
분명.. 고2 때 창업동아리 할 때는 branch 잘 파고 어찌했었던 것 같은데.. 오랜만에 git으로 협업을 해보니 개념이 사라져 버린 듯합니다... 'git 하나도 제대로 못 쓰는 사람이 감히 개발자라고 말할 수 있겠나?'라고 하실 수 있겠지만.. 전 반박은 못 하겠습니다..
아무튼 새로운 git repo를 만들어 코딩을 다시 시작하게 되었습니다.
간식은 자정쯤 나왔던 것 같은데, 피자가 나왔습니다. 저는 배가 불러서 못 먹었지만.. (생각보다 너무 잘 나와서 '사육당하는 것 같다'라는 말이 나왔음)
그리고 이제 본격적으로 밤을 새우는 시간이 되었습니다. 무려 홍삼이 들어있다는 파이어진 카페인 음료에 의지해나가며 개발을 계속해 나갔습니다. 생각보다 시간은 많이 남아있었고(해커톤을 처음 나간 무지한 제 체감 상) 그냥 하던 대로 이어 나갔습니다. 그리고 새벽 n시(기억 안 남)쯤에 제가 맡은 페이지는 끝냈던 것 같습니다.
아침은 샌드위치, 오렌지 주스, 과일이 들어있었던 세트였던 것 같습니다. 밤을 새우니 속은 안 좋았지만 샌드위치가 맛있어서 잘 들어갔습니다.
확실한 건 역시 마감 시간이 다다르니 시간이 빠르게 지나갔습니다. 마감 시간이 되니 개발이 새롭게 필요한 것들이 보이기 시작하고, 미리 생각해뒀어야 하는 게 생각나기 시작했습니다. 시간은 2배로 빨리 갔고, 팀장님은 4배로 빠르게 뛰었습니다.
결국 낮 12시에 해커톤이 끝이 났습니다. 그리고 실시간으로 롤드컵 DRX vs T1 결승전이 펼쳐지고 있었습니다. 평소에 한국 경기는 계속 챙겨봤었는데, 하필 해커톤이랑 일정이 겹쳐서 약간의 후회가 있을 뻔했지만 5세트의 라스트 댄스는 볼 수 있어서 다행이었습니다. 정말 중꺾마..
점심은 수미상관 구조로 전 날 점심과 같이 출장뷔페가 왔습니다. 그리고 똑같이 맛있게 먹었습니다.
점심을 먹자마자 팀 별 발표가 시작됐고, 저희 팀도 발표자님께서 멋지게 발표를 해주셨는데, 교수님들의 날카로운비관적인 질문들이 많이 들어왔던 것 같습니다.
그 이후 후원 기업 세미나가 2차로 진행되었고, 최종 결과 발표가 있었습니다.
주제가 정말 참신하다고 생각해 약간의 기대는 하고 있었으나 아쉽게도 상은 타지 못하였습니다.
대회 이후
이제 첫 해커톤을 치르고 나서의 후기를 써보려고 합니다.
저는 사실 해커톤 전에 가장 걱정됐던 점은 "내가 밤을 새울 수 있을까? 그것도 낮 12시까지?"였습니다. 비생산적인 일인 게임을 친구들이랑 할 때 어쩌다 밤이 샌 적은 있었지만, 공부나 개발 같은 생산적인 일을 하며 밤을 새운 적은 없었습니다. 근데 어쩌다 보니 새워졌습니다. 개인적으로 카페인이 잘 받는 편인 것 같긴 한데, 아무튼 새우려고 하니 새워졌습니다. 중요한 것은 꺾이지 않는 마음 아닐까요.
그리고 정말로 많은 것을 배웠습니다. 처음 보는 사람들과 협업해서 무언가를 만들어 완성한 것은 매우 소중한 경험이 될 것 같습니다. 개발 협업 경험이 부족한 저에게 있어 협업하는 데에 필요한 것들을 배울 수 있어 뜻깊은 이틀이 되었습니다. 앞으로도 해커톤과 같은 팀 개발 프로젝트가 있다면 이번에 새로 배웠던 내용을 적용해볼 수 있을 것 같습니다. 이번엔 제가 자신 있는 스택으로 개발을 하지 못해 무언가 많이 못한 것 같아 아쉽긴 하지만, 오히려 두루두루 개발 스택을 익혀놔야 할 필요성을 느끼게 되었습니다. (특히 React는 많이 써서 더..)
한편 해커톤에서 아쉬웠던 점은 깨어 있는 시간이 너무 길었다는 점이었습니다. 물론 저는 해커톤이 처음이었기에 다른 해커톤과 비교를 하지 못해 잘 모르겠지만, 이튿날 오후 5시 30분까지의 기업 세미나를 맨 정신으로 듣기에는 제 체력이 너무나 부족했습니다. 좋은 세미나였던 것 같은데 연사님들께 죄송하지만 좀 졸았습니다.. 많이.. 아무튼 인간의 3대 욕구 중 수면욕을 잘 챙기지 못해 아쉽습니다. 다만 다른 욕구인 식욕은 잘 챙겨주셔서 매우 감사하게 생각합니다.
그리고 또 한 가지는, 심사위원 분들이 연세가 있으신 교수님 4분이었다는 점이 다소 아쉬웠습니다. 대회 주제가 'MZ 세대를 위한 서비스'를 개발하는 것이었지만 MZ 세대와 거리가 있으신(MZ 세대의 정의 상으로) 분들께서 심사를 맡아주셔서.. 덕분에 객관적인 시선으로의 심사는 가능했겠지만, 실제 MZ 세대이신 심사위원분이 한 분이라도 계셨다면 어느 정도 주제에 대한 공감대를 잘 형성할 수 있었지 않았을까 생각해 봅니다.
마지막으로, 팀원 분들께 감사하다는 말씀드리고 싶습니다. (특히 팀장님.. 팀장님이 아니라 중간부터 거의 멘토님이 되어버린..) 상은 못 탔지만 첫 해커톤에 정말 좋은 팀원 분들만 골라서 만난 것 같습니다. 이것이 해커톤이다! (희망편)만 시청한 것 같은 느낌이랄까요..
그리고 해커톤이 끝나자마자 정말로 뒤풀이를 갈 지 상상 못했는데 형,누나님들 체력이 만 18세였던 저보다 훨씬 뛰어난 것 같아 놀랐습니다.. 엘레베이터 앞에서 먼저 내려 기다리시고 계신 걸 보고서야 '진심'이시구나.. 라는 걸 깨달았습니다. 뒤풀이를 가서 팀원분들과 더 친해질 수 있었던 것 같습니다.. ㅎㅎ (기억은 잘 안 나지만..)
뜻깊은 경험이었고, 2023년에 UNI-DTHON이 열린다면 다시 나갈 수 있을지는 모르겠지만(군대 issue..) 즐거운 경험 만들어 주신 유니드팀에 다시 한번 감사 말씀 드립니다!
'2022 > 대외활동' 카테고리의 다른 글
온드림스쿨 다빈치교실 21기, 수업 전 준비 [2] (0) | 2024.03.01 |
---|---|
온드림스쿨 다빈치교실 21기, 지원부터 합격까지 [1] (0) | 2023.04.10 |