KCD의 첫 해커톤 후기 by Hank

Hyeongkyu Lee
한국신용데이터 팀 블로그
5 min readNov 21, 2023

--

안녕하세요. 저는 한국신용데이터(KCD)에서 iOS 앱 개발을 담당하고 있는 Hank(이형규)입니다.

KCD의 첫 해커톤

지난 9월 14일, 한국신용데이터(KCD) 창사 이래 첫 해커톤이 진행됐습니다. 사실 저는 아무 생각이 없었습니다. 해커톤 계획 공지가 나왔지만, 저랑은 상관 없는 얘기라 여겼습니다. 저는 깊은 생각을 갖지 않고 사는 사람이기 때문입니다. 하지만, 제가 아무런 생각도 하지 않던 사이 저는 사실상 두 팀의 참가자가 돼 있었습니다. 정확히 말하자면 두 팀으로부터 참가 제안을 받아 고민하고 있던 사이에 저도 모르는 사이에 한 팀의 멤버로 참가등록이 돼 있었던 것… 😱

해커톤에서 진행되는 아이디어는 보통 2가지로 나뉩니다. 작지 않은 아이디어의 프로토타입 수준의 구현, 작은 아이디어의 완성도 있는 구현. 물론 가끔씩은 “이걸 어떻게 하루만에 했지!?”라는 생각이 드는 결과물도 나타나곤 합니다. 제가 용병으로 참가해 결과물을 뽑아낸 “메뉴가 너무 많아”는 “이걸 어떻게 하루만에 했지!?”가 됐으면 좋았겠지만, “작은 아이디어의 완성도 있는 구현”에 해당하는 케이스입니다.

용병 그러나, 핵심적인!

KCD 해커톤의 참가 원칙은 1인 1팀. 한 사람이 여러 팀에 복수 참가할 수는 없었습니다. 하지만, ‘아무런 생각도 하지 않던 사이’에 두 팀 사이에 한 팀의 멤버로결정된 만큼, 두번째 팀에도 ‘용병’으로서 기여를 하기로 했습니다. 팀 멤버로 이름을 올리지도 않았고, 그래서 아이디어가 뭔지도 모르는 상태였지만 말입니다.

(제가 ‘용병’으로 참여한 DP 시즌 1팀 멤버 사진. 저는 없습니다.)

그리고 오늘 이 글에서 소개하고자 하는 것은 ‘용병’으로 참여한 DP 시즌 1팀의 결과물입니다. 제가 정식 멤버로 소속된 팀의 해커톤 결과물이 아니라, 이 팀의 해커톤 결과물을 소개하는 이유는 뭘까 궁금하시겠지만, 간단합니다. 두번째 팀에서의 결과물이 이미 릴리즈됐기 때문입니다. 🙂

저를 ‘용병’으로 고용(?)한 팀은 KCD 내 데이터플랫폼팀원들이 주축으로 구성된 팀이었습니다. 데이터플랫폼팀은 KCD 내부의 많고 복잡한 데이터를 처리하는 인프라를 구축하고 관리하는 팀인데요. 팀 이름인 ‘DP 시즌1’은 헌병대와는 아무 상관이 없고, (Data Platform = DP)에서 따온 이름이었습니다.

검색 — 많은 메뉴를 빠르게 찾아내는 방법

고용주(?)님들의 해커톤 아이디어는 “검색” 기능이었습니다. 저는 이 주제를 해커톤 당일에 알았습니다. 물론 주님(?)들의 원래 아이디어는 데이터를 활용해 검색기능을 만들어보려는 원대한 아이디어였습니다만, 여러가지 현실적인 어려움에 부딪혀, 기능을 대폭 축소했습니다. 일단 실현 가능한 범위로서 “캐시노트의 전체메뉴를 검색할 수 있는 기능을 만들자”로 의사결정됐습니다.

현재 캐시노트의 메뉴 “전체보기” 입니다. 사실 이것도 전체라고 보기에는 애매합니다. 설정과 관련된 메뉴는 여기 없거든요. 입사해서 저 메뉴를 보았을 때, 약간 당황하긴 했습니다. 메뉴가 꽤 많은데? 검색은 안되나?… 하는 생각이 들었거든요. 저 역시 검색 기능을 만들어볼까 생각은 했습니다만, 금새 잊어버렸습니다. 🤪

구현

실제 구현은 아주 쉬울 것으로 예상됐습니다. 전체보기에 등장하는 메뉴들은 앱에 로그인 됨과 동시에 클라이언트의 메모리에 적재되는 데이터입니다. 오직 클라이언트 사이드에서의 작업만으로 구현할 수 있습니다. 용병을 고용한 팀에서의 실제 개발 작업은 용병 “혼자”만 하면 되는 상황이 되었지요. 🤣

예상대로, 결과물은 쉽게 구현됐습니다. 약간의 시간을 소요한 부분은 자연스러운 검색 처리를 위한 추가 개발이었습니다. 한글 자음, 모음을 분리해 처리해, 입력 중인 검색어와 글자 단위로 완전히 일치하지 않더라도, 부분적으로 일치하는 글자가 자연스럽게 하이라이팅되게 하는 알고리즘을 직접 구현했습니다.

이 기능은 실제 서비스에 거의 바로 반영되어 릴리즈가 되었습니다. 워낙 간단했거든요. 해커톤의 결과물들이 실제 서비스에 반영되어 릴리즈가 되기에는 상당한 시간이 소요되기도 합니다. 추가적인 작업이 필요한 경우도 있구요. 릴리즈가 되지 않는 경우도 많이 있습니다. 이럴 때는 무엇을 위한 해커톤인지 허무한 마음이 들기도 합니다만, 이번에는 금세 릴리즈돼 보람을 느낄 수 있었습니다.

미래는?

위 화면은 iOS가 자체적으로 가지고 있는 검색 화면입니다. 캐시노트의 메뉴 검색 기능은 아주 단순하게 시작되었지만, 해커톤의 “DP 시즌 1” 팀이 가지는 원대한 목표는 아마도 캐시노트 서비스가 가지는 컨텐츠의 통합 검색일 것입니다.

간단한 클라이언트 사이드의 검색 기능이 구현되었지만, 데이터 플랫폼 팀에서는 실제로 검색과 관련된 프로젝트를 진행할 예정입니다.

이상, 대단한 내용은 아니지만 길게 풀어써본 해커톤부터 릴리즈까지의 이야기를 끝 마칩니다.

--

--