JunctionX Seoul 2021 Hackathons 리뷰

Wynn
11 min readMay 24, 2021

--

전쟁터에서 살아 돌아온 팀 ‘allnighter’ 생존자의 생생한 후기 ✍️

JunctionX Seoul 2021 Hackathon

들어가면서

5월 21일~5월 23일 2박 3일간의 해커톤 일정을 마치고 쓰러져서 월요일을 맞이했다. 당시의 생생한 기억을 써내려 가기에는 다소 늦은 감이 있으나 더 늦기 전에 빠르게 후기를 전하려고 한다 🙏

시작은 바야흐로.. ✈️

Thanks for the announcement :)

대략 한 달 전쯤에 같이 일하는 동료로부터 해커톤 소식을 듣게 되었다. 팀으로 함께 하지는 않았지만, 시작 전에 이런저런 팁도 주워들을 수 있었고, 중간중간 어떻게 진행되고 있는지 공유하며 서로 의지할 수 있었다. (나만 의지했던 거 아니죠?)

이 글과 함께 감사의 마음을 전하고 싶다 🆆🅴

Track mission by partner

JunctionX Seoul 2021Microsoft, AWS, AUTOCRYPT, SIA(SI Analytics) 4개 기업이 파트너로 참여한 글로벌 해커톤이며, 팀 빌딩 이후 트랙별로 공개되는 미션을 선택하여 짧은 시간 안에 설득력 있는 프로덕트를 만들어 제출해야 한다 🔥

보통 해커톤은 대면으로 진행되지만, 이번에는 코로나의 영향으로 온라인으로 진행되었다. 난 해커톤 경험이 없었지만 늘 참여하고 싶다는 생각을 가지고 있었다 🥺 보통 해커톤 하면 AI와 관련된 주제가 많아서 참여를 못 하고 있었는데 마침 좋은 기회다 싶었다. 바로 신청서를 제출!

최종 참여 인원 선정 결과는 5월 9일에 이메일로 통보되었다 📮

개발자 시트 티켓 🚀

여행 못 간 지 오래됐는데 이런 티켓을 받으니 정말 여행이라도 떠나는 기분이 들어서 무척이나 반가웠다 🙌

Microsoft’s preworkshop

트랙마다 다르지만, 행사 시작 전에 프리워크숍 링크를 보내준다. 나는 Microsoft에서 진행했던 프리워크숍을 시청했다. 마이크로소프트에서 제공하는 플랫폼들을 사용하기 위한 환경을 구성하는 영상이었는데 솔직히 말해서 조금 난잡했다 😓 영상도 길고 핵심적인 정보 파악도 어려웠다. 파워플랫폼(MS에서 제공하는 서비스)이란 무엇인지, 이걸 사용해서 만들면 어떤 이점이 있는지, OS 별 간단한 환경 구축 실습 등이 임팩트 있게 전달되었으면 좋았을 텐데 여러모로 아쉬웠다 😭 실제로 MS 채널에 정말 많은 질문이 쏟아졌고, 처음에 MS를 선택한 팀이 가장 많았다가 많은 팀이 다른 트랙으로 이주해서 마지막에는 적은 수의 팀들만 트랙에 남게 되었다 🌪

🤝 Team Building

보통 해커톤에서는 행사가 시작되고 나서 팀빌딩 시간이 주어지지만 이번에는 아무래도 온라인으로 진행되기 때문에 행사 일정을 통제하는데 어려울 것으로 예상했는지 시작 전 참가자들에게 이메일로 슬랙 주소를 발송하고 자유롭게 팀 빌딩을 할 수 있도록 진행되었다 ⏳

my cover letter

팀 빌딩은 특정 채널에서 진행되었는데 팀 멤버를 구하는 사람도 있고, 나처럼 팀을 구하는 사람도 있다. 이곳에서는 정말 다양한 사람들을 만날 수 있었다. 학생들이나 나 같은 직장인들, 해커톤에서 수상한 경험이 있는 사람들, 더 나아가서는 실제로 스타트업을 운영하고 계시는 CEO 분들도 있었다 🤭 정말 어마어마한 스펙을 가지신 분들이 많아서 이런저런 자극을 받았던 기억이 남는다.

이렇게 내 소개를 올려두면 DM으로 팀 합류 제안이 들어온다. 정말 감사하게도 많은 분께서 팀 합류를 제안해주셨다 🙏 합류할 팀을 고르는데도 많은 고민이 있었는데 내가 함께할 수 있는 팀원들의 소개(GitHub, Linkedin, portfolio 등)를 자세하게 보내주시고, 내가 왜 필요한지 어떤 역할을 기대하고 있는지 등을 함께 보내준 팀에 합류하기로 결정했다. 단순히 “팀 구하셨나요?” 같은 멘트를 들었을 때 팀에 대한 단서가 없기 때문에 아무래도 합류 결정을 내리기 어려웠던 거 같다 😂

