지난 14일, SPARCS 해커톤을 참여하고자 대전을 방문하게 되었다.
자소서에 열정 X 100
만을 강조했는데, 다행히도 합격할 수 있었다.
본격적인 설렘은 이때부터 시작됐던 것 같다.
저 많은 참가자들 명찰 사이에 보이는 나만의 작고 귀여운 명찰..
하지만 시작은 생각보다 순탄하지 않았다.
20시간이 넘게 이어진 줌 회의에, 해커톤 전날 새벽 4시까지 밤잠을 지새웠다.
불과 4시간 뒤에 일어나서, 2박 3일을 밤을 새야하는데..
주제 선정의 중요성을 다시 한 번 깨달았다..
모두가 만족할 수 있는 주제를 찾아 떠나는데 생각보다 오랜 시간이 걸렸다.
우리를 맞이한 넓은 강당. 이곳에서 2박 3일을 보냈다.
모든 팀이 한 곳에 모인 만큼 조금 더 설렜었다.
드디어 모인 우리 팀!
서울대, KAIST, 동국대, 그리고 나까지 각 대학별 구성원 4명이 한 조로 이루어졌다.
Zoom으로 워낙 오래 소통한 탓에, 사실 벌써부터 다들 친해져 있었다.
특히 경민님이랑 시작부터 투닥이면서 놀았던 기억이 있다 ㅋ
대망의 해커톤 개시 6시간이 지났지만, 우리는 여전히 주제를 정하지 못했었다.
(Zoom 20시간 + 대면 6시간) 총 26시간을 주제에...
이제는 정해야한다며, 모두 주제 선정에 지쳐가고 개발에 불안해질때 쯤, 우리는 <육아>, 결혼, 이혼이라는 사회적 문제에 집중하게 되었고, 육아 감정 솔루션 [Here] 를 제시하게 된다.
그렇게 우리는 주제만 잡은 상태로, 주최측이 예약한 호텔로 자리를 옮겼다.
개인적으로 또 가고싶다..롯데호텔!
스팍스 기획팀장님 말씀에 따르면 예산의 60%가 호텔 비용이라고..
덕분에 편한 환경에서 열심히 개발에 열중할 수 있었다!
나는 이번 해커톤에 들어가면서 팀원들에게 약속했었다.
이번 해커톤, 입상은 못하더라도, 즐거운 기억으로 남게 해주겠다고
당신들만을 위한 광대가 되겠노라 선언하고 왔었다.
첫날 밤, 체크인을 하고 성심당 쇼핑을 마치고 줌 회의로 소통을 이어갔는데,
다들 뭐가 그렇게 즐거운지 웃음꽃이 멈추지 않았다.
내가 말 한마디 하면 다들 함박웃음을 터뜨려주었는데,
개인적으로 가장 기억에 남는 순간 중 하나다.
내가 서버로 참여하면서 구축해야 할 인프라와 기능은 이정도였다.
사실 외부 API를 연결하는 기능이 많을 뿐, 백엔드가 비즈니스 로직에서 큰 역할을 차지하지 않는다.
(오히려 이를 긁어다 활용하는 안드로이드가 지옥일 뿐...)
이때 까진 몰랐다.. 우리에게 다가올 미래가 어떤 미래일지..
치킨 먹고싶다고 편의점에서 짠메랑도 찍고, 성심당 빵도 먹었다 ㅎㅅㅎ
그리고 첫 날 밤은, 한 숨도 자지 못한 채 빡개발을 하며 보냈다.
여기서 슬슬 문제가 발생한다.
안드로이드의 진척율이 거의 0%에 수렴했다.
이유를 물어보니, Binary 파일 전송이 문제라고 했다.
네이버 클로바 API를 Postman을 활용해 API DOCS로 제공했는데,
AOS 담당 준우님이 이 부분을 8시간 넘게 해결을 못하고 계셨다.
그래서..나는 Clova STT 모듈을 과감하게 버리고,
퓨어한 자바를 기반으로 google STT 모델을 활용해 서버가 직접
STT Request를 처리할 수 있도록 슈팅해보기로 했다.
다시는 마주하고 싶지 않을 저주받은 인증 방법.
고유 key json파일의 상대경로로 가르키면서 인증을 수행해야 하는데,
EC2로 띄운 ubuntu 위에 docker를 얹어 서버를 띄우는 현 상황에서
docker 환경변수가 해당 토큰을 제대로 인식하지 못했다(무려 4시간동안)
결국, 도커 환경을 모두 내리고, 우분투 로컬 환경에서 직접 빌드하고 환경변수를 등록하니 겨우 해결했다.
(Docker...공부좀 더 해둘걸...)
자 이제 됐죠!?
Binary 아니고 가장 익숙하실 Multipart/form 형식으로 바꿔드렸어요!
빨리 테스트 해보세요!!
하지만..우리의 안드로이드 클라이언트 준우님은
이번 해커톤이 처음이셨고, AOS 기반 웹 개발이 처음이셨다.
GET, POST와 같은 Http Method를 알지 못하셨고,
서버에서 내린 에러 응답을 디버그로 찍거나,
유저에게 반환하는 방법을 알지 못하셨다.
마지막 날 새벽 4시!! 긴급 회의!!
롯데시티호텔 517호에 소집된 파티빵빵 팀원들
주제는 개발 가능 여부에 대한 토론이었다.
우리는 현재 안드로이드 스택으로 추가 개발이 어렵다고 판단했다.
그래서, PR과 PT에 목숨을 걸기로 했고, 밤새 피피티를 만들었다.
리드미도 최대한 예쁘게 꾸몄다.
서버는 사실 100% 개발이 완료했지만, 연동할 클라이언트가 없으니...
최대한 열심히 열심히 리드미를 꾸몄다.
이것저것 기술도 많이 쓰고..심지어 Lambda를 활용한 프로젝트는 처음이었는데,
이를 구현해줄 클라이언트가 없는 진정한 Backend의 외로움을 느낄 수 있었달까..
그래서 우리 팀 분위기는 어땠을까요?
초상집 분위기에서 싸우면서 끝났을까요?
우리 완전 화목하게 발표까지 마무리 하고 왔어요!
발표 수준도 완전 높았고 너무 만족스러운 프로젝트였어요.
서버를 구현해줄 클라이언트는 없었지만,
이번 해커톤을 통해, 하나의 목표를 향해 달려가는 동료들과 함께여서
너무 행복했거든요. (누구보다 햅의 미친 텐션을 잘 받아주었던...)
구현이 다 안되었다보니 시연을 피그마로 대체했지만,
그래도 이번 해커톤에서 최선을 다해서 구현했어요 :)
사실 해커톤을 하면서, 잘 됐던 경험은 많았지만,
이번처럼 중간에 이슈가 많았던 적은 없었던 것 같아요.
안드로이드의 이슈, 주제 선정 이슈, Streamit 이슈 등
중간중간 무수히 많은 이슈들이 각 참가자들한테 스트레스로 다가왔을거에요.
그럼에도 불구하고, 우리 팀은 현실적으로 구현율 0%의 기적을 만들었지만
끝까지 웃으면서, 행복하게 사진도 찍고,
대전에 예쁜 추억 한 조각씩 만들어서 내려놓고 왔답니다.
실패도 하나의 경험이라고 하나요?
이번 경험은 실패했기 때문에 더욱 값졌던 경험인 것 같습니다.
준우, 여경, 경민 님과 함께한 소중한 2박 3일
많이 부족했던 저와 함께해줘서 고마웠어요 :)
그래도 광대가 되겠다는 약속은 잘 지켰답니다.
해커톤 끝나고 들었던 말 중 가장 행복했던 말은,
'해빈님은 개발자가 아니라 개그맨을 했어야 한다'라는 한 마디였어요.
웃음꽃 가득한 파티빵빵..다음에 서울에서 만나요..!