저희 학교는 2021년에 신규 선정되어, 2022년부터 공동 해커톤 참여 자격이 생겼습니다. 그래서 참여를 원했지만 21년도에는 참가 자격이 없었고, 22년도에는 휴학생도 참여할 수 있는지 명시되어 있지 않아 다음을 기약할 수 밖에 없었습니다. 그런데 23년도 공지를 보니, 휴학생도 참여 가능한 것으로 명시되어 있어 드디어 참여 기회가 생겼습니다.

해커톤 준비 단계

대학 내 선발전: 교내 해커톤이라는 이름의 시험

대학 내 소프트웨어 계열 학과의 입학 인원이 275명이니까, 개발자 4명 정도는 금방 채울 것이란 예상은 당연했습니다. 그런데 아무래도 평소 저조했던 다른 행사들의 참여율 때문인지, 아니면 휴학생이 정말 참가할 줄은 몰랐던 것인지 교내 해커톤이라는 이름의 선발전이 급하게 잡혔습니다. 때문에 급히 시험을 보게 된 관계로 군대에 있던 동기와 몇몇 학생들은 선발전에 나올 수 없게 되었습니다.

이 선발전에는 그래도 10~15명 정도의 사람들이 나와서 치뤘고, 최종적으로 공동 3위의 성적으로 선발되어 학교 대표로 출전하게 되었습니다. 해커톤이라는 이름에 걸맞게 기본적인 문제 하나와 아이디어 하나 이렇게 두 문제의 제출을 요구하였고 약 2시간 정도의 시험 끝에 저녁식사를 겸하기 위해 한솥 치킨마요와 음료를 증정받았습니다. 매 해커톤 후기마다 음식 얘기만 하는 것 같다면 기분 탓입니다 사전에 안내받은 내용이 없어서 저녁을 먹고 임했던 지라 다소 당황스럽기는 했지만, 감사히 먹고 집으로 돌아왔습니다. 아무래도 휴학생 신분이다보니 왕복 6시간이 부담스러웠지만, 어차피 해커톤은 천안에서 열려서 왕복 6시간해야 하는 건 똑같은 걸요.

대회 전, 미리 준비하기

셔틀버스 수요를 위한 사전 조사, 사전 아이디어 제출, 자기소개 이렇게 3가지를 먼저 마무리해야 했습니다. 셔틀버스야 정해진 KTX편이 이미 있어서 순조롭게 작성하였으나, 사전 아이디어 제출 여부를 상당히 고민하다가 결국 제출하지 않는 것으로 마무리지었습니다. 이유는 지금 들고 있는 아이디어가 상업적으로 부족한 부분이 많았고, 이를 보완하기 위해서는 IoT 기반 개발이 동반되어야 해 해커톤에서 선보일 수 없었기 때문입니다.

자기소개에 있어서는 처음에는 예시처럼 간단하게 Slack에 줄글로 남기고자 하였으나, 결국 순차적으로 올라오는 포트폴리오를 보며 개인 웹사이트 개발을 빠르게 마무리짓고 이를 선보이는 것이 좀 더 나은 인상을 줄 수 있겠다는 생각에 일단 미루고 개인 웹사이트 개발을 우선시했습니다. 이 과정에서 준비 중이던 다른 활동에 지장이 가기도 하여서, 지금 와서 돌이켜보면 이때 적절한 선택과 집중이 이뤄지지 못했다는 생각이 듭니다.

더보기
 

SW중심대학 공동 해커톤 2023 | 포트폴리오 | 종이상자 공간

개인 프로젝트 등 포트폴리오를 소개합니다

paperbox.pe.kr

당시 급히 제작했던 포트폴리오 사이트는 위와 같아서, 단순히 문서를 추가하기만 하는 것이 아니라 향후에도 사용할 수 있도록 신규 UI를 작성하고 몇몇 라이브러리를 도입하는 등 대공사에 가까운 작업이었습니다. 그래도 이렇게 작업한 덕분에 SvelteKit에 대한 이해가 한층 높아져서 해커톤에는 도움이 되었습니다. 관련한 내용은 나중에 개인 웹사이트 개편 후기에 작성할 예정입니다.

