Forum/Retrospect

신한 해커톤: 2019 국내 최대 규모 무박 3일 해커톤 수상 후기

ooeunz 2019. 11. 24. 18:08
반응형

2019-11-22일 신한 그룹에서 잠들지 않는 3일의 열정이라는 키워드로 국내 최대 규모의 해커톤을 개최하였다. 해커톤의 주제는 신한은행, 신한카드, 신한금융투자, 신한생명 각 그룹사들이 참가자들에게 제공하는 130여 개의 API를 사용하여서 생활 속 핀테크 서비스를 만드는 것이었다. 2019년에 가장 큰 대회였던 만큼 수상자에게는 총 상금 40,000,000원신한 그룹 공채 지원시 서류 면제 혜택이 주어졌다. 때문에 236팀이라는 많은 팀들이 해당 해커톤에 지원하였고, 예선 경쟁률만 10:1에 육박하게 되었다.

 

 

 


해커톤 시작 전

 

처음 이 해커톤에 출전하게 된 것은 단순히 은행 api와 데이터를 만져보고 싶다는 생각 때문이었다. 금융권은 그야말로 데이터의 보물섬이라고 할 수 있는데,  금융활동을 하는 사람이라면 누구나 카드나 계좌가 있고, 유저들의 생활패턴이나 관심사와 같은 것들을 분석하기 용이한 유의미한 데이터가 가득하기 때문이었다. 더군다나 다양한 그룹사의 api를 무려 130개나 지원해준다니 꼭 상을 타지 않더라도 나에게 좋은 경험이 될 것이라는 생각이 들었다.

 

이번 해커톤은 특이하게 무박 3일간 진행되는 해커톤이었다. 짧다면 짧지만 해커톤 치고는 긴 시간이 었기 때문에 진행할 프로젝트의 볼륨을 잡는 것은 중요한 과제였다. 우리 팀은 SOPT라는 IT 창업 동아리 회원들로 디자이너 1명, 클라이언트 개발 2명, 서버 개발 2명으로 총 다섯 명으로 구성되어 있었다. IT동아리 출신답게 평소 협업에 많이 노출되어있었기 때문에 팀원들 모두 설계 단계의 중요성을 알고 있었다. API 자체는 해커톤 당일에 공개가 되기 때문에 기술에 관한 설계는 할 수 없었지만, '어떤 기능을 어떻게 넣을지', 또한 어느 정도의 선까지 개발을 할지와 같은 설계는 사전에 준비할 수 있었으므로 해커톤 일주일 전부터는 주기적으로 만나서 서로의 기술 체크와 개발 방향성에 관하여 논의하였다.

 

 

 


개발

main 화면

우리 팀은 최근 구독 시장의 성장세가 급격하게 증가하고 있지만, 각각의 서비스들이 흩어져있어 관리가 어렵다는 점을 착안하여 신한그룹 API를 활용해서 구독 서비스 통합 관리 앱 기획하게 되었다. 우리가 기획한 프로젝트에는 크게 3가지의 핵심 기능들이 포함되어 있었다.

 

 

 

1. 챗봇과의 대화를 통해 사용자의 취향 및 니즈를 캐치하여, 유저 맞춤식 서비스 추천 기능.

Soly라는 이름을 가진 챗봇은 사용자와의 대화에서 entity들을 추출할 수 있는 기능을 가지고 있었다. 따라서 사용자가 자유로운 발화를 통해 자신의 취향을 이야기하더라도 핵심적인 키워드들을 추출해 낼 수 있었다. 추출된 키워드들은 해당 유저의 Database로 저장되었고, 추천 알고리즘을 통해 해당 유저에게 필요한 서비스들을 메인 화면에 나타나게 하였다. 그 이외에도 자신이 구독하고 있는 서비스의 수나 결제 예정금액, 자주 사용하는 서비스 등과 같은 다른 카테고리에서 확인할 수 있는 기능들을 간편하게 대화를 통해 확인할 수 있도록 개발하였다. (내가 개발한 부분이기 때문에 유독 애착이 많이 갔다ㅠㅠ)

 

 

 

 

2. 구독 중인 서비스들을 하나의 결제 수단을 통해 통합적으로 관리하고 확인할 수 있는 기능.

구독 서비스들을 하나의 결제 수단으로 통합적으로 관리하는 기능은 우리 프로젝트의 출발점이기도 한 기능이었다. 로그인을 하게 되면 신한 은행, 또는 신한카드를 등록할 수 있게 하였고, 신한 API를 이용해 해당 카드로 결제한 구독 서비스들은 자동적으로 유저 Database에 저장하어 관리할 수 있도록 하였다. 또한 캘린더와 리스트 통해 날짜마다 결제되는 구독 서비스들을 한눈에 알아보기 쉽게 구성하였고, 유저가 구독하고 있는 카테고리들을 정리하여 유저가 최근 관심 있어하는 구독 서비스들을 분석하기 용이하게 개발하였다.

 

 

 

 

