JunctionX SEOUL 2021 참가 후기

8 minute read

다소 뒤늦게 적는 JunctionX SEOUL 2021 후기인데 나름 새로운 회사에 합류해서 적응하기도 하고 또 여러가지 일이 있어서 적어야지 하다가 이제서야 적는다. 사실 잊고 있다가 적게된 계기는 JunctionX SEOUL 2021 쪽에서 보낸 선물이 도착해서 이기도 하다.

잊고 있었는데 나름 좋은 추억인 만큼 블로그에서 남겨야 겠다는 생각이 들어서 끄적이게 되었다.

Before Start

JunctionX SEOUL 작년 대회 때 들어보긴 했지만 일단 처음으로 JunctionX SEOUL 2021 소식을 알게된 건 사이드 프로젝트 모임인 DDD에서 JunctionX SEOUL 2021 해커톤에 관심있는 분들 참가하라는 글을 지난 대회에 참가하신 분이 올려주셔서 알게되었다. 이틀이라는 시간동안 참가하는데 온라인이라는 사실이 다소 걸려서 ( 오프라인이 꿀잼 ) 작년에도 듣기만 하고 내년에 오프라인하면 해야지 했는데 올해도… 온라인이라는 사실에 고민이 되었다. ( 신청한다고 뽑히는 것도 아닌데 설레발 ) 결국 당시 이직을 위해 지원한 회사 면접일도 수정하면서 참가 신청을 했다.

참가자가 500명이나 되서 그런지 무난하게 참가자로 뽑혔다. 나름 국제적인 대회라서 그런지 여러가지로 간지(?)가 나는 모양새로 해커톤이 진행되었다. 팀을 만들어서 참가하고 싶었지만 주변에 물어봐도 쉽게 팀을 만들기 어려웠고 새로운 좋은 사람들과 네트워킹을 하는 기회가 될 수도 있을꺼라는 생각에 개인으로 참가신청을 했다. 이왕 참가한 김에 참가의 의의를 두기보다 좋은 결과를 만들고 싶어서 좋은 팀에 합류하고 싶은 설렘에 미리 미리 슬랙에도 들어가고 가이드도 읽고 준비를 했다. 오프라인과 다르게 온라인 어떻게 팀 빌딩이 이뤄지는 지 궁금했는데 주최측에서 슬랙 채널 ( team-building-and-self-introduction )을 열어주었고 여기서 자신을 어필하고 팀을 만들라고 알려줬다.

그 결과 인력시장(?)의 한 가운데에서 나를 어필해야 하는 상황에 직면하였다. 일단 고민이 된 건 내가 주도해서 팀을 만들지 아니면 이미 잘 만들어진 팀에 들어갈 지 여부였는데 오프라인이 아니다 보니 온라인으로 많은 이야기를 나눌 수 없었고 어떤 팀이 좋은 팀인지 판단하기가 어려웠다. 그냥 내가 좋은 분들이 보이면 팀을 하자고 말하는 게 더 좋은 팀을 만들 수 있지 않을까 싶었다. 더욱이 팀 빌딩에 올라온 개인으로 참가하신 분들의 자기소개 면면이 너무나 대단하신 분들로 가득해서 잘만 모이면 좋은 팀을 만들 수 있을 것 같았다.

