BE THE DEVELOPER

회고록: 눈꽃톤을 참여하고 나서 본문

자유공간/중앙 회의실

회고록: 눈꽃톤을 참여하고 나서

미역굳 2024. 2. 4. 03:33

인생 첫 해커톤

그동안 내가 해커톤에 참여할 기회가 없었던걸까? 내 성격상 해커톤이 눈앞에 열리는데 참여를 안할리는 없다. 그런데 당장 GDSC에서 연합으로 해커톤을 연다니, 이건 당장 참여해야 할 일이다. 이번 GDSC 연합 눈꽃톤은 동국대, 이화여대, 숭실대, 홍익대 GDSC가 연합으로 무박 2일로 해커톤을 진행했다.

 

해커톤 오거나이저로도 참여할 수 있었지만, 해커톤처럼 대회는 웬만해선 운영보단 참여가 하고 싶다. 비슷하게 SUAPC에서도 내가 문제를 출제할 수 있겠지만, 당장은 문제를 출제할 생각이 없다. (물론 이번에는 일정상 대회에 출전할 수 없다쳐도 내가 SUAPC에 문제를 출제할 레벨이 아니다.)

 

사실 진짜 쉽지 않은 일정이다. 이미 프로젝트를 2개 진행하고 있고, 거기에 일주일이라는 기간 동안은 한 프로젝트에 몰두해서 진행해야 할 일이 생긴 것이다. 심지어 디스코드에 올라오는 GitHub 프로필을 보면 다들 수준이 장난아니시다.

 

지금 우리 학교는..

대부분의 학교는 GDSC 멤버를 뽑을 때 면접을 거쳐 소수 정예로 꾸려나가지만, 우리 학교는 하나의 커뮤니티를 구성하자는 취지에서 만들어졌기에 누구나 들어올 수 있다. 즉, 개발을 한 번도 해보지 않았어도 멤버로 활동할 수 있었으며, 해커톤에도 지원할 수 있었다. 물론 나도 지원할 때만 해도 다른 학교의 수준이 이정도로 높을것이란 생각을 하지는 않았다.

 

“나정도면 그래도 홍컴에서 중간은 하지 않을까”라는 막연한 생각을 깨주었다. 물론 이 말이 틀렸다고 생각하지는 않지만, 다른 학교들과 비교했을 때는 턱없이 부족한 실력이다. GitHub Contribution 수만 봐도 1년동안 몇백회는 다들 기본적으로 찍혀있었다. 물론 이게 개발 실력을 나타내는 지표는 아니겠지만 기가 확 죽는건 사실이다.

 

근데.. 내가 이정도라면 다른 멤버들은? 이라는 생각이 문득 들기 시작했다. 사실 원래 주변에 해커톤 별거 아니라고, 개발 못해도 참여할 수 있다고 열심히 떡밥을 던져놨기에 이걸 책임질 사람이 필요해진 것이다. 물론 해커톤은 배우러 가는 곳이라 쳐도 적어도 1인분은 아니더라도 0.5인분을 하기위한 준비가 필요하다고 느껴졌다.

 

조 편성 결과를 봤을 때도 만만치 않았다. 분명 우리 학교 이름이 많이 보이는데 특히 1학년 분들의 이름이 많이 보인 것이다. 이대로는 나를 위해서도, 홍익대의 명성을 위해서도 해커톤을 대비해야 한다는 생각이 들었다. 그래서 디스코드에서 해커톤에 참여하는 멤버들 중 같이 공부할 사람들을 모집하기 시작했다. 처음에는 내가 뭔갈 많이 해줘야겠다는 생각보다는 그냥 같이 공부하자는 생각이었다. 그래서 노션 페이지를 파서 내가 여태까지 공부하며 정리한 내용들을 공유했고, 최대한 초심자가 보면 좋을 글들을 많이 모아서 읽어보라고 했었다.

이렇게 보니까 노션에 꽤 많은 정보 담아놓은듯.. 처음 프로젝트하는 사람들이 참고하면 좋을듯하다.

그러나 막상 해커톤 날짜가 다가올수록 나도 불안해지고, 제대로 기초를 잡아야겠다고 생각했다. 나도 막 잘 아는 사람은 아니지만 사람들이 적어도 내가 아는 만큼은 알고 해커톤에 참여했으면 하는 마음이 컸다.

 

눈꽃톤 세미 온보딩

가장 먼저 깃허브. 깃허브는 프로젝트를 진행함에 필수적으로 필요하지만 다들 모르는 부분이 많을 것이라 생각했다. 그래서 적어도 어떻게 브랜치를 파고, PR 날리고 머지할 수 있는지 등의 기본적인 내용 위주로 준비했다. 나도 깃헙에 대해서 막 잘아는게 아니기도 하고, 실제로 설명하는 중에도 깨달은 포인트가 있긴하다.

 

