안녕하세요. LINE에서 iOS 개발을 하고 있는 조현지입니다. 저는 2017년 12월 13일부터 15일까지 개최된 LINE Hackathon 2017 행사를 소개해 드리려고 합니다. LINE에서는 그동안 정기적으로 LINE iOS, Android를 담당하고 있는 개발자들을 대상으로 워크샵을 개최하여 세션을 공유하고 하루 정도의 짧은 해카톤을 열어왔습니다. 많은 분의 기발한 아이디어를 코드로 풀어내기에는 해카톤 일정이 너무 짧아 아쉽다는 의견이 있었기 때문에, 이번 워크샵에서는 다른 일정 없이 해카톤만 진행하게 되었습니다. 주어진 시간이 2배로 늘어나도 해카톤이 끝난 후 남는 아쉬움이나 후회를 완전히 사라지게 할 수는 없었지만, 충분한 시간 덕분에 결과물에 대한 만족도도 확연히 높아지고, 더 다양하고 재미있는 주제가 많아져 기억에 남는 해카톤이 되었습니다.
첫째 날
이번 해카톤은 LINE의 한국, 일본, 대만 오피스에서 온 iOS, Android 개발자와 QA 엔지니어들이 참여하였고, 해카톤에 앞서 미리 약 30개 정도의 팀을 꾸렸습니다. 참여자의 국적이 다양하므로 행사 진행 및 안내는 영어로 이루어졌습니다. 이번 해카톤에서는 전달 사항을 LINE 공식 계정(LINE Official Account)을 통해 전달받았습니다. 공식 계정을 통해 일정 관련 안내뿐만 아니라 장소 이용 팁이나 안부 인사를 받기도 하고, 궁금한 사항이 있으면 이곳에 바로 문의할 수 있어서 3일간 많은 도움을 받았습니다.

모든 구성원들이 모인 후, 호명되면 한 명씩 일어나서 간단하게 인사를 하는 이벤트로 워크샵을 시작했습니다. 최근 1~2년 전에 비해 개발자 수가 많이 늘어났기 때문에 서로 LINE을 통해 이름만 아는 경우가 많습니다. 이번 기회에 한 명, 한 명, 이름과 얼굴을 매칭하여 인사할 수 있어 반가웠습니다. 한 자리에 모든 오피스의 iOS, Android 개발자가 모이는 기회가 드물기 때문에 더욱 의미 있는 이벤트였습니다.
분위기를 뜨겁게, 뜨겁게
다음 순서로, 컵 높이 쌓기 게임을 통해 분위기를 조금 더 뜨겁게 만들었습니다. 컵 높이 쌓기 게임은 무작위로 정해진 상대와 주어진 시간 내에 컵을 누가 더 높이 쌓는지 대결하는 게임입니다. 저희 팀은 처음 뵙는 일본 오피스 개발자와 상대가 되었는데요, 반갑게 인사를 하고 게임을 시작했습니다. 1인 팀과의 대결이라 당연히 저희 팀이 이길 줄 알았지만, 상대팀 개발자가 정말 컵을 잘 쌓으셨습니다. 이왕 우리 팀을 이겼다면 다른 팀에게 절대 지지 않기를 바라며 게임 내내 그분을 응원했습니다. 아무래도 1인 팀이다 보니 우승은 못하셨지만 혼자 높은 순위까지 가셔서 대리 만족을 할 수 있었습니다.
몇 번의 게임 이후, 점점 컵의 수가 늘어나 난이도가 높아졌습니다. 결승전에서는 더욱 열기가 높아졌는데요, 재치 있는 전략과 재빠른 손놀림으로 컵을 쌓는 우승팀의 모습은 혹시 따로 오랫동안 수련하고 오신 것이 아닐까? 라는 의문이 들만큼 놀라웠습니다. 이렇게 컵 쌓기 게임으로 분위기를 달군 후, 곧바로 해카톤을 시작하였습니다.

본 게임으로!
팀별로 마음에 드는 회의실을 찾아 자리를 잡고, 본격적으로 프로젝트를 시작했습니다. 먼저, 미리 구상해왔던 아이디어를 구체화하고 주제의 정체성이나 구현할 기능의 사용성에 대해 깊이 고민하고 토론하는 시간을 가졌습니다. 이 시간만을 기다려 왔다는 듯 눈을 반짝이며 의견을 주고받는 분들의 모습이 인상 깊었습니다.

쉬었다 갑시다
저녁식사 시간에는 가볍게 맥주를 한 잔씩 마시며, 편안해진 분위기 속에서 오랜만에 만난 분들과 그간 나누지 못했던 대화를 나눌 수 있었고, 앞으로 구현할 기능에 관한 이야기가 나오면 열띤 토론을 벌이기도 했습니다. 이틀간 계속될 개발에 앞서 긴장을 풀고 편안히 시작하는 데 도움이 되는 시간이었습니다. 이후 팀별로 자유롭게 개발하거나 숙소에서 잠을 청할 수 있었는데, 개발에 탄력이 붙어 밤늦은 시간까지 깨어 있었던 팀이 많았다고 합니다.
둘째 날
두 번째 날은 결과물 발표와 투표가 있는 날입니다. 저녁 8시에 있을 발표를 위해 자유롭게 개발도 하고 발표 준비도 하였습니다. 아침부터 저녁까지 식사 외에는 일정이 없어 다른 것에 신경 쓸 것 없이 개발에만 온전히 집중할 수 있었고, 서현역이 아닌 설경을 보며 기분 전환을 할 수 있었습니다. 좋아하는 주제로 시간 가는 줄 모르고 개발할 수 있다는 것이 해카톤의 매력인 것 같습니다.