먼저 나를 소개하는 글을 작성하면서 좋은 팀원이 될 것 같은 분들에게 DM으로 설득을 했다. 아쉽게 다른 팀에서 선점당하는 일도 있었지만 다행히도 흔쾌이 팀원이 되어주겠다는 분들이 많이 계셨다. 또한 소개글의 효과가 있어서 개인 DM으로 같은 팀이 되고 싶다는 분들도 상당수 계셨다. 그 중 정말 안계셨다면 많이 힘들었을 것 같은 솔찬님이 iOS 팀원이 되어주시기도 했다. 한 팀당 인원 제한은 6명이었고 팀 구성에 관해서는 처음 모인 팀원 ( 발표자, 백엔드 그리고 나 ) 들과 이야기 해서 발표자, 디자이너, 백엔드2, iOS2로 하기로 정했다. 하지만 다른 팀원들을 모으는 과정에서 너무 좋은 웹 프론트 개발자 분이 계셔서 고민 끝에 웹뷰로 활용할 수 있을 것 같아서 웹프론트 한 분도 팀원으로 모셨다. ( 사실 웹 프론트 분은 풀스택이셔서 아무 문제가 없었다고 한다.. ) 이로 인하여 백엔드나 iOS 둘 중 하나는 일당백을 해야하는 상황이었는데 서로 양보하다가 좋은 팀원이 먼저 모이는 쪽으로 정하기로 했다. 결국 좋은 iOS분이 먼저 연락을 주셔서 능력자이신 백엔드분(병학님)이 혼자 해주셨다. ( 계속 괜찮으니 iOS 한 분이 더 오는게 맞다고 해주셔서 감사했다. 다행하게도 웹프론트(현지님)이 풀스택이라 백엔드도 도와주셔서 나름 극복… ) 이렇게 나름의 어벤져스 에셈블이 완료되었다.

나름 팀 슬랙 채널명도 avengers_assemble 이었는데 어벤져스 컨셉이 이어져서 팀명도 Assemble X로 정해졌다. 위와 같이 능력자 팀원 분이 로고도 만들어주셨다. Gam-Dong…

D-1

전날에는 작년도 후기들을 읽으면서 시간을 보냈다. 그리고 iOS 팀원이신 솔찬님께 전날에 같이 저녁도 먹고 미리 프로젝트 구조나 기술 스택에 대해서 이야기 할 수 있을지 여쭤봤는데 허락해주셔서 판교에서 저녁도 먹고 많은 이야기를 나눌 수 있었다. ( 기술 이야기 보다는 노가리가 많긴 했음.. ) 회사에 가도 된다고 하셔서 회사 구경도 하고 회사에서 남은 이야기를 진행하였다. 서로 사용하는 아키텍쳐나 기술 스택이 맞는 것이 많아서 걱정없이 이야기가 진행됬고 즐거운 시간을 ( 화상으로 백엔드 병학님도 참가 ) 보내고 다음 결전의 날을 위해 집으로 돌아와 휴식을 취했다.

D-Day One

너무나 푹 자고 일어난 해커톤 첫날.. 밤 샐 각오가 잘 되어있는 느낌이었다. 슬랙에서 다른 참가자와 이야기 나눌 기회가 몇번 있어서 이야기 하다보니 해커톤 구체적 시간 일정을 잘 안봐서 당연하게 첫 날 휴가를 써서 참가해야 할 것이라고 생각했는데 다들 첫날은 시작이 늦게 하다보니 거의 휴가 없이 참가하시거나 해커톤이 끝난 일요일 다음날인 월요일 휴가를 쓰시는 분이 많았다. 대학생 분들 중에는 시험 기간과 겹치는데도 과감하게(?) 참가하신 분들도 많았다.

첫 날 일정은 다음과 같았다. 온라인으로 진행되기에 주로 슬랙과 유튜브 실시간 라이브를 통해 진행이 되었다. 이번 JunctionX SEOUL 2021 후원사 ( 해커톤 주제와 밀접하게 연관되는.. )는 다음과 같았다.

작년에는 Microsoft, SI Analytics, Rakuten, Naver Z가 후원하였고 개인적으로 Naver Z 제페토의 주제가 해보고 싶은게 많았는데 올해는 뭔가 주제가 어려울 것 같은 느낌적인 느낌이 들어서 긴장감 속에 주제 발표를 들었다.

Track Announcement

  • Autocrypt