1일차: 너무 졸린데 이대로 해커톤을 시작하나요?

10시부터 등록이었지만, 가장 적합한 KTX 열차는 7시 45분에 출발하기 때문에 기상을 늦어도 6시에는 해야 씻고 준비하여 나갈 수 있었습니다. 이마저도 비몽사몽 상태로 나가보니 약간 시간이 부족했는데요, 다행히 지하철을 놓치지 않아서 겨우 시간에 맞춰 탈 수 있었습니다. 그러다보니 졸린 것은 당연, 그렇다고 졸았다간 그대로 대전까지 타고 갈까봐 그러지도 못하고 겨우 내려서 어제 산 빵과 함께 편의점에서 음료을 사 마시고 셔틀버스에 탔습니다. 셔틀버스는 3번 정류장에 위치할 예정이라고 안내 받았는데, 실제로는 1번 정류장에 있어서 마침 기다리던 다른 사람들과 다같이 헤맸던 점은 아쉬운 부분이었습니다.

입구에 들어서자마자 커다랗고 권위적인 JEI 로고와 만나 다소 웃겼다.

어찌어찌 도착하고 나서 앉은 옆자리는 우연히 같은 학교, 같은 학과 학생이었습니다. 심지어 나중에 알았지만 기숙사 룸메이트이기도 해서, 다행히 다니는 동안 편안하게 지낼 수 있었습니다. 다만 이와 별개로 아무래도 너무 빡빡하게 짜여진 일정으로 인해 자꾸 미뤄지는 과정이 불안에 불안을 낳았습니다. 여기서 해커톤을 하는 것은 아니라고 했지만 벌써부터 대강당의 인터넷은 느리고, 개회사에서도 일정 문제로 협의회장님께서 온라인으로 참석하시는 등 오랜만에 오프라인으로 개최된 점이 여러 혼란을 낳는 듯 했습니다.

공동해커톤 개회식과 강연, 아이디어를 설명했던 대강당. 늦게 올 수 밖에 없는 지역의 학생까지 배려하기에는 너무 많은 일정이 있었던 빡빡한 일정표는 지켜지지 못했다.

점심을 먹고 아이디어 발표를 듣고 있으니 원하는 프로젝트는 참 많았는데, 정작 프론트엔드를 원활하게 구하기 위해서인지 React를 요구하는 프로젝트가 많아 Svetle를 주력으로 쓰는 제겐 예상대로 쉽지 않았습니다. 게다가 규정 상 불가하였지만 아무래도 제지할 인원도 없고 하다보니 아이디어를 보드에 붙이기 전 팀원이 결성되는 사례도 많아 팀 빌딩 과정이 다소 험난한 측면이 있었습니다.

그래도 운 좋게 이번 프로젝트를 함께 해주신 24팀 팀장님께서 괜찮다고 말씀해주셨고, 그리고 먼저 오셔서 대기하고 계시던 백엔드 개발자 분께서 Svelte를 사용해보신 적이 있으셔서 설득을 도와주신 덕분에 낙오되지 않고 시간 내에 팀을 확정할 수 있었습니다. 본래 팀 구성은 5명으로 제한되어 있지만, 여러 상황 상의 문제로 일부 팀의 6명 구성이 가능해지면서 최종적으로는 데이터 분석 2명, 백엔드 2명, 프론트엔드 1명, 디자이너 1명 조합으로 결성했습니다. 나중에 주최 측에서 요청한 역할 분배는 자료 조사, 소통 등 조금 예상과 다른 역할들이어서 특히 후반부에는 소통을 맡아주신 백엔드 개발자 중 한 분께서 꽤 고생하셨습니다.

해커톤 본 장소인 체육관. 목소리가 잘 울리는 구조여서 조금 아쉬웠다. 춥기도 했는데, 다행히 공동 해커톤 측에서 담요를 하나씩 제공해서 큰 문제는 없었다.

