기술 메모장

UNITHON 9TH 참가 후기 - 찐 I의 2박3일 오프라인 해커톤 도전기

ghoon99 2022. 9. 13. 19:10
별건 없구요.. 그냥 일기에요..

비개발자가 추천하는 해커톤..!!

 

이것저것 해보려던 8월, 마침 지인 분께서 재밌는 소식을 전해주셨고.. 고민 끝에 한번 참여해보기로 했다!

 

지원서를 꽉 채워썼지만 떨어질까 걱정했다.. 그래도 선발!

UNITHON 9TH

https://www.unit.center/unithon

 

UNITHON

IT community United Hackathon, UNITHON 유니톤은 IT 커뮤니티 구성원들의 즐거운 성장과 교류를 목표로 하는 해커톤입니다.

www.unit.center

회사 근처 마루 180/360 이라는 멋진 건물에서 진행되었다

 

오랜만에 진행되는 오프라인 해커톤

 

참가인원을 선발 할때 IT 커뮤니티 활동을 하고 있는 인원 ( IT 연합동아리 등등)을 위주로 선발하였다고 한다. 그래서 대부분의 사람들이 이름을 들으면 알법한 대외활동단체에 소속된 사람들이였다. 심지어 (SW 특성화)고등학생 분들도 꽤 많이 참여 하신 것 같다. (교복 입고 등장..) 

 

2박 3일(금 토 일)동안 진행되는 오프라인 해커톤.. 3일동안 집에 가지 않으신 분들도 존재했다. 보통 첫날은 자고  토~일에는 밤새는 분들이 대부분이였다.

 

결과

- 이전내유 - (異世界로 전생했더니 내가 2박3일 유니톤 참여자?) - 

나사 빠진 팀명..  "이걸 상을 받네..?" 특별상을 받았다!!

 

-깃주팔자- 라는 서비스를 만들었다.

https://unit-center.notion.site/2-3-6b6823695fb34d20b6d0beafea3d3317

 

깃주팔자 [이전내유 - 異世界로 전생했더니 내가 2박3일 유니톤 참여자?]

1️⃣ 프로젝트 요약 정보

unit-center.notion.site

깃허브 마스코트..? 를 따온 우리팀 로고
첫화면과 로딩중 화면, 저 고양이 빙글빙글 계속 돌아간다

 

궁합 결과 페이지

대충 두 사람의 깃허브 아이디로 궁합을 볼 수있는 기능을 가진 재미있는 서비스를 제작하였다..!

 

 

좋았던 점 

- 좋은 팀원들, 재미있는 분위기 

총 13팀이 있었고 우리는 11팀이다. 백엔드 2, 프론트 3, 기획 1, 디자이너는 있었는데 없었습니다.. (전날 코로나 걸리셔서 불참ㅠㅠ)

6명의 인원으로 한 팀이 되었다. 백엔드를 담당하신 팀원 중 한 분은 고등학생(05...)이셨고 어떤 유명한 글(velog)의 주인공이셨다.

팀원들은 대부분 학생 분들이셨고, 연합동아리 출신이였다. 

 

팀원들은 재미있게 해커톤에 참여하고 싶은 분위기였고, 결국 뜻이 맞아 팀명부터 저 세상으로 보내버렸다..

 

보드게임을 엄청 좋아하시는 분이 계셨고, 해커톤에 보드게임 3개를 들고 오셨다. 여기까지 보드게임을 들고 오셨는데 안하고 갈 수는 없지.. 결국 작업 도중에 1시간 좀 넘게 보드게임을 했다.

 

나중에 알게 된건데 다른 팀이 우리보고 벌써 끝났냐고 부러워했다고... (한 공간에 3팀이 들어가있었음) 

우린 이때 API 연결도 안되어있는 상태였다ㅋㅋㅋㅋ

토~일 새벽, 작업은 일단 뒤로 한채 보드게임을 했다. 너무 재밌었다

 

- 밤샘 코딩.. 처음해보는 경험

태어나서 처음으로 노는거 말고 일을 하며 밤샘을 해보았다... 한번 이렇게 집중해서 코딩을 해보니 나도 밤샘코딩을 할 수 있었구나.. 라는 것을 알게 되었다..