그 다음에는 프론트엔드와 백엔드가 어떻게 굴러가는지도 설명했다. 이 부분은 데이터통신을 수강했다면 좀더 이해하기 쉬웠으리라 생각하는데, 웹서버가 어떻게 굴러가는지, 프론트엔드와 백엔드는 어떻게 서로 소통할 수 있는지, 그 코드는 어떻게 짤 수 있는지 등의 내용을 준비했다. 이부분은 확실히 실습을 해보지 않는 이상 깨닫긴 어렵다고 느끼긴 했으나, 필요한 부분이라 생각했다.

 

또한 프로젝트의 전반적인 개요에 대해서도 설명했다. 솔직히 나도 프로젝트들을 시작하기 전에는 어떻게 해야하는지 하나도 몰랐었고, 프로젝트를 진행하기에 막막했었는데, 이걸 처음해보는 사람들이 해커톤에 무작정 가서 배우는건 불가능하다고 느꼈다. 그래서 프로젝트 기획을 어떻게 진행해야 할 것인가 위주로 내용을 짜봤다. 이거 관련해서도 사실 블로그 글을 작성하고 있었는데, 나도 아직 프로젝트에 대해서 잘 아는건 아닌지라 필요한 내용들을 계속 모아보고 있다. 이 외에도 피그마를 어떻게 이용할 수 있을지 등 실전적인 내용 위주로 준비해봤다.

 

위을 내가 온라인으로 주구장창 설명하기 보다는 오프라인으로 모여서 함께 실습하면 더 효율적이지 않을까 싶었다. 바로 날짜와 공부 장소 잡고, 그때부터 어떤 내용을 전해줄지 정하기 시작했다. 사실 내가 그때 한창 바쁠 때였어서 뭔가를 제대로 준비 하기가 쉽지는 않았다. 그래도 세미 온보딩 전날 밤을 새워서라도 다 준비하겠다는 생각으로 열심히 자료 제작하고, 커리큘럼을 짜보았다. 그렇다고 막 대단한 것도 아니고, 나 정도의 수준으로 실력을 끌어올릴 수만 있다면 팀에게 폐가 되진 않지 않을까 라는 생각에 진행했다.

어차피 별 내용 없어서 올려도 될듯..
눈꽃톤 세미 온보딩.pdf
3.14MB

 

 

눈꽃톤 온보딩

세미 온보딩을 진행한 다음날이 바로 진짜 온보딩 날이었다. 이때가 내 눈꽃톤 팀원들과 실제로 만나는 첫번째 날이었다. 사실 온보딩 전에 한번 따로 온라인으로 회의를 진행한 적이 있었다. 각자 해커톤 주제에 맞는 프로젝트 기획안을 작성해왔고, 그 주제들에 대한 의견을 나눠서 하나로 확정지었다.

 

온보딩 당일에는 딱히 진행한게 없었다. 현장에서 각 학교 GDSC 리드님들의 강연이 있었는데, 생각보다 도움되는 내용이 많았다. 앞으로 프로젝트를 진행하는데 있어서 뼈대가 되는 내용들이었다. 온보딩때는 이렇게 강연 듣고, 팀원들과 소통하는 시간 갖고, 뒷풀이를 가는 정도로 간단하게 마무리했다.

 

온보딩 뒷풀이가 진짜 재밌긴했다 물론 당일 뒷풀이도 만만치 않았고..

 

개발 기간..

온보딩 다음날부터 바로 기획을 시작했다. 당일날에 가서 기획까지 하는건 무리가 있었기에 적어도 기획은 마무리하고, 백엔드에서는 배포를 마무리하고 들어가기로 했다. 원래 내가 아는 해커톤은 당일에 다 처리하는 거였는데, 이렇게 미리 개발을 해가는 경우도 있는 듯하다.

 

기획은 생각보다 순탄하게 진행됐다. 다같이 기능에 대해서 얘기를 나누고, 플로우차트도 짜고, API 명세서도 짜고 하는 등 업무 분배도 잘되었고, 일정이 크게 밀리는 일도 없이 마무리했다. 특히 디자인이 꽤나 맘에 들었다. 물론 이 기간에 눈꽃톤 개발만 한게 아니라 다른 일들이 많았기에 잠도 제대로 못자고 작업하는 등 진짜 열심히 살았던 일주일이었다.

열심히 기획했다는 흔적.. 계속 검토하고 피드백하고 한듯

 

눈꽃톤 당일 전날 밤에는 디자인을 마무리하면서, 당일에 출력할 포스터와 명함을 만드느라 새벽 4시에 자고 말았다.. 물론 5시 반까지 모이면 됐었기에 잠은 충분히 잘 수 있었지만 명함 수령하고, 포스터 출력까지 하느라 바쁘게 보내고 눈꽃톤 장소로 향하게 되었다.