팀이 확정된 후, 바로 기획 및 디자인, 개발을 진행하고자 했지만 다수의 접속자로 인해 WiFi, LTE, 5G 할 것 없이 모두 느려지는 바람에 제대로 시작할 수 없었습니다. JUNCTION ASIA 2022 때도 비슷한 일을 겪었기 때문에 새삼스럽지는 않았으나, 그때는 핫스팟을 이용해서 완화할 수 있었고 많은 사람들이 이용할 때도 문제가 없을 정도로 나중에는 개선되었는데 이번에는 그렇지 못했습니다. 아무래도 JUNCTION ASIA 2022가 열렸던 대형 전시장인 BEXCO는 지하 2층에 위치한 연수원 체육관과 달리 여러 사람이 한꺼번에 인터넷을 이용할 것을 미리 염두에 두어서 통신망을 좀 더 촘촘하게 구축하기도 했을 것이고, 통신망이 더 잘 닿을 지상 지역이며, 유선 인터넷 회선 구성도 연수원보다는 사정이 나았을테니 어찌보면 당연하겠지만, 아무래도 해커톤이다보니 인터넷 연결이 중요하여 운영진을 포함한 모두가 분주하게 해결책과 대안을 찾기 위해 3일 내내 고군분투하였습니다. 사회자 분께서 본인의 업무가 아님에도 불구하고 많이 죄송해하시고 모두가 열심히 할 수 있도록 격려해주셔서 감사했습니다.

팀장님께서 털어오신(?) 몬스터. 그 밖에도 컵라면, 과자 등을 수시로 가져다 먹었다.

이때 일부 팀은 다른 장소로 이동하여 해결하였다고 하는데, 우리 팀도 더 빨리 그럴 수 있었으면 약간은 더 여유가 있지 않았을까 싶기도 합니다. 특히 프론트엔드를 맡았던 제가 개발을 마무리하는 데 시간이 걸려 3일차에 급히 마무리한 측면이 있어 더 아쉽게 느껴지는 것일지도 모르겠네요. 그래도 다행인 점은 지난 번에 참여했던 JUNCTION ASIA 2022와 달리 빠른 의사 결정으로 아이디어 구상에 너무 많은 시간을 쓰지 않아서 개발 환경만 안정되면 바로 개발에 들어갈 수 있었다는 점입니다. 그래서 중간 중간 쉬어가는 시간을 둘 수 있었고, 둥글게 모여 앉아 컵라면과 김밥을 같이 먹거나 수시로 간식을 가져오는 등 평안한 분위기가 지속되다가 오전 4시 즈음 3시간 정도 잠을 보충하고 오는 것으로 합의하였습니다.

서둘러 멘토링을 신청해야 해

첫 날 팀을 무사히 꾸린 후, 고민했던 점은 "멘토링 신청을 어떤 분께 드릴 것인가"였습니다. 팀 신청에 안도한 나머지 순식간에 많은 멘토분들의 멘토링 슬롯이 금방 차면서도, 인터넷 문제로 업데이트가 제때 되지 않아 고생했습니다. 그렇지만 AI가 들어가고, 기획 측면에서 경쟁력을 강화해야 하는 부분이 있다고 생각하여 최종적으로는 SK텔레콤 조현서 멘토님께 신청을 드렸고, 서비스를 이용할 사람들이 공통적으로 어떤 목적으로 서비스를 이용할지에 대해서 좀 더 고민해볼 수 있도록 조언을 주셔서 핵심 기능 이외에 들어가면 좋을만한 기능들이 확정되었습니다. 이후에도 멘토링을 신청하지 않았음에도 꾸준히 저희를 지켜봐주시고 응원도 해주셔서 감사하기도 하였고, 저희의 자신감도 많이 올라가는 계기가 되었습니다. 그렇게 김칫국을 대야 채로 마시게 되는데...

빠르게 돌아가는 일정 속 비교적 평안했던 강연 시간