밥을 먹으면서 봐서 인지 집중을 잘못하고 들었다. 영어 발표라서 빡 집중하지 않으면 흘려듣게 되는… 아무튼 주요한 부분은 교통 약자를 위한 barrier-free 서비스에 대한 주제였고 Autocrypt의 기술력을 활용하는 측면에 대해서도 추가 설명이 있었다. sensor를 사용하는 등의 기술을 통해 얻을 수 있는 많은 데이터에 대한 이야기도 있었다. 아이디어는 많이 나올 것 같았는데 Autocrypt의 기술을 잘 녹여내는게 쉽지 않았다.

  • Microsoft

MS의 주제는 회사내에 여러 팀들 사이의 협업과 생산성을 증진시키기 위한 서비스를 만드는 것이었다. 듣자마자 이건 생각해봤던 아이디어도 많고 팀원을 설득해서 이쪽으로 결정하자고 하려고 했다. 실제로 Cross-functional 하게 회사에서 일하면서 협업과 관련 불편하게 느낀 점이나 여러가지 녹여낼 수 있는 부분이 많다고 생각했기 때문이다. 하지만 계속 듣다보니 제한 사항이 많았다. 강제 사항까지는 모르겠지만 MS Azure, MS 365, Domain expert(?) 등등 사용하는 것을 소개하였다. 또한 MS Power 플랫폼을 활용하여 개발해야 하는 것으로 보였다.
MS 주제는 듣다가 포기해야 겠다는 생각이 들었는데 이유는 MS Power 플랫폼을 무조건 활용해야하는 것이 팀원들 모두 생소해서 반대 의견이 강했다. 우리 팀이 개발하고자 하는 것이 iOS앱인데 어떻게 녹여내야 할 지 고민이 컸고 일단 Power 플랫폼이 어떤 기능을 제공하고 어떻게 이용하는 것인지 파악하는데만 이 짧은 해커톤의 대부분을 사용할 것 같아서 좋은 아이디어가 나와도 낭비되는 시간이 클 것 같았다. ( Power 플랫폼의 일부인 Power App을 살펴보면 약간 JIRA 느낌이었다. )실제로 이후 진행 중간 중간 MS 주제를 선택한 팀들의 경우 슬랙 채널에서 Power app 사용법에 대해 여러가지 물어보거나 Power app citizen 계정? 에 대한 문의글이 많이 보였다.

  • SI Analytics

SI Analytics은 작년에도 참여했던 회사라서 주제 예측하기가 쉬웠고 좋은 API를 찾을 수 있거나 제공받는다면 개인적으로는 가장 끌리는 주제였다. OpenCV등의 이미지 처리에 관심이 많기도 하고 최근에 여러 넷플릭스 다큐멘터리를 보면서 지구 환경 문제에 관심이 많았기 때문에 나름 좋은 아이디어를 녹여낼 수 있을 것 같았기 때문이다. 일단 주제를 요약하면 Google earth 등을 활용하여 위성 사진이나 지리적 정보를 통해 시간에 변화에 따라 변화하는 특정 지역에 대한 서비스 였다. 넷플릭스에서 씨스파라시 라는 다큐를 감명깊게 봐서 해양 오염에 대한 서비스를 하고 싶어서 집중에서 발표를 들었는데 따로 제공하는 API를 주는 것은 아니었고,, Google Earth로 잘 찾아서 서비스를 만들라는 것이었고 처음에 해양 오염과 관련하여 팀원들과 이야기할 때는 희망적이었지만 Google earth로 구한 해양 사진은 의미있는 변화를 포착하기 어려웠다. 우리가 못찾아서 그런 것일 가능성도 있지만 뭔가 명확하게 방향성을 가질 수 있는 데이터를 얻기 어려웠고 팀원들도 mock 데이터로 진행하는 수준이 될 것 같아 반대해서 포기하였다. ( 나중에 수상한 팀들을 보니 api 없이 mock 데이터로 좋은 아이디어를 녹여낸 팀도 많아서 놀란… )

  • AWS Game Tech