새벽 커밋 로그... 6 ~ 8시는 타임어택 한다고 1개의 커밋으로 퉁쳤다..

- 멋진 사람들이 모인 곳 

해커톤 참가조건(?) 부터 남달랐던지라 개발에 관심이 많고 열정적인 사람들이 많이 참여하였다. 거의 어디선가 들어본 연합 동아리 출신들이였다. 대학생들이 대부분인거 같지만 고등학생들도 많이 보였고 직장인분들도 꽤 계셨다. 그들을 보면서 개발자의 인맥에 대해서 생각을 더 해보게 되었고 열정적인 분들을 보며 나에게도 자극이 많이 되었다.

 

 

아쉬웠던 점

- 아이디어 회의에 시간을 많이 소비한 느낌..?

해커톤 첫날, 어떤 문제를 해결하기위한 제품을 만들기 보다는 나사빠진.. 재밌는 아이디어를 만들기로 의견이 일치되었다.

하지만 이야기 하면 할 수록 주제는 산으로 가버리고, 특별히 정해진 주제 없이 빙빙 돌아버리는 상황이 발생하였다.

 

나는 금요일 퇴근 후인지라, 그리고 유난히 그날 너무 지쳐서 집에서 쉬고 오기로 했다.  다음 날에 다시 가보았더니 깃주팔자라는 아이디어가 나왔다. 가자마자 아이디어 너무 잘 짜셨다고 팀원들에게 이야기했다. 그리고 프로젝트 이름이 너무 끌리더라..

 

너무 좋은 아이디어라 다행이지만 조금 일찍 아이디어가 나왔다면  개발적인 세팅을 뭐라도 해놓을수 있었겠다.

혹은 더 놀수 있었을텐데..  라는 생각에 조금 아쉬웠다. 어차피 나는 집에 다녀와서 빨리 정해져도 달라질게 없겠지만..

 

 

- 개발 대비를 해도 결국 쓸모가 없었다.. ㅠㅠ

해커톤 시작 전  환경을 빠르게 세팅하고 바로 개발을 시작하기 위해 챙길 수 있는 것들을 챙겨보았다.

해커톤을 진행했던 주에 테오의 스프린트를 끝마치고 난 지라 빠르게 개발 할때 어떤 내용들이 필요한지 알고 있었고

간단하게 나마 컨벤션과, 기술 스택, 폴더 구조, 깃허브 레포지토리 세팅을 준비해갔다.

깃허브 레포지토리, 간단한 커밋,폴더 컨벤션, 브랜치 전략

하지만 막상 개발을 진행하려다보니... 팀원 모두의 배경들이 다 달랐고, 경험의 차이도 존재하였다.

서로 공통적으로 다뤄본 것은 리액트 뿐이였고 모두가 공통적으로 익숙하지 않은 기술이지만 최대한 좁혀서 (strict 푼 ts 등..) 개발을 시작했다.

 

개발도 바쁜데 익숙하지도 않은 컨벤션들을 어떻게 신경써나가면서 빠르게 만드냐.... 결국 점점 편한대로 일단 구현되게만 코드를 짜기 시작했고 (나부터...ㅋㅋ) 피곤해지니까 커밋도 하기 귀찮아졌다. 코드는 이미 날아다니고.. 난리가 났다.

템플릿 모르겠고 일단 합쳐...!!!

- 고생해주신 백엔드 미안해요ㅠㅠ

열일하신 백엔드분들... API 를 만들어 주셨는데  2~3개 밖에 이용을 못해보았다. 로그인 관련 로직들은 거의 사용조차 못해보았다.

변명을 하자면 CORS를 해결한다고 API 를 거의 마감 2시간 전부터 연결을 시작해서.. 

 

그래도 2일동안 열심히 데이터베이스도 짜고 뭐 열심히 설계하는게 보였는데 너무 미안했다.. 특히 고등학생분.. 잘하시는거 아는데..  내가 못따라 가주는거 같아 살짝 죄책감이 들었다ㅠㅠ 