강연은 오전 강연과 오후 강연 두 가지로, 오전 강연은 개발자 강연과 디자이너 강연으로 나뉘되 오후 강연은 오픈소스 특강 하나만 진행되었습니다. 그 중 오전 강연은 클라우드와 DevOps에 대한 내용으로 AWS 한국 지사에서 나오셔서 Amazon Web Services를 중심으로 강연을 해주셨고, 오후 강연은 삼성전자에서 오픈소스 관련 내용으로 강의해주셨습니다. 오전 강연을 통해 그동안 갈피를 잡지 못했던 DevOps라는 단어의 정의에 대해 알게 되었지만, 클라우드 분야에 많이 발을 담구지 않은 제게는 아직 조금 어려운 부분도 있었습니다. 그래도 다른 행사에서 접한 단어들과 결합해서 이해하니 개인적인 지식 습득에 도움이 되어 평시 공부의 중요성을 다시금 깨닫기도 했습니다.

두 번째 강연은 따뜻한 분위기 속 편안한 기여와 커뮤니티 문화보다는 자신에게 진로 계획상 이득이 되는 오픈소스 프로젝트를 쫒아보라(즉, 신중하게 기여할 프로젝트를 선택하라)는 조언이 담긴 내용이었습니다. 제가 감히 어떤 말씀을 드릴 수 있는 위치에 있는 것은 아니지만, 담고자 하신 메시지는 저 또한 동의하지만 오픈소스 커뮤니티의 살벌한 측면을 너무 강조한 것이 아닌가 하는 생각이 들었습니다. 적어도 제가 만났던 한국 내 오픈소스 프로젝트 기여자 분들은 프로젝트 규모의 정도를 불문하고 따뜻하고, 도와주시려고 노력하시는 면모들을 많이 뵈었기 때문에, 이 강연으로 본래 오픈소스에 기여하시던 분들은 방향성을 정리하겠지만 그렇지 않은 친구들은 겁을 먹을 수도 있겠다는 감상이었습니다. 다만, 삼성전자에서 오픈소스 기여를 통해 자신의 뛰어난 실력을 발휘하는 분들을 얼마나 모시고 싶어하는지, 지원하고자 하는지에 대해서는 단순히 인터넷에서 찾아보아서 알고 있던 때보다 와닿게 알 수 있었습니다.

전반적으로 일정이 바쁘게 돌아가기 때문인지, 강연 시간은 편안한 시간이었습니다. 어차피 대강당의 인터넷 사정 상 원활하게 무언가 다른 일을 하기도 쉽지 않고, 새벽부터 바쁘게 달려온 모두에게 있어 그나마 쉴 수 있는 시간이었기 때문입니다. 어쩌면 그래서 조금 더 강한 임팩트를 주기 위해 두 번째 강연자이신 분께서 강렬한 문구와 예시를 통해 말씀을 주셨을지도 모르겠네요. 그리고 이때 사용하셨던 어두운 톤의 발표 자료는 나중에 우리 팀 발표 자료의 복선이 됩니다.

2일차: 비도 오고, 커피차도 오고

이튿날은 아침을 거르고 시작했습니다. 인터넷 문제는 장소를 옮기는 것으로 해결을 보고, 어느정도 갈피가 잡혔기 때문에 이제는 제대로 개발에 들어가야 했기 때문입니다. 그래도 우리 팀은 기획이 엎어지거나, 사소하게라도 싸우는 등의 고비가 없었기 때문에 비교적 원활하게 진행되었습니다. 수시로 인터넷 문제로 지하 2층에서 1층으로 왔다갔다 했지만, 결국에는 2층에서도 할 수 있다는 사실을 알고 자리를 옮겨 2층에서 쾌적하게 할 수 있었습니다. 특히 이때 대용량의 데이터를 받아 분석해야 했던 팀장님 및 데이터 분석 팀원 분께서 고생하셨는데, 드디어 해결되어 부족한 데이터 양이지만 일정량의 데이터 예측에 성공하셨을 때는 제 담당 일은 아니었어도 정말 기뻤습니다.