AWS Game Tech의 주제는 사실 가장 간단했다. AWS 서비스를 이용하여 게임 서비스를 개발하는 것이었다. 어느정도 이것도 예상한 주제라서 애초에 다른 주제들이 너무 심오하면 SceneKit을 잘 활용해서 이 주제로 게임을 만드려고 했었다. AWS의 경우 Azure와 달리 익숙한 팀원도 많고 게임이라는 게 워낙 광범위하다보니 다양한 아이디어를 생각할 수 있기도 했다. 하지만 결론은 다른 주제로 하기로 했다. 팀 빌딩을 할 때 보였던 유니티 개발자나 Unreal 개발자가 가장 활약할 수 있는 영역이기도 했고 팀원들도 많은 관심을 보이기 않았기 때문이다.

주제 정하기

Track Announcement가 끝나고 팀원들과 구글 밋으로 모여서 열띤 논의를 하였다. 다양한 아이디어가 오고 갔고 어떤 주제가 가장 적합할 지를 놓고 많은 고민이 있었다. 위의 주제 설명에서 어느정도 예상했겠지만 우리팀이 정한 주제는 첫번째 주제인 Autocrypt의 주제로 정했다. 가장 많은 팀원들의 아이디어가 나온 주제이기도 했고 다른 주제들이 정하기 애매하게 만드는 요소들이 산재하기도 했다. (가장 상금이 크기도) 무엇보다도 짧은 시간동안 개발까지 이어지기 위해서는 주제 선정에서 너무 많은 시간을 소모할 수 없었다. 일단 주제를 정하고 나서 나름 좋은 주제를 위해 교통 약자Barrier에 대한 자료들을 많이 찾아봤다. 덕분에 우리가 흔하게 생각하는 장애를 가지신 분들만 교통 약자가 되거나 Barrier를 겪는 것이 아니라는 것도 알게 되었다. 특별한 상황에 놓여서 교통 약자가 될 수도 있고 단순하게 심리적인 요인으로 Barrier가 생길 수 있다. 많은 이야기와 아이디어에서 나온 문제점에 해결책에 대한 가장 확실한 부분은 동행이었다. 단순할 수도 있지만 동행은 결국 좋은 파트너의 도움이라고 한다면 교통 약자Barrier에 대한 최고의 해결책이었다. 동행의 플랫폼 위에 Autocrypt의 기술력도 잘 녹여낼 수 있을 것 같다는 팀원들과의 논의로 어떠한 방향이든 동행에 대한 플랫폼 서비스로 아이디어를 정했다.

Gilbert?

다음은 서비스 이름, 정확하게는 어플 이름과 서비스 구체화 작업이었다. 영어로 발표해야 하기 때문에 이름도 글로벌하게 정하는 쪽이 좋다고 느꼈고 많은 영어 단어 조합을 생각해야 했다. 하지만 대부분 좋지 않거나 이미 존재하는 이름이었다. 그러다가 동행에 대한 나무위키(갓무위키) 탐색을 했고 거기서 한국어 ‘길벗’ 이라는 단어를 우연하게 보게되서 팀원들과 유머로 공유했는데 다들 생각보다 좋게 받아들였다. 일단 Gilbert 라는 영어 이름이 존재하기도 하고 한국어뜻도 좋은 의미라서 다들 동의하에 Gilbert로 이름이 정해졌다.

이제 서비스 구체화와 서비스 구현만 남았다는 생각에 다들 Figma에 모여서 서비스에 실제적인 모습에 대해 고민하였다. 먼저 교통의 Barrier를 겪고 있다면 누구든지 이 서비스를 통해 동행의 서비스를 제공해주는 ‘Gilbert’를 연결해주고자 했고 그렇게 하기위한 화면과 구체적인 기능들을 이야기 했다. Autocrypt가 제시한 평가 기준에도 만족하기 위해 노력했다. 공익적인 목적이라서 고민이 많았지만 평가 기준을 위해 수익모델도 넣고 (물론 나중에는 설득력을 위해 기업 후원도 추가함,,) 기술력을 활용하는 부분은 ‘Gilbert’에게 Autocrypt가 동행 서비스를 좀 더 편하게 할 수 있는 기능을 제공하는 쪽으로 결정했다.