근데 진짜 디자인 이정도면 잘 만든거 같은데 (물론 그림은 내가 안그렸지만)

 

눈꽃톤 시작! 그러나..

동국대 혜화관에 도착했다. 동국대는 처음 가보는 곳이었기에 길이 낯설긴 했지만 생각보다 금방 찾아왔다. 와보니 저번 DevFest 때 뵀던 반가운 분들이 꽤 보였다. 일찍 도착했기에 개발 세팅하고, 포스터 출력해오고 하는 등 바쁘게 시작했다. 확실히 개발을 하나도 진행하지 않은 상태에서 시작하려다보니 마음이 급해지는 부분이 있긴했다. 다들 도착했을 때 파트랑 시간 분배하고, 개발을 본격적으로 시작했다.

 

우선 살면서 해본 적 없는 개발이었기에 긴장되는 부분이 있었다. 여러 프로젝트를 진행하고 있긴 하지만, 직접 구현을 한 경우가 많진 않을 뿐더러 사용하는 라이브러리가 아예 다르다보니 맨땅에 헤딩하는 느낌이었다. 그래도 열심히 구글링하면서 진행하고자 했다. 가장 먼저 진행한건 컴포넌트 구현하기였다. 피그마에서 프로토타입을 만들면서 모든 요소를 컴포넌트 단위로 쪼개놓았고, 각자 어떤 컴포넌트를 만들지 파트를 나눴다.

 

살면서 이렇게 집중해서 개발 해본적이 없었기에 처음에는 조금 답답하면서도 재밌었다. 시간이 지나면 지날수록 내 집중력이 생각보다 좋다는 생각이 들기도 했다. 거의 쉬는 시간 없이 계속 개발을 이어나갔다. 하지만 점점 구현 해야한다는 부담감과 발표 자료를 준비해야한다는 부담감이 만나면서 머릿속이 복잡해지기 시작했다.

 

어쩌다보니 발표를 내가 담당하게 되어서 발표 자료를 미리 만들어볼까 했는데 전날에 포스터랑 명함 디자인을 하다보니 자료를 만들 시간이 없었고, 연습도 제대로 못했다. 이게 계속 마음에 걸리다보니 개발을 하면서도 신경쓰였다. 구현도 생각했던거보다 딜레이되는 부분이 있었고, 마무리 단계에서는 급하게 하려다보니 오히려 코딩이 손에 잡히지도 않았다.

 

데모 부스를 진행할 때까지 개발이 마무리되지 않을거 같아서 노선을 살짝 바꿔서, 우리가 기획했던 기능 말고 다른 기능을 체험할 수 있도록 기획을 바꿨다. 고생하신 리드님들께 편지 하나씩 남겨놓을 수 있도록 만들어놓았다. (물론 이마저도 제대로 못만들었다.. 흑흑..)

데모부스 현장. 포스터도 저정도면 잘 만든듯

 

발표도 썩 맘에 들지 않았다. 물론 영상을 봤을 때는 크게 문제가 없어보였고 다들 괜찮게 했다고는 하지만 머릿속에 정리가 안된 내용들을 발표하려다보니 내가 말하고자 하는 바를 다 전달하지 못한듯하다. 물론 졸려서 못한 것도 있긴 할듯.. 기대했던 모습보다 내가 하나도 한게 없는거 같아서 팀원들한테 미안한 마음이 들었다..

발표하는 내 모습. 래퍼냐는 소리를 들었다. 지금보니 맞는거 같기도..

회고

먼저, 가장 문제였던 부분은 MVP 설정이었다고 생각한다. 내 실력을 생각하고 MVP를 가장 먼저 설정할 필요가 있었는데 그러지 못했기에 개발이 완성 안됐다고 생각한다. 개발 순서같은 거라도 짜놨어야 하지 않나 싶다. 또한, 너무 쓸데 없는 곳에 시간을 많이 썼다. 솔직히 명함이나 포스터가 실제 개발에 도움되는 것도 아닌데 디자인에 너무 많은 시간을 썼기에 다른 데에 쓸 시간이 부족했다고도 느껴진다.

 

좋은 결과를 얻어내진 못했지만 그래도 팀원들과 일주일이라는 시간동안 같이 회의하면서 의견도 나누고, 현장에서 같이 밤새 개발했다는 경험이 꽤 도움이 됐다. 생각보다 개발이 적성에 맞다고도 느꼈다. 다음에도 해커톤이 열린다면 다시 한 번 참가자로 신청하고 싶다. 이번에는 눈꽃톤에서 피드백한 부분들을 적용하여 좋은 결과를 만들어내고 싶다.

다들 수고하셨습니다~

 

https://github.com/GDSC-snowflowerthon/firstsnow-team04-web