🌙 Welcome to Team ‘allnighter’

Team joining 🙌

드디어 팀에 합류! 우리 팀의 이름은 allnighter이다 💫 해커톤이랑 찰떡이다. 내가 들어오고 다음 날 들어오신 기획자분을 마지막으로 팀 빌딩이 끝났다. 슬랙으로는 보통 간단한 자기소개와 관심 있는 트랙에 대해 이야기를 나누고 기술 스택과 협업 툴을 결정하는 시간을 갖게 된다.

기술 스택을 결정하는 과정

우리 팀은 협업 툴로는 Notion, Figma, Discord를, 프론트엔드는 React, Next.js, 백엔드는 express.js, mongoose를 사용하기로 결정했다 🧑‍💻 처음에는 TypeScript를 사용하기로 했었는데 mongoose와 함께 사용하기에는 구현부의 코드가 너무 길어지는 문제가 있었다 😭 typegoose라는 대안도 있었지만, mongoose에 익숙하지 않은 나와 TypeScript에 익숙하지 않은 팀원들이 새로 학습하기에는 비용이 너무 컸던 탓에 JavaScript로 결정하게 되었다. 결과적으로 이렇게 짧은 기간 동안 진행하는 프로젝트에서 JavaScript를 사용하기로 했던 의사결정이 생산성 측면에서 많은 이점을 가져다주었다고 생각한다 👣

🛠 프로젝트 시작 전 스스로 했던 준비

mongoose 실습

아무래도 mongoose를 사용해 본 경험이 거의 없어서 학습을 해두면 도움이 될 것이라는 생각에 실습을 진행해봤다. 셋업도 간단했고, 사용 방법도 어렵지 않았기 때문에 빠르게 학습할 수 있었다. 사용 경험이 좋아서 개인 프로젝트에서 자주 사용할 거 같다. 개인적으로 NoSQL은 별로 사용해 본 경험이 없었는데 이렇게 사용해 볼 수 있는 기회가 생겨서 오히려 기분 좋게 배울 수 있었다. (오히려 좋아 😁)

Azure CI/CD 구축

Azure Portal page

트랙 파트너에 MS가 있다 보니 Azure를 사용해서 인프라 환경을 구축하라는 평가 기준이 있을 거라고 생각했다. (예감은 빗나가지 않았다 💣) 그래도 간단하게 서비스 용어들이나 사용법은 숙지하면 도움이 될 것 같아서 인프라를 구축해보는 연습을 했다 👀 평소에 AWS만 사용하다가 Azure를 처음 사용해봤는데 괜찮은 경험이었다. 먼저 국문으로 작성된 문서가 꽤 잘 되어 있었다는 점과 포털 인터페이스도 나한테 잘 맞았던 거 같다. 1년 동안 비용 청구없이 일정 서비스를 제공해주니 현재 AWS 인스턴스에서 돌아가고 있는 코드를 잠시 애저로 마이그레이션할 예정이다. 아마 이게 그들이 원하는 거겠지 📬

🚨 LET’S HACK

our track mission

우리는 AUTOCRYPT 트랙으로 결정했다. 사회적으로 불우한 사람들의 삶을 개선할 수 있는 Barrier-Free 서비스를 만드는 미션이었다 👩‍🦽 우린 빠르게 오디오를 켜고 토론을 시작했다. 그렇게 대략 한 2시간 정도 이어졌는데 자꾸 빙빙 도는 느낌이 들었고, 결국 한 팀원분께서 ‘Miro’ 라는 툴을 사용해보자고 제안해주셨다 👍

Miro, ideation tool

그렇게 우리의 아무말 대잔치는 점점 모양을 갖춰나가게 되었고, 결국은 교통약자들에게 안전한 여정을 제공하는 구독형 대중교통 플랫폼 서비스 🚕 로 방향을 잡게 되었다. 서비스 이름은 Ontime 이다 🕛

처음에는 한 팀원분께서 유저들에게 원하는 장소에 가상의 버스정류소를 만들 수 있는 인터페이스를 제공해서 수요가 생기면 가상의 노선을 생성해서 운행하는 서비스를 제안해주셨는데 알고리즘이 복잡하고 시간적인 여유도 부족해서 포기하게 되었다 😞 좋은 아이디어였는데 시작도 못 해봐서 아쉬운 마음이 든다. 다음에 같이 만나서 만들어보면 재밌지 않을까. (그렇죠 여러분?)