이렇게 기능 상세에 대해서 나름 정리를 하고 조금의 휴식을 한 후 역할 분담을 통해 프로젝트를 시작하였다. 디자인멤버와 백앤드멤버는 명세에 따라 작업을 시작하고 iOS멤버도 기본 프로젝트를 세팅하고 프로젝트에서 사용하게될 기술 스택을 찾아보는 시간을 가졌다. 클라이언트에서는 주로 지도 sdk 활용에 대해서 많이 찾아보았다.

D-Day Two

다음 날 아침이 밝았다. 그래도 나는 디자인과 API가 나오기 전이라 휴식을 위해 조금 잠을 청했는데 다른 분들은 거의 밤새고 작업을 해주신 것 같았다. 해커톤 이틀이면 체력 분배가 중요할 듯 싶어 마지막 날에 좀 더 불태우기 위한 2보 전진을 위한 1보 휴식,,,으로 일단 틈틈이 피곤함 조절을 위해 잠과 휴식을 가졌다. 오전이 끝나가고 나서는 거의 디자인과 API 작업이 하나씩 나와서 앱 개발 작업도 진행할 수 있었다. 그 이후에는 같이 iOS 개발을 맡아주신 갓솔찬님과 함께 개발에 전념하였다. (빡코딩..) 정신없이 개발하다가 저녁에 잠시 발표를 맡아주신 유진님과 모든 팀원들이 더 좋은 아이디어를 위해 보강해야 할 부분에 대한 논의를 가졌다. 이 이후에는 또 그냥 계속 코딩… 그렇게 새벽이 되어서도 코딩…

Last Day

마지막 날에도 조금 잠을 자긴 했지만 거의 밤을 새서 둘째날과 경계가 애매한 마지막 날이다. 그렇게 모든 팀원들이 최선을 다해서 막바지 작업을 한 끝에 프로토 타입에 해당하는 서비스가 나왔다! 나는 3시에 최종이라고 알고 있었는데 저녁까지로 알고 있는 팀원들도 있어서 웹프론트도 만들 수 있다는 등의 희망고문이 있었지만 결국 3시까지였고 거의 버저비터로 구현 앱의 영상 촬영까지 완료해서 발표와 함께 제출할 수 있었다.

디자인 프로토타입

실제 iOS앱 구현

소감

온라인으로 진행되는 해커톤은 처음으로 참여하는데 약간 오프라인이 아닌 점이 아쉽기도 했기만 너무나 좋은 팀원들과 좋은 경험할 수 있어서 좋았다. Let’Swift와 같은 iOS쪽 컨퍼런스를 비롯 많은 개발 컨퍼런스가 코로나 영향으로 축소되거나 온라인으로 진행되서 아쉬운 마음이 있는데 그래도 온라인 참여라도 해서 아쉬움을 달래는 게 좋은 것 같다. 팀원 모두 노력한만큼 작게라도 수상하고 싶은 마음도 있긴 했지만 500명이나 되는 참가자들 중 수상한 팀원들이 워낙 휼륭한 결과물을 제출해서 즐기면서 박수쳐줄 수 있는 시상이었다. 다시 한번 같이 팀으로 참여해서 고생한 Assemble X 팀원분들 모두 감사하다는 말을 전하고 싶다. 내년에도 기회가 되면 참가하고 싶다! 내년에는 오프라인으로 참가할 수 있기를!

Github Link for Gilbert
https://github.com/junctionx-avengersX