제가 담당한 프론트엔드 부문은 디자이너 분의 요청을 최대한 반영하고자 UI Kit을 사용하지 않고 직접 제작하신 디자인을 바탕으로 Figma의 자동 생성 CSS를 참조하되 대부분 직접 CSS를 작성하면서 작업을 진행하였는데 도전 정신을 불태우기에 좋은 경험이었습니다. 지금 와서 후회하는 부분이 있다면 몇몇 디자인은 공통적인 레이아웃을 필요로 해서 이 부분을 처음부터 공통으로 묶고 제작했다면 레이아웃이 약간의 변경에도 흔들리지 않을 수 있었을텐데 싶어 부족함을 많이 느끼는 시간이었습니다. 시간도 생각보다는 오래 걸리기도 했고요. 특히 다른 개발자들도 어려워한다는 중앙 정렬 문제로 저도 조금은 고생했습니다.

가장 큰 문제는 iOS에 탑재된 WebKit 엔진의 렌더링 차이로 iOS/iPadOS 계열(iPhone, iPad)에서만 원하는 레이아웃으로 입력 칸이 나오지 않는다는 점에 있었습니다. 결국 iOS가 아닌 Android 기기에서 녹화를 찍기로 합의하게 됩니다. 이 점은 나중에 제가 찾아서 해결해보고 싶은 부분이기도 합니다. 언젠가는 저도 한 명의 개발자가 될텐데, iOS에서 레이아웃이 틀어진답시고 지원 불가라고 써놓을 수는 없잖아요.

카카오맵 지도 구현 부분. 새로고침을 하지 않으면 지도가 제대로 로딩되지 않았고, 하단에 그라디언트 처리를 했어야 하는데 블러로 해버렸다.

지도가 포함된 부문에서는 linear-gradient로 그라디언트 처리를 할 수 있는 부분을 떠올리지 못해 블러로 처리해버린 점, 그리고 카카오맵 SDK 로드 시에 새로고침을 해야만 제대로 로드되는 문제를 해결하지 못한 점이 아쉽게 다가옵니다. 나중에 찾아보니 그라디언트 처리에 대해서는 이미 Figma에서 자동으로 제공하고 있었고, 카카오맵 SDK 관련해서는 정확히 해보지 않아서 잘 모르겠지만 React에서 비슷한 사례가 있는 것으로 보아 다른 방식으로 구현하면 해결이 되었을 것 같은데 시간 부족으로 시도해보지 못한 점도 아쉽고요.

발표자료에 포함되지 않았지만 그래도 자랑하고 싶었던 부분이 있다면 이렇게 바쁜 시간 속에서도 SvelteKit에서 빠르게 PWA 기능을 제작할 수 있도록 제공해주어서 이를 구현해 마치 앱처럼 설치하고 사용할 수 있도록 기능을 제공했다는 점입니다. 전에 제작한 예스피씨 프로젝트에서 사용했던 이력이 빛을 발하는 순간이었습니다. 덕분에 프론트엔드 코드는 엉망이었지만 별도의 상태표시줄 색 등 웹 앱의 모양새는 그럭저럭 갖추었습니다. Chrome에서 요구하는 상태표시줄 색상 지정 기능도 적용했으면 더 좋았겠지만 이건 최소 기능 제품이니까요. [각주:1]

한편 유난히 맛있었던 이틀째 점심 후에는 커피 차가 찾아와 음료를 한 잔씩 무료로 받을 수 있었는데, 덕분에 아이스티를 한 잔 받아 마시면서 개발할 수 있었습니다. 이때는 이미 팀 전체를 2층 강의실로 옮긴 뒤라서 지하 2층의 다과를 가져오기에는 조금 까다로운 측면이 있었는데 커피 차는 1층에서 음료를 나누어주셨기 때문에 한결 이동하기 편했습니다.

졸업 전에 이미 전문가. 디자이너님

새로 출시된 상용 제품인 줄 알았다

- 부모님, 대회가 끝난 다음 날 프로젝트 결과물을 보시며