3.모바일 기기의 스크린 타임에 접근하여서 구독 서비스 사용량을 분석해 주는 기능.

구독 서비스는 간편하게 서비스를 제공받을 수 있지만, 사용하지 않음에도 종종 구독되고 있거나 나도 모르는 사이 구독 결제가 되는 일이 종종 발생하였다. 따라서 우리 팀은 모바일 기기의 스크린 타임에 접근하여 월 단위로 이전 달의 사용량과 비교하여 사용자의 구독 서비스 사용량을 분석해주는 기능을 개발하게 되었다.

 

무박 3일이라는 기간 동안 진행되는 해커톤이었기 때문에 신한 그룹 측에서는 참가자들이 원하는 대로 휴식을 취할 수 있는 휴식공간을 제공해주었다. 첫째 날 밤이 되자 많은 사람들이 평소처럼 잠을 자듯 휴게실로 이동하였다. 긴 코딩 시간이 프로젝트의 완성도를 높여주는 절대적인 기준은 아니지만, 이번 해커톤을 진행하며 정말 만족스러웠던 부분 중 하나는, 우리 팀원 전원이 프로젝트에 100% 열임 했다는 것에 있었다. 우리 팀은 교대로 혹은 잠을 포기하며 개발에 열중했고, 밥 먹는 시간을 제외하고는 3일 동안 개발의 자리를 팀원 전체가 비우는 일이 단 한 번도 없었다. 우리 중 누군가는 계속해서 개발을 이어가고 있었고, 서로가 서로를 배려하였기 때문에 우리의 개발 시너지 효과는 정말 엄청났다. 처음 기획 단계에서는 '이 기능들을 정해진 시간 안에 정말 다 구현할 수 있을까?'라는 두려움이 마음속에 자리 잡고 있었다. 그만큼 개발의 난이도와 양이 많았고 그것들은 우리를 긴장하게 하는 요소였다. 하지만 3일이라는 시간이 지나고 개발 종료가 된 시점에서 우리는 스스로에게 놀랄 만큼 협업의 힘을 발휘했고, 기획했던 기능들을 온전히 마무리할 수 있었다. 때문에 우리의 열정을 응원하듯 수상자 명단에 우리 팀 이름이 포함되어 있었을 때는 해커톤에 참가한 어떤 팀보다도 기뻐할 수 있었다.

 

 


시연영상

https://youtu.be/P2ChpiO9nnE

 


해커톤을 마치며

이번 해커톤은 학생만 출전하는 것이 아니라, 일반 부문 및 신한 그룹 임직원들도 함께 출전을 하게 되었다. 그래서 학생의 눈높이에서 볼 수 없었던 다양한 기술 스택이나 프레젠테이션의 노련함, 마지막으로 아이디어를 기술에 녹여내는 것에 대한 많은 인사이트를 얻을 수 있었다. 특히 단순히 수준 높은 기술을 사용하는 것보다는 기획한 프로젝트에 가장 적합한 기술을 사용하는 것의 중요성에 대해 사용자의 입장에서 다시 한번 생각해보게 되는 좋은 기회가 되었다.

 

개발은 늘 흥미롭고 즐거운 분야이다. 내가 무언가를 만들어냈을 때의 기쁨. 알 수 없는 버그와 만났을 때의 초조한 긴장감 등, 제삼자의 눈으로 보았을 때는 그저 검은 화면에 느리게 키보드를 치는 행위에 불가하지만, 개발자의 머릿속에는 누구보다 치열한 전투를 하고 있는 이 분야는 나를 늘 즐겁게 한다. 보기 좋은 디자인이 나왔을 때 내가 개발하는 서버에 와는 관련이 없음에도 나도 모르게 즐거워질 수 있었고, 클라와의 통신을 통해 내가 개발한 api를 시각적으로 확인할 수 있을 때는 너무 기뻐서 나도 모르게 탄성을 지르곤 했다. 이번 해커톤을 통해 다시 한번 내 실력을 객관화 시켜 바라 볼 수 있게 되었고, 발전해야할 방향에 대해 공부하게 된 기회가 된 것 같다. :D

 

30시간 만에 전사한 나...

 

 

Github Link

https://github.com/SOLscript/SOLscript_server

 

SOLscript/SOLscript_server

2019 신한 해커톤 - 결제내용 분석을 통해 구독 서비스 간편화 및 추천 애플리케이션. Contribute to SOLscript/SOLscript_server development by creating an account on GitHub.

github.com

 

반응형