그래도 그 죄책감으로 끝까지 뭐라도 완성시키려고 API 연결 타임어택을 달렸다..

 

- 디자이너 또 없어..? 

원래 7명에서 한팀이 되었고, 거의 환상의 조합이였다. (프3 백2 기획1 디자인1)

하지만 해커톤 시작 이틀전 디자이너분께서 코로나 이슈로 참여하지 못한다는 소식을 들었고 우리팀은 디자이너 없이 참가하게 되었다.

 

처음에는 해커톤의 핵심일지도 모르는 디자이너가빠져서 걱정을 많이 했지만 다른 팀엔 원래부터 디자이너가 없거나 기획이 없거나 해서 그냥 일단 해보기로 했다.

 

모두가 디자인에 참여를 했고 괜찮은 결과가 나와서 다행이다. 하지만 또.. 디자이너와 협업을 해보고 싶었는데 또 디자이너가 없었다.. 이부분은 살짝 아쉽지만 다음기회도 있으니..

 

 

- 체력.......!!

생각보다 밤샘을 아예 못하는건 아니였다. 하지만 밤샘 후유증이 생각보다 오래가서 해커톤이 끝나고 3일 동안은 퇴근하고 바로 잠만 잤다...

 

 

- 극I 에겐 아직도 어려운 이벤트 참여..네트워킹

주최측에서 해커톤 도중 여러가지 상품이 걸린 이벤트를 준비해 주셨고 개발자분들끼리의 네트워킹 시간도 마련해주었지만 당시 코딩에 집중한다고 체력도 많이 빠져있었고.. 어딜 가기에 귀찮은 상태가 되어버려 거의 참여하지 못했다. 우리 팀원들은 어딜 돌아다니면서 책이나 다른 경품들을 잘 따오시던데.. 나는 빈손으로 왔다

 

또 중간에 현업자분들을 모셔서 해커톤과 관련된 내용을 질문하거나 개인적인 이야기를 할 수도 있었던 멘토링 시간도 있었는데 나는 또 개발로 바쁘고, 진짜 피곤해서 참여하지 못하였다.

 

옆에서 한창 멘토링을 받을때 코드를 치던 나(프론트들)에게도 관심을 가져주셨는데 ... 물론 그분은 백엔드 개발자였지만 

(Q: 왜 이번에 Next js 로 개발하시게 되었어요??  A: 아 일단 그냥 익숙한걸로 개발하려구요..) 하고 나는 할일을 하고 대화를 끝내버렸다..ㅠㅠ

 

이것저것 

API 연결 타임어택..

사실 우리팀은 시연도 하지 못할 뻔했다. 재밌게 보드게임까지 하고 다시 개발로 돌아와보니 퍼블리싱 찍어내야 할 페이지는 여러개가 더 남아있었고 (꼭 필요하진 않았음) 클라이언트와 API 연결은 하나도 되어있지 않은 상태였다.

 

그런 도중 API가 배포가 되었고 첫 연결을 시도해보는데.. 예상했던 CORS이슈가 생겼고 해결을 일단 백엔드 측에 넘기고

나는 아직 남아있었던 클라이언트 페이지를 찍어보려고 했다.

 

하지만 생각보다 CORS 가 해결이 빨리 되지는 않았고 나는 멍한 상태로 2시간을 그냥 보내버렸던 것 같다.

그 상황에서 다른 팀원분들은 피곤해하셔서 잠깐 쉬러가시고 나와 백엔드 한분이 남아서 CORS 를 해결해보려고 작업을 계속 진행했다.

 

결국... 마감 2시간 조금 안남겨서 문제가 해결되었고 첫 API 연결을 시작하였다.

멍한상태에서 제한된 시간에 코드를 연결하려니 .. 아무것도 생각이 나지 않았다. 그저 바로바로 생각나는대로만 작성하고 구현하는 것에만 집중했다. 

첫 화면 mutation 연결. 정신줄 놓고 코드짰다.. 혼잣말 마스터
리액트쿼리 어케썼더라!!!!!!!!! 까먹어서 일단 날것의 코딩....

목표는 일단 서비스를 구성하는 핵심 페이지만 구현하는 것이였다.