우리 팀 프로젝트 "YELLOW CALENDAR"의 디자인과 구현 결과. 캡처 자체는 행사 다음날 집에서 찍어서 위치 정보에 따라 고양시로 나오고 가능 일정 예측도 천안시만 제공했던 탓에 지원되지 않는다. 5등급 아래 슬라이더와 반투명 원을 SVG 파일이 아닌 CSS로 만든 점도 나름대로 자랑 아닌 자랑이지만, 이런 것을 구현할 시간에 오류를 바로잡았다면 더 좋았을 것이라는 후회가 남는다.

도전 정신을 불태울 만큼 뛰어나게 제품을 만들어주셨던 디자이너 분께서는 제품 디자인을 어느 선에서 정리한 후엔 발표 자료도 기업에서 만든 프레젠테이션처럼 잘 만들어주셨습니다. 그래도 혹시 몰라 사회자 분께서 마지막 날로 넘어가는 새벽에 발표 자료 멘토링을 해주신다고 하셔서 다같이 찾아가 조언을 부탁드렸습니다. 팀원 전원이 의리를 지킨다고 개발도 바쁠텐데 내려와서, 그것도 두 번씩이나 멘토링을 요청하는 팀은 처음이라며 흥미로워하시는 한편, 발표 자료가 모범적으로 잘 만들어졌다며 다른 팀에게 견학을 할 수 있게 해줄 수 없느냐는 말씀을 주실 정도였습니다.

그러다보니 우리의 기대는 더욱 더 높아졌고, 텐션도 올라갔습니다. 이대로라면 대상을 거머쥘 수 있을 것 같았습니다. 마침 백엔드도 개발이 마무리되가던 시점이었고, 제가 제작하던 프론트엔드도 부족한 부분이 있지만 어찌 일부 기능은 보여줄 수 있을 정도까지 정리된 상태였습니다. 아주 신이 나서 카메라 앞에서 작은 공연도 선보이고(?) 재밌게 놀았습니다. 누가 보면 저 팀은 완성에 실패해서 이왕 이렇게 된 거 후회없이 놀기로 마음 먹었구나 했을지도 모르겠습니다. 물론 아니지만요. 저희도 최선을 다했고 막날만큼은 잠깐 씻는 시간을 제외하고 끝까지 달려갔습니다.

3일차: 막판 스퍼트! 그러나 아쉬웠던 결과

마지막날은 각 부분을 연결하는 작업으로 분주했습니다. 백엔드와 데이터 연결 과정은 새벽에, 백엔드와 프론트엔드 연결 과정은 오전 중에 이루어졌는데, 제가 개발이 많이 늦어져서 죄송스러웠습니다. 주요 기능 중 하나인 예측 기능은 캘린더를 구현할 수 없어 외부에서 pre-alpha 단계의 라이브러리를 가져온 결과 좀 아쉬운 부분이 있었던 점도 그렇고요. 다행히 CORS 문제나 Spring 서버의 문자열 처리 문제 등 한 번 적용하면 다른 곳에서는 큰 문제가 없는 부분 위주로 문제가 나타나 시간 내에 연결을 마무리할 수 있었습니다. 그 와중에 서버리스 서비스에서는 빌드가 되는데 제 컴퓨터에서는 빌드를 성공하지 못해 손수 수동 빌드 및 배포를 해주신 백엔드 개발자 분 덕분에 통일된 URL 아래서 서비스를 제공할 수 있었던 것도 다행입니다.

그런데 마지막에 오픈소스 라이선스를 정리해 전달해드리는 과정에서 깜빡 잊고 카카오맵 SDK를 넣지 않았습니다. 마지막에 들어가서 그렇기도 하고, 이 SDK만 yarn으로 설치한 라이브러리가 아니라서 불안했습니다. 아마 결과적으로는 감점에 기여했을 것입니다. 이 부분에 있어서는 팀원 분들에게 죄송한 부분입니다.

발표는 팀장님께서 진행해주셨는데 사전에 합의한 시간에 맞춰 잘 발표해주셔서 다행이었습니다. 그런데, 주제가 환경, ESG 같은 트렌드와 조금 거리가 있되 사회 문제에 대한 대책을 제공하는 사안이다보니 심사위원 분들 마음에는 들지 않았던 것 같았습니다. 팀원 모두에게 있어 아쉬운 질문이 나왔고, 이때부터 약간 불안했습니다. 실제로 시상식 때도 우리의 이름이 불리는 일은 없었습니다.