함께 한 팀원이나 다른 팀이 개발하는 과정을 옆에서 직접 볼 수 있다는 것도 해카톤의 특별한 점입니다. 제가 막 입사해서 Swift부터 공부하고 있던 시기에도 해카톤이 개최된 적이 있습니다. 그때 함께한 선배 개발자가 주어진 문제에 접근하는 방식이나 코드를 조사하는 모습을 보고 많은 팁을 얻었던 기억이 있습니다. 그래서 이번에도 선배 개발자분들이 개발하는 모습을 유심히 관찰하게 된 것 같습니다. 물론 GitHub에서는 항상 다른 개발자들의 코드를 볼 수 있지만, 사람들이 문제를 조사하고 해결해 나가는 과정을 직접 보는 경험도 저 같은 주니어 개발자에게는 큰 가르침이 되는 것 같습니다.
QA와 함께하는 해카톤
지난 해카톤과는 다르게 이번 해카톤에는 QA팀도 함께 참여하여 개발자들이 구현한 것을 테스트해 보고 피드백을 주셔서 결과물의 질을 높이는 데 힘써 주셨습니다. QA 엔지니어가 버그를 조금 더 손쉽게 등록할 수 있도록 돕는 도구를 구현한 한 팀이 있었는데, QA 엔지니어에게 인정을 받아, Quality Control Approved 마크를 받기도 했습니다.
드디어 발표를!
길었던 개발이 끝나고, 해가 진 후, 발표 시간이 다가왔습니다. 주제로는 iPhoneX의 애니모지, iOS 11 Core ML Vision Framework 같은 새로운 기술을 활용한 아이디어, 다른 플랫폼에 LINE을 연동한 아이디어, 평소 LINE에 있었으면 했던 기능을 구현한 주제 등이 있었습니다. 일정이 길어져서인지 기존 해카톤보다 다양해진 주제들이 다뤄져 굉장히 흥미로웠습니다. 그래서인지 몇 시간 동안의 발표 시간 내내 모두 지친 기색 없이 발표에 푹 빠져 경청했던 것 같습니다.

참여한 팀의 수가 많아서 발표 시간은 5분으로, 슬라이드 수는 10장으로 제한되었습니다. 내용을 짧게 압축해야 하는데다 지루하지 않게 발표를 하려니 자연히 발표 준비에 고민이 따르고 시간을 많이 들여야 했습니다. 수상자가 투표를 통해서 가려지기 때문에 유권자들의 관심을 끌기 위한 전략으로 재미있는 시나리오나 상황극을 준비한 팀이 많았습니다. 탄탄한 아이디어와 몇몇 분의 뛰어난 연기력의 결합에 박수를 치며 한참 웃고 나니 자연스레 그 팀의 주제가 머릿속에 각인되었습니다. 많은 분의 기발한 아이디어나 뛰어난 기술력뿐만 아니라 센스 있는 발표로 사람들을 설득하는 능력까지 엿볼 수 있어 즐거운 시간이었습니다.
영예의 1등은?
투표 끝에 선정된 1등 팀은 LINE에서 대화 목록을 그룹화해서 손쉽게 관리하는 기능을 발표한 팀입니다. 개인 대화, 그룹 대화 등 대화를 종류별로 그룹으로 묶어서 접근성과 관리를 편하게 개선했고, 사용자가 추가 그룹을 생성해서 목적에 맞게 대화방을 분류할 수 있는, 아주 재미있는 아이디어였습니다. 짧은 시간 안에 많은 기능을 구현해서 놀라웠고, LINE 사용자로서 가장 탐났던 기능이라 많은 지지를 받은 것 같습니다.

글을 맺으며
이번 워크샵은, 사무실이 아닌 다른 장소에서, 해보고 싶었던 것이나 평소에 다루어보지 않았던 것을 마음껏 개발해볼 수 있어 즐거운 시간이었습니다. 또한, 주제나 기술에 관한 토론을 통해 다양한 의견을 접할 수 있어 앱 사용성이나 기술 등에 대한 시야를 넓힐 수 있는 좋은 기회였던 것 같습니다. 이러한 개발의 즐거움뿐만 아니라 더욱 기억에 남는 것이 있다면, 해카톤을 진행하는 과정에서 많은 분을 알아가고 가까워질 수 있었던 순간들입니다. 옆에서 다른 팀이 개발하는 것을 지켜보고, 함께 식사하고, 간식을 먹는 등 사람들과 하루 종일 함께 있다 보니 자연스레 많은 대화를 나눌 수 있어 상당히 즐거웠습니다. 또한, 다른 곳에서 근무하는 개발자분들과도 LINE을 통해서가 아니라 직접 만나서 이야기하니 친밀감을 쌓을 수 있었습니다. 다양한 분들의 발표를 보며 유저들이 LINE으로부터 원하는 기능, 부족하다고 느끼는 점은 무엇인지 고민한 흔적을 보고 공감할 수 있었고, 비록 매일 만나지는 못하는 사이지만 모두 한 배를 탄 동료라는 점을 상기할 수 있었습니다.