(깃허브 아이디 입력 => API 요청(ID) => 로딩 => API 요청 (결과) => 결과 보여주기)

 

백엔드분께서 뒤에서 응원을 해주셨고 1시간이 좀 더 걸려 목표로 했던 것까지 겨우 다 연결했다.

그때는 마감시간 직전이였다. 와....이거 안했으면 진짜 큰일날 뻔했다.. 이거라도 구현되서 정말 다행이였다..

 

시연 부스 반응은 뜨거웠다. 기획...그리고 마케팅(?) 이 다 해먹었다..

팀원들의 아주아주 적극적인 부스 홍보 (궁합 한번 보고 가세요~~)가 인기상의 비결인 것 같다.

 

 

이번 해커톤에서 생각해볼 점들

- 짧은 기간의 해커톤은 결국 아이디어 싸움이다. (근본의 CRUD + 재미있는,색다른 아이디어) 

페이지 2개로도 상을 받을 수 있고.. 2일동안 백,프론트가 기술적으로 경험하기 좋은거도 간단한 CRUD..

그 이상으로 벗어나면 힘들듯 싶다. 디자인 + 기획이 제일 중요한거같아... 그리고 마케팅...!?

 

- 기술에 집착하다가 구현도 못하고 끝나는 수가 있다..

짧은 기간에 이것저것 다 챙길순 없다 진짜.. 그리고 우리 서비스 뒤에 코드는 무시무시한 날것의 코드가 숨어있는데.. 어차피 아무도 모른다 ㅋㅋ..

 

- 빠른 개발에서는 변수가 많다..

(sns 로그인 , 외부 api 에 의존하는것들) 은 틀을 미리 짜오지 않는 이상 사용을 그냥 안하는게 안정적인 듯 싶다. 

네이버 카카오 로그인 API 연결한다고 몇 시간을 쓴 팀이 있었다. 그러다 결국 뻈다는 이야기도 들은 거같다..

완전 익숙하지 않는 이상 변수가 생길만한 기술은 사용하지 않는 것이 괜찮은듯.. 

 

- 그래도 최소한의 준비는 해가면 괜찮을듯

 해커톤 개발 키트..?를 만들어서 참가하면 좋을거같다는 생각도 들었다.

 

- 개발 밑천이 들어난 나..?

퍼블리싱도 제대로 못쳤다.. CORS 도 예상은 했지만 생각보다.. 해결을 늦게했다. 빨리 하면서도 개발하면서 신경쓸 것을 신경쓰는 사람들이 진짜 잘 하는 사람인가보다..라는 생각이 들었다.

 

- 가장 중요한건 즐기는 마인드 .. 그에 너무 맞았던 좋은 팀

다 못해도 어때.. 만나서 같이 아이디어 짜고 , 개발 하면서 경험 공유도 하고 보드게임도 하고.. 즐겼으면 됐따

 

마무리

기획부터 발표준비까지 모두 책임져준 멋진 기획자님, 피곤함에도 끝까지 텐션을 유지해준 팀원들..

모두 덕분에 재밌게 참여하고 좋은 결과 도 얻을 수 있었다. 좋은 경험 만들어준 운영진들, 팀원들 모두에게 감사하다.

 

 

다음에도 이런 기회가 있다면 주저없이 참여할 생각이다.

 

10일이라는 짧은 시간동안 테오의 스프린트 , 해커톤을 진행하며 어느정도 성공적인 팀플을 이뤄냈고

이전의 첫 대외활동에서 내 실수로 벌어진 일 때문에 대외 활동을 꺼려했던 것(PTSD..)을 점점 극복해나가는 중이다. 

 

해커톤에서 많은 사람들의 이야기를 들으면서 여러 연합 개발동아리들에 대해서도 알게 되었다.

이 곳에서 다양한 직군의 사람들을 만나면서 내 아이디어도 공유해보고 재밌는 아이디어를 직접 구현해보거나, 다른 개발자들의 이야기도 들어보고, 경험을 공유하면서 다 같이 재밌게 성장해 나갈 수 있는 방향도 괜찮을 것 같다. 

 

 

끝