대상까지 모두 호명되었을 때 그동안 들떴던 우리 팀의 분위기는 언제 그랬냐는듯 순식간에 가라앉았습니다. 모든 팀이 열심히 했고, 우리도 최선을 다해 달려왔다지만 그래도 전체 46팀 중에서 17개 팀에 들지 못한 점이 많이 분했습니다. 일정 지연으로 시간이 빡빡해져서 네트워킹 파티를 신청하지 않은 분들의 셔틀을 빨리 보내야 해, 마지막 인사도 제대로 하지 못한 점도 아쉬웠습니다.

기운이 쭉 빠진 채로 네트워킹 파티에 참석했지만 아쉽게도 멘토 분도 사정이 있으셔서 마지막까지 남아계실 수 없었고, 특별히 어떤 이벤트가 있는 것은 아니어서 남은 사람들끼리 우리가 왜 탈락했을까 복기하면서 그리고 남은 하루, 혹은 남은 몇 시간을 어떻게 보낼지 잠시 이야기를 나누면서 소소하게 시간을 보냈습니다.

마무리

이제 와서 우리가 탈락한 이유를 굳이 따져본다면, 이런 이유가 있었을 것 같습니다.

  • 구현이 안 되어 있었던 것은 아니지만 앞서 언급한 iOS WebKit 레이아웃 문제로 입력 단계를 공개된 데모 웹사이트에서는 생략하면서, 심사위원들이 실제 구동 영상을 디자인 시안 영상으로 생각했을 가능성
  • 주제 측면에서 사회적 약자를 돕지만, 환경 트렌드에는 맞지 않는 점
  • 생소한 주제 (멘토 분들께서 우려하셨던 점이었습니다)
  • 배경 설명에 많은 시간을 들여 실제 구현은 매우 미진했을 것이라고 생각했을 가능성

그럼에도 불구하고 어느 해커톤보다 행복했고, 다시 팀으로 만난다면 즐겁게 일할 수 있을 것 같은 사람들과의 소중한 경험이었습니다. 끝난 후에도 다양한 격려를 남기시면서 앞날을 독려해주신 멘토님들과 사회자님, 그리고 뒤에서 노력하셨던 모든 운영진 및 관계자 분들께도 감사의 인사를 남깁니다.

비록 상은 받지 못했어도 서로를 존중하는 마음, 그리고 팀의 분위기에 상을 준다면 우리가 받았을 거라고 자신할 정도로 팀원 한 명 한 명이 대단하고 멋있었습니다. 생소한 DBMS였던 MongoDB 적응에 노력하시거나, 프론트엔드에서 구현하지 못할까봐 걱정해주시거나, 기획, 결정 같은 과정들을 책임지면서도 데이터 분석을 병행해야 했거나, 낯선 Git 환경에 적응하는 등 각자가 적어도 하나 이상의 도전에 마주했고 어떻게든 해결해냈기에 더욱 그럴 것입니다.

서로 다른 지역에서 만나 배경도 학년도 다른 모두가 만나 어색함은 저 멀리 날려버리고 즐겁게 지낸 한편, 다양한 기술 스택을 사용함에도 짧은 시간 동안 최선을 다해 매끄럽게 최소한의 기능을 완성했다는 사실이 아직도 안 믿기기도 합니다. 그러니 이렇게 행복한 경험을 했던 만큼 각자의 앞날에 좋은 소식만이 있었으면 좋겠습니다.

  1. 여담으로 지도 구현할 때도 제주도까지 보일 수 있도록 특정한 위치를 중점으로 잡는데 공을 들였단 사실도 은근슬쩍 자랑하고 싶습니다. 생각보다 남부 지방을 중심으로 잡아야만 흔히 보는 대한민국 지도 형태가 된다는 사실을 이때 알았습니다. [본문으로]