기획이 끝나고 팀 전체가 제대로 작업에 착수하고 보니 마감까지 우리에게 주어진 시간은 24시간도 채 남지 않았었다 ⏳ 시간이 너무 촉박해서 24시간 동안 집중해서 만들어내겠다는 의지는 강했으나 아무래도 내내 집중하는 건 쉽지 않았다 😂 그래서 작업과 동시에 수다도 열심히 떨고 돌아가며 신나는 음악도 틀면서 서로를 격려하며 응원하면서 버텨냈다. 이때 어색어색하던 분위기가 많이 거둬지면서 많이 친해졌다고 생각한다 😇

👋 Hello, Ontime

Ontime, product made by team allnighter.

Presentaion Video Link

디자인 & 프론트단에서 구현해야 할 화면도 많아서 이게 과연 될까 싶었지만 누구 하나 빠지지 않고 각자 맡은 파트에서 최선을 다해줬기 때문에 결국은 완성해냈다 나는 2박 3일 동안 총 6시간 반 정도 수면시간을 가졌는데 아마 내가 팀에서 제일 많이 잤을 것이다 😂 부랴부랴 영상도 찍고, README.md도 작성하고 나서야 마침내 Final Draft를 제출했다. 이때 감격스러움, 후련함, 아쉬움 여러 감정이 교차했다. 최대한 가깝게 표현해보자면 뇌는 텅 비었는데 가슴이 충만해지는 그런 기분이었다. 아직도 잊지 못할 거 같다.

내심 기대하면서 결과 발표를 기다렸지만 아쉽게도 수상작에 오르지는 못했다. 비록 수상작으로 선정되지는 못했지만, 수상작들과 비교해봤을 때 우리 서비스 역시 충분히 경쟁력 있었다는 생각이 들었다. 그래서 한편으로는 더 아쉬운 마음 😭

그렇지만 드디어 긴 마라톤을 완주했다는 사실에 엄청난 행복감이 밀려왔다 💃🕺

그리고는 내일이 월요일이라는 사실에 많은 이들이 좌절했다고 한다.

🌟 해커톤을 통해 얻은 것들

크게 3가지로 나눠볼 수 있을 거 같다.

고정관념 탈피

처음에는 Hackathon이라고 했을 때 가장 먼저 Programming Skill이 떠올랐었다. 정말이지 코딩을 국내에서 탑 급으로 잘하는 사람들이나 나가는 그런 대회라고 생각했었다. 그러나 아직 학교를 졸업하지 않은 열정 있는 개발자들이나 스킬셋이 다양하지 않은 개발자들도 많이 참여했고, 실제로도 좋은 성과를 보여줬다. 그간 가지고 있던 생각이 얼마나 쓸데없는 노심초사였는지 스스로 반성하는 시간을 가질 수 있었다 😓

다양한 사람들과의 만남

메인 파트이다. 이번 해커톤을 통해 다양한 사람들을 만날 기회를 얻었다 🙌 특히 개발자 인사이트가 필요한 스타트업 팀에서 진행하는 인터뷰에도 참여했었는데 나 자신의 생각을 정리해볼 수 있는 시간을 가질 수 있어서 좋았다. 또한 서로 다른 환경에서 성장하고 있는 사람들과 만나서 하루 만에 무언가를 만들어냈다는 성취감과 그 여정에서 가질 수 있었던 협업 경험도 내게 큰 도움이 되었다 😎

새로운 관심사

SleepMode 팀의 Social Distance

이번 파트너사에서 준비한 다양한 트랙들 덕분에 좀 더 폭넓은 시각을 가질 수 있게 되었다. 특히 AWS에서 준비한 트랙은 AWS 클라우드 인프라를 활용해 게임을 만드는 미션이었는데 참여하지는 못했지만 수상작들을 보면서 어떻게 동작하는지 호기심이 생기게 되었다 🎮 별거 아닐 수 있겠지만, 개발자에게 호기심이란 정말 중요한 요소라고 생각한다. AWS 트랙의 수상작인 SleepMode 팀의 프로덕트인 Social Distance의 의존성 패키지가 생각했던 것보다 심플해서 흥미로웠다. 한번 까보기 위해 내 저장소로 포크해 둔 상태 🍽 주말에 좋은 시간을 보낼 수 있기를 기대해본다 😊

앞으로 주변 사람들이 내게 해커톤에 대해서 묻는다고 하면 나는 아마 좋은 점들을 열심히 부각시켜서 전도할 거 같다. 내게 좋은 경험을 선물해 준 JunctionX Seoul 2021의 크루 멤버들 @junctionxseoul, Allnighter 팀원들, 함께한 모든 참가자들에게 정말 감사하다는 인사를 전하고 싶다 🙇‍♂️

--

--