좋은 기회로 2023년도 진행된 SW중심대학 공동해커톤에 참여하였습니다.
그날 많은 것들을 보고 어깨너머로 배웠기에
해커톤을 진행하면서 느꼈던 점과 어려운 점들을 하나하나 풀어나가보려고 합니다.
SW중심대학 공동해커톤 2023
이 해커톤은 SW중심대학협의회에서 진행하는 해커톤으로 SW중심대학 선정 대학교만 참여 가능한 해커톤이다. 아래 포스터에서도 볼 수 있듯이 무려 2박3일간 진행되는 해커톤이며 충남 천안의 재능교육연수원에서 진행된다.
지원 동기와 과정
기존에는 교내 해커톤만 참여하였기에 다른 대학교 학생들이 모이는 연합 해커톤이 궁금하였고 이를 계기로 해커톤에 참가하기로 결정하였다. 연합 해커톤에서는 더 시야를 넓히고 다양한 기술과 사람들을 접하며 자극 받을 수 있을 것이라 생각했기 때문이다. 이 SW 중심대학 공동해커톤은 우리 학교에서는 참가자 모두를 받아주지 않고 총 4명의 교내 학생만 선발하여 참여할 수 있었다. 시험 전날이 지원서 제출일이었지만, 시간 투자를 많이 하여서 지원을 하였다.
지원은 서류 지원만 있었으며 요구하는 항목은 아래와 같았다.
- 포트폴리오 (링크 혹은 PDF)
- 관련 활동 내용 (수상내역, 경진대회, 참여프로젝트 등)
- 자기소개서
- 이 프로그램에 지원하게 된 동기는?
- 주제 <불가능을 가능하게>와 관련하여 본인이 SW.IT 기술력으로 극복하고자 하는 문제는 무엇이며, 이를 해결하기 위한 방안, 접근전략 등은 무엇인가?
- 위의 내용을 구현하기 위해 팀을 어떻게 구성할 것이며, 팀에서 어떤 역할을 해낼 것인가?
포트폴리오와 관련 활동 내용은 그동안 해왔던 것들을 꽉꽉 담아 적었다. 자기소개서의 동기는 개인적인 동기와 사회적인 동기 두가지로 나누어 서술하였다. 학교 소중대 사무실에서 선발을 한 것 같았는데, 이 서류를 보고 심사하시는 분 입장에서는 대회에 나가서 우리 학교를 빛내줄 인재를 원하실 것 같아 "새로운 서비스 개발을 통해 긍정적인 영향력을 주고 싶다" 라는 것을 어필하였다. 더불어 "사회적 가치 창출" 키워드도 풀어내었다. 2번 문항에서는 해당 주제에 맞는 서비스를 AI 기술이 접목된 서비스로 방향을 잡았다. 배리어프리 관련된 주제로 기술하였는데, 내가 기획하고자 하는 서비스가 필요한 이유, 어떤 기능이 있는지, 이 기능을 통해 어떤 사회적 가치를 창출할 것인지 1번 문항에 기술한 것과 연결되어 작성하였다. 3번 문항에서는 팀원의 스택과 역할, 역량을 자세하게 기술하였다. 전문성을.. 어필하고 싶었다. 추가로 단기간에 산출물을 내는 커뮤니케이션이 가장 중요한 대회이기 때문에 관련 역량을 중점으로 작성하고 이런 역량을 가진 팀원들을 내가 어떻게 이끌 것인지, 리더로서의 나의 역할도 작성하였다.
사실 서류 결과 발표일에 학교 사무실에서 연락이 안와서 떨어졌나보다.. 하고 동기랑 함께 우울했는데 전산 오류였다! 소중대협의회에서 연락이 오면서 알게 되었다. 😊😊😊
해커톤 이전 과정
이번 해커톤은 외부 연수원에서 2박 3일이나 진행하는 과정이었기에 사전 준비 과정이 있었다. 우선 천안아산까지 갈 KTX 티켓을 예매해야 했고, 식사 메뉴 등을 골라야 했다. SW중심대학협의회에서 집합 위치, 시간, 교통편, 행사 일정, 식사 메뉴, 기숙사 정보 등을 담은 메뉴얼을 미리 메일로 발송해주어 해당 내용들을 모두 확인하고 출발해야 했다. KTX 티켓은 행사 이후 학교 SW중심대학 사무실에서 지원해주셨다.
짐도 무려 캐리어와 백팩 둘 다 챙겨서 출발했다. OT/교육/시상식을 위해 격식 있는 옷과 개발할 때 입을 편한 옷, 여름이지만 실내라 추울 것을 대비에 가벼운 긴팔,긴바지,겉옷을 챙겨서 거의 옷만 5세트를 챙겼었다. 또한, 집에 있는 전자기기도 쓸어 가고 세면도구와 수건까지 모두 가져가느라 정말 여행 가는 짐이 되어 버렸었다. 실제로는 수건도 기숙사에 있었고, 열심히 씻을 시간도 없었고, 옷도 2세트 밖에 안 입었다. 😏😏😏
나는 학교에서 이 해커톤 나가는 2명이랑 이미 친했기에 같이 KTX 티켓을 예매하고 사전 정보들을 공유하였다.
모든 공지사항과 교류는 Slack을 통해서 이루어졌다. 본인의 아이디어로 팀장을 맡을 학생들은 사전에 slack에서 조사를 받았다. 추가로 모든 참가 인원들이 자기소개 채널에 본인의 스택과 경험, 포트폴리오 등을 작성하였다. 정말 이때 느낀건데.. 같은 대학생인데 어떻게 이렇게 다르죠? 생각보다 다양한 스택을 사용하고 공부하는 학생분들이 많았고, 인턴 경험이 있는 분들도, AI 관련 기술을 다룰 줄 아는 분들도 너무 많아서 놀랐다.
해커톤 진행 과정
[1일차]
도착하자마자 OT를 듣고 점심을 먹었다. 우선 정말 많은 기업들이 이 해커톤을 후원하고 있다는 사실에 놀랐고, 식당 밥이 무척 실하고 맛있어서 좋았다. 식사 후에는 개발파트와 디자인파트로 나뉘어 특강을 들었다. 추가로 개회식까지 마친 이후, 대망의 아이디어 발표 시간이 시작되었다. 사전에 slack에서 지원했던 학생분들이 한 명씩 자신의 아이디어와 필요한 팀원의 스택, 역량을 발표하였다. 이후 slack 해당 채널에도 자신의 아이디어를 요약하여 업로드하였다. 다른 학생들은 아이디어들을 들으며 자신이 가고 싶은 팀장을 마음 속에 정해두었다. 이후 팀빌딩이 이루어졌는데.. 팀빌딩이 가장 어렵고 떨렸던 시간이었다.
팀빌딩은 위 사진과 같이 이루어졌다.. 대강당에 아이디어가 적힌 큰 종이를 곳곳에 붙이고 이제 학생들이 각자 원하는 아이디어로 가서 팀장에게 자신을 어필하여 팀원으로 선정되어야 했다. 나는 slack 이모지 상으로 가장 인기가 많았던 "공동 육아 플랫폼" 팀에 가장 먼저 갔다. 팀장분께서 백엔드 개발자분들에게 본인 어필의 시간을 주셨고, 나는 스타트업 서포터즈에서 유사한 아이템 개발을 하였고, 개발뿐만 아니라 기획까지 도와드릴 수 있다는 점을 어필하였다. 다른 2명의 지원자를 제치고.. 내가 백엔드 개발자로 합류하게 되었다.🥹 이때 정말정말 기뻤다. 내가 가장 원하는 주제의 팀에 1번에 뽑혔기 때문이다.
팀빌딩 이후에는 저녁 식사가 이루어졌고 특강까지 들은 이후 공식적으로 팀별 개발 시간이 시작되었다. 공동 해커톤을 진행하며 가장 다행이었던 점은.. 아이디어 빌딩이 이미 완료된 상태이기 때문에 바로 개발이 가능하다는 점이었다. 사실 해커톤에서는 기획이 가장 중요하다고 생각하는데 해당 내용이 완료되어 개발 시간을 많이 벌 수 있었다. 우리 팀은 다같이 기획을 다듬으며 디자이너분의 디자인을 함께 보았고 디자인이 끝난 이후에 개발을 시작하였다. 로그인/회원가입/마이페이지 같은 기능들은 최대한 배제하고 핵심 기능 개발에만 집중하였다. 백엔드 파트의 개발은 "지원서별 QR 코드 발급"에 초점을 맞추었다. 이때 관련된 외부 API를 찾지 못하여 멘토님께 여쭈어 보았었다. 정말 놀랍게도 바로.. 해당 API를 소개해주셨다. 멘토님 최고🙊
[2일차]
사실 개발단계에서는 1,2,3일차를 나누는게 무의미 할 정도로 정신 없이 굴러갔다.😵💫 대충 조금 시간을 내어 기숙사에 가서 씻고 2-3시간만 자고 오고, 식사 시간 되면 식사 다녀오고, 개발하고, 간식 주면 간식 먹고, 또 개발하고 이 반복이었다. 해커톤 기간 중에는 멘토링이 필수였는데 우리는 디자이너 멘토분께 멘토링을 받아 디자인을 수정하였다. 나는 디자이너와 협업하는게 이번이 처음이었는데 저렇게 프론트개발자와 접점이 많고 협의할 점이 많다는 것에 놀랐다. 본래는 2일차에 중간발표가 있었으나, 내부 사정으로 인해 취소되고 slack 상으로 멘토분들이 팀마다 피드백을 해주셨다.
[3일차]
우리는 2일차 밤부터 발표 자료 준비에 몰두하였다. 발표 자료 또한 디자이너분이 만들어주시고, 영상 자료까지 만들어주셨는데 백엔드 개발자까지 합세하여 대본과 컨텐츠 제작에 힘을 썼다. 아침에 산출물 제출과 함께 발표 순서를 정할 수 있었고 후반쯤으로 정한 후에 팀원 모두가 한시름을 놓을 수 있었다.
심사위원분들이 오셔서 팀별 발표를 들으며 심사하셨다. 이때 발표 시간이 타이트하여 발표를 마저 못하고 끝내는 팀들도 많았다. 아쉽게도 우리 팀은 수상하지 못하였지만, 다른 팀들의 수상을 축하해주며 행사를 마치었다.
팀 소개
내가 속한 팀은 timo팀으로 "티클 모아 태산" 이라는 의미를 가진 팀이었다. 우리는 "공동 육아 플랫폼"을 개발하였는데, 서비스 이름은 아이의 웃는 소리를 본 딴 "kiki" 였다. 우리는 현재 저출생 문제의 핵심은 육아 문제에 있다는 것에 초점을 맞추어 해당 서비스를 기획하였다. 이 서비스는 동네 이웃 간에 대신 아이를 돌봐 주고, 아이를 맡길 수 있는 플랫폼 형식이다. 맞벌이 부모가 자신의 아이를 돌보지 못할 때에는 이 kiki 서비스를 통해 동네 이웃이 열은 "육아 장소"에 자신의 아이를 맡길 수 있는 형태이다. 처음 이 서비스를 구체화 할 때는 '사람들이 정말 이 서비스를 통해 모르는 사람에게 아이를 맡기고 싶어 할까?' 라는 생각이 들어 근거 자료를 찾아보았는데, 실제 논문 상으로 많은 사람들이 시설에 아이를 맡기는 것보다 동네 이웃 간에 아이를 맡기는 것을 더 선호한다는 연구 결과가 있었고, 이웃나라 일본에서도 이런 방법을 통해 저출생 문제를 극복했다는 실제 사례를 통해 이 기획에 더 확신을 가지고 구체화 할 수 있었다. 추가로 우리가 염려하였던, 안전 문제 대비를 위해 QR 코드 발급이라는 장치를 만들게 되었다.
전체 기능 흐름은 아래와 같다.
- 지도 상에서 원하는 육아 장소를 클릭한다.
- 해당 내용을 확인하고 상세 정보를 기입한다.
- 아이를 맡아줄 수 있는 사용자는 "돌봐줄게요!" 버튼을, 아이를 맡기고 싶은 사용자는 "돌봐주세요!" 버튼을 클릭한다.
- 이후 발급되는 QR코드를 통해 해당 일정에 육아 장소에 입장한다.
여기서 나는 spring으로 백엔드 개발을 하였고, 내가 구현한 기능은 "QR코드 발급"이었다.
QR코드 발급 API가 따로 있어 해당 API를 이용했고, URI의 parameter 값을 통해 QR코드를 생성하는 형태였다.
지원서를 작성한 사용자의 전화번호 정보를 담은 QR코드 생성에 성공하였고, QR코드를 인식했을 때 올바른 QR코드이면 올바르다는 안내를, 올바르지 않은 QR코드이면 해당 안내가 나올 수 있도록 하였다. QR코드 발급과 인식 시 안내를 위해 AWS의 EC2와 S3 서비스를 사용하였다.
소감
이번 공동 해커톤은 정말 나의 시야를 넓혀 준 소중한 경험이었다. 다양한 학교에서 다양한 사람들이 모여 함께 개발을 할 수 있었고, 그 과정에서 다양한 스택들을 마주할 수 있었다. 이 경험을 통해 처음으로 AI과 데이터 쪽에도 관심을 갖게 되었다. 이외에도 소중했던 멘토링을 통해 발표 자료 디벨롭과 기획 디벨롭을 할 수 있어 유익했다. 비록 수상을 못하였지만 소중한 경험과 프로젝트 경험을 안고 갈 수 있었다.
개발 관련하여서는 돌아보니 아쉬움이 많은 프로젝트였던 것 같다. 개발할 당시에는, 시간도 없고 인력도 부족하여 QR코드 발급이라는 하나의 기능 밖에 구현하지 못하고 dummy 데이터를 많이 이용하였다. 외부 API로 QR코드를 생성하는 것도 처음 해보는 기능이었고, S3 서비스 이용도 처음이라 해당 부분에 대해서는 많이 배울 수 있었다. 하지만, 조금 더 시간이 있었다면, 실사용자가 되어 dummy 데이터가 아닌 실데이터를 저장하고 조회하는 기능까지 구현할 수 있었지 않을까~ 하는 아쉬움이 남는다. 추가로 지도도 외부 API를 제대로 불러와 실제 육아 장소로 둘 만한 것들을 조회하는 기능도 했으면 좋았겠다 싶은 아쉬움이 생겼다. 이런 이유로 해커톤 이후에도 프로젝트를 조금 더 만져보고 싶었으나.. 사실 해커톤 이후에도 계속 이어서 프로젝트를 하는 것은 참 어려운 일인 것 같다. 모든 팀원의 마음이 맞아야 하기 때문에 😥
아쉬움이 많은 만큼, 이후에는 더 기술을 쌓아 많은 기능을 이룰 수 있으리라 생각한다! 경험적으로 배운 것이 많은 해커톤이었고, 이 해커톤을 통해 많이 성장했다고 생각한다. ⭐
'Review' 카테고리의 다른 글
[동아리] 모바일 앱 프로그래밍 동아리 "APPS" 운영진(회장) 후기 (0) | 2024.01.27 |
---|---|
[행사] 2023 Dev Chat" 컨퍼런스 후기 (0) | 2024.01.23 |
[IT/SW 서포터즈] "스타트업 서포터즈 잇다(IT다)" 4기 활동 후기 (0) | 2024.01.18 |
[부트캠프] comento(코멘토) "데이터엔지니어 직무부트캠프" 수료 후기 (1) | 2024.01.18 |
[멘토링] KT 랜선야학 5기 "AI 코딩 교육" 후기 (1) | 2024.01.17 |