지난 9월 1일, 9xd와 GDG가 주최한 플래닛 해커톤(Planet Hackathon)에 참여했다. 등수를 매기지 않는 해커톤을 표방한 플래닛 해커톤은 사전 신청을 받고 그 내용에 따라 팀원을 구성하는(주니어/시니어 프론트 개발자 각 2명, 주니어/시니어 백엔드 개발자 각 2명, 디자이너 1명) 독특한 방식으로 진행되었다. 사실 이전에 해커톤에 한번도 참여해본 적 없는 나였지만, 회사 동료분이 전해준 링크를 따라 플래닛 해커톤에 대한 설명을 읽고나니 해커톤을 잘 몰라도 참여해 볼 수 있겠다는 생각이 들었다.
팀은 어떻게 구하지? 폐가 되면 어떡하지? 고민은 이 행사에서 필요가 없습니다. 참가 신청서(이름 무기입)에 응답해주시면 운영진이 다양성과 참가 목적을 고려해 60인을 선정하고, 각 팀에 배치합니다.
경쟁으로 등수를 가리는 것을 지양합니다. 짧은 기간이지만 함께한 팀원과 만들어 낸 작품을 서로 평가하지 않고, 모두가 함께 만들었음을 인지할 수 있는 상과 기념품을 드릴 예정입니다.
경력으로 참가자를 가리지 않고 결과물에도 등수를 가리지 않는다는 행사의 취지가 참 마음에 들었고, 이런 행사에 찾아온 사람들이라면 함께 재밌는 것을 만들 수 있을 것만 같았다. 사전에 제출하는 참가신청서에는 나에 대한 소개와 흥미 있는 분야, 취미, 이번 해커톤에서 만들어 보고 싶은 아이디어 등 다양한 항목에 대해 서술해야 했는데, 이런 식으로 각 참가자의 성향이나 열정에 초점을 맞춘 부분이 긍정적으로 느껴졌다. 해커톤에는 디자이너가 귀하다는 이야기를 들었는데 그 때문인지 며칠 뒤 무사히 참가 확정 메일을 받을 수 있었다.
해커톤 당일, 아침 9시라는 이른 시간에 구글캠퍼스에 도착했다. 많은 회사에서 후원해주신 해커톤답게 입구에서 후원 물품을 한아름 안겨주셨고, 직군에 따라 5가지 다른 색의 티셔츠를 나눠주셨는데 디자이너는 강렬한 빨간 색이었다. 그리고는 ‘모두가 한번쯤은 대중 앞에서 발언을 하고 돌아가야 한다’는 9xd의 원칙에 따라 참가자 전원이 번갈아가며 일어서서 15초 자기소개를 했다. 특성화 고등학교의 학생부터 15년차 회사 부장님까지, 정말 다양한 배경과 경력을 가진 분들의 자기소개를 들을 수 있어서 굉장히 재밌었다.
직군별로 다른 색깔의 티를 입어서 알록달록해진 플래닛 해커톤 현장
본격적인 해커톤의 시작
주제 정하기
본격적으로 주제를 정하기 위해 각 조가 지구에 대한 세 가지 키워드를 각각 쪽지에 써서 제출했다. 이 쪽지를 다시 섞어서 조별로 뽑아갔는데, 뽑은 세 가지 키워드 중 마음에 드는 것을 골라 서비스의 핵심 키워드로 삼아야 했다. 그 중 우리가 써서 제출했다가 다시 우리 조로 돌아온 ‘길냥이’를 이번 해커톤의 주제로 선택했다. 나는 예전에 안 쓰는 이불을 유기동물센터에 보내고 싶은 마음에 박스에 포장까지 다 해두었다가 이불이 필요한 유기동물센터가 어디인지, 또 주소는 어떻게 되는지 알 수가 없어서 결국 보내지 못한 경험을 이야기했다.
슬프게도 유기동물센터가 물품후원을 받기 위해 주소를 공개하면 그 주소로 찾아와 동물을 유기하고 도망가는 사람이 굉장히 많다. 때문에 웬만한 유기동물센터는 주소 공개를 꺼리고 선의를 가진 개인봉사자가 자신의 주소로 물품을 받아 대신 전달하곤 한다. 하지만 봉사자가 댓가도 없이 자신의 주소를 공개하고, 가정집에 물품을 배달 받아 개인 차량으로 전달하는 이 과정은 온전히 개인의 선의에 의존하는 불완전한 시스템이다. 우리 조는 이런 문제점을 해결하기 위해 옷이나 이불을 받아서 개인후원자와 유기동물센터를 중개해주는 플랫폼을 만들기로 했다. 안 쓰는 옷이나 이불을 재활용 할 수 있으면서도 겨울을 나느라 항상 물품이 부족한 유기동물센터에 안정적인 후원을 제공하는, 그야말로 ‘지구와 나를 위한’ 서비스라고 생각했다.
서비스 구체화 하기
우리가 제안할 서비스는 수익모델이 있는 서비스라기보다는 공익을 위한 서비스에 가까워서, 어떻게 해야 사용자가 서비스를 사용하고 싶게 만들지가 관건이었다. 따로 물질적 보상을 받지 않고도 이불을 직접 포장하고 택배로 부치도록 사용자를 움직이려면 무엇이 필요할까? 일단 이 서비스에 관심을 갖는 사람은 기본적으로 동물 애호가일 것이므로, 자기가 실질적으로 유기동물들에게 도움이 되고 있다는 피드백을 주는게 중요하다고 생각했다. 그래서 후원을 하려할 때 물품을 보낼 수 있는 보호소의 리스트를 죽 보여주고, 특정 보호소를 선택하면 그 보호소에 있는 동물들의 사진과 사연, 그리고 어떤 물품이 부족한지에 대한 정보를 보고 직접 선택할 수 있게 했다. 또 후원물품을 받고나면 해당 보호소에서는 도움받은 동물의 사진을 후원자에게 메일로 보내, 최소한의 감사 표시와 함께 후원자에게는 ‘내가 정말 어떤 동물에게 도움을 줬구나’라는 구체적인 피드백을 받을 수 있도록 설계했다. 유니세프 같은 단체에서 후원 아동의 사진과 편지를 후원자에게 보내 누군가 도움받았다는 것을 실질적으로 와닿게 느끼도록 한 것과 비슷한 맥락이었다.
서비스 구체화를 어느 정도 마치고도 우리에게 남은 난관이 하나 있었는데, 바로 서비스 이름 정하기였다. 귀엽고도 서비스의 내용이 확실히 와닿는 이름을 만들고 싶었는데 확 와닿는 이름이 잘 떠오르지 않았다. 그러나 우리에게 구원의 손길을 건내 준 플래닛 해커톤의 독특한 시스템이 하나 있었으니, 그건 바로 모두가 모두에게 도움을 요청하고 줄 수 있는 구글 스프레드 시트였다. 플래닛 해커톤에는 경쟁해서 등수를 가리는 상이 없는 대신, 가장 많은 질문을 시트에 올리거나 가장 많은 대답을 해준 참가자들에게 상을 수여했다. 이 구글 시트 시스템이 생각나 다른 분들에게 도움을 요청했고 여러가지 획기적인 이름들을 추천받을 수 있었다. 그 중 담요라는 뜻의 Blanket과 고양이인 Cat을 합친 Blancat이란 이름이 눈에 확 들어왔다. 우리의 주제인 길냥이와 담요 기부라는 소재를 모두 담고 있는 이름이었다. 이처럼 다른 분들이 함께 고민해준 덕분에 생각도 못했던 멋진 이름을 서비스에 붙여줄 수 있었다. 집단 지성의 힘… 짱…
본격적으로 개발하기
대략적인 와이어프레임을 그린 후 팀 내에서 프론트엔드, 백엔드, 디자이너의 직군별로 나뉘어 어떤 기술이 필요할지 논의하기 시작했다. 시니어와 주니어 개발자분들은 서로 어떤 기술을 사용하는지 얘기하면서 어떤 기술로 무엇을 구현할지 이야기하는 시간을 가졌다. 나는 그 사이에 디자인이 먼저 끝나야 프론트쪽 분들이 진행할 수 있다는 생각에 스케치로 손목이 빠져라 화면을 그리기 시작했다. 효율을 위해서 한 화면을 완벽하게 완성하고 건내기보다는, 프론트에서도 동시에 진행할 수 있도록 대략적인 레이아웃을 먼저 전달하고 그 후에 디테일을 구현하는 방향으로 진행되었다. 백엔드 분들은 전국의 유기동물보호소에 대한 정보를 어떻게 끌어올지, 그리고 보호소 측에서 사진과 텍스트를 사이트에 입력하면 기부자에게 어떻게 메일이 자동으로 가게할지를 고민해주셨다.
우리 조는 그 이후로 새벽동안 열심히 달리고 달려 발표 직전까지 개발을 완료할 수 있었다. 자기소개 때 부터 이미 고양이를 좋아한다는 분들이 정말 많아서 그랬는지 서비스에 대한 반응이 좋았고, 실제로 개발할 생각 없냐는 피드백까지 받았다. 다른 조들 또한 주 52시간 앱, 혼자만의 공간 설정 앱, 크롭 익스텐션 활용한 버그와 개발자 게임 등 다들 짧은 시간 안에 굉장히 다양하고 재밌는 결과들을 만들어 내서 보는 재미가 있었다. 발표가 끝나고서는 등수를 매기는 상이 아닌 각자 컨셉에 맞는 상을 받았는데, 과대포장을 다룬 조는 ‘질소가 생각이상’, 우리 조는 ‘고양이를 돕상’인 식이었다. 아마 개인작업으로 진행했으면 두 달은 걸렸을 것 같은 작업을 해커톤에 와서 하루만에 끝내서 굉장히 신기하고 뿌듯했다.
다함께 올림픽 축구 결승전을 보며
먹고 또 먹고, 축구 보고, 춤추고, 요가하는 해커톤
해커톤이라는게 24시간 동안 달려야하는 작업이다보니, 플래닛 해커톤에서는 사람들이 지치지 않도록 여러가지 이벤트를 준비한게 눈에 띄었다. 먼저 먹을 것이 정말 끊임없이 제공되어서 작업의욕이 샘솟는 것과 동시에 ‘사육 당하는 기분’이 무엇인지 제대로 느낄 수 있었다. 일단 점심으로 샌드위치가 제공되었고, 저녁식사로는 피자가 도착해서 맛있게 먹었는데 좀 이따가 야식이라며 치킨을 또 나왔다. 음료수나 간식도 별도 테이블에 비치해두어 언제든 먹을 수 있게 되어있었다.
공교롭게도 그 날이 올림픽 축구 결승날이라, 커다란 스크린에 축구경기 영상을 띄워놓고 다함께 응원을 하며 작업을 했다. 2002년 이후로는 정말 오랜만에 다른 사람들과 축구경기를 보게 된건데, 해커톤이라는 자리에서 축구를 보며 다같이 한 목소리로 아쉬워하고 열광하는 게 굉장히 재미있는 경험이었다. 다행히도 한국이 결승전에 승리해서 잠도 깨고 기쁜 마음으로 작업을 이어갈 수 있었다. 새벽에는 오피스 요가 영상을 보며 다같이 스트레칭하는 시간을 가졌고, 슬슬 한계를 느낄 때 즈음인 아침에는 ‘저스트 댄스’를 활용한 댄스타임을 가졌다.
또 같은 포지션의 개발자 분들이 서로 주거니 받거니 이야기를 나누는 모습을 보며 혼자 화면을 그리고 있으려니 쓸쓸했는데, 다들 비슷하게 느꼈는지 새벽 2시쯤 디자이너끼리 모여보자는 의견이 나왔다. 고등학생부터 현업에 있는 디자이너까지 스펙트럼이 아주 다양했는데, 자기소개도 하고 디자이너로서의 고민에 대한 얘기도 나눌 수 있어 좋았다. 또 만난 김에 두 조씩 한 팀이 되어 해커톤에서 만든 작업물에 대한 피드백도 해주어서 더욱 생산적이었다. 그렇게 만난 디자이너들끼리는 카톡방도 만들고 후에 밥이나 한번 먹자는 약속까지 잡게 되었으니! (그리고 얼마 전에 만나 정말 밥을 먹었다! :3) 이런 다양한 이벤트들 덕분에 24시간이라는 긴 시간동안 리프레쉬를 받고 작업을 계속할 동력을 얻을 수 있었던 것 같다.
첫 해커톤을 마치고
첫 해커톤을 마치고 난 뒤, 확실히 디자이너로서 해커톤에 참여하는 것은 개발자로서 해커톤에 참여하는 것과 꽤 다른 경험이라는 생각을 했다. 역시 가장 좋았던 점은 내가 방금 만들어낸 디자인이 실제 사이트로 구현되는 모습을 생생하게 지켜볼 수 있다는 점이다. 아마 디자이너끼리 모인 자리 였다면 완료된 디자인을 그럴듯하게 프로토타이핑 하고 금방 끝났을텐데, 그 간단해 보이는 것들을 실제로 구현하는건 대단히 어렵고 시간이 걸리는 일이구나, 그래서 개발이 어렵고 또 대단한거구나 라는 걸 새삼스럽게 느꼈다. 반대로 개발자분들은 디자이너가 하는 일이 굉장히 신기하고 대단하다고 말해주셔서 그런 지점이 또 재밌었지만!
반면 어려운 점도 있었는데, 개발보다 먼저 완료되어야 하는 선행작업이 디자인이다보니 초반에는 시간에 쫓겨 작업하고 후반에는 시간이 남는 현상이 발생했다. 또 시간이 없어 완벽하게 계획을 짜고 작업에 들어가는게 아니라 작업을 하는 동시에 디테일한 부분을 결정해야 했는데, 그때그때 생각하며 만들다보니 한시간 후에 보면 고칠 곳이 보이고, 두시간 후에 보면 또 고칠 곳이 보였다. 그런데 내 입장에선 약간의 수정이더라도 개발자의 관점에선 완전히 다른 코드를 사용해야 할 수도 있어서, 더 나은 UX가 뒤늦게 떠오르면 이걸 계속 고쳐도 되는걸까 망설여지는 경우가 많았다. 제플린에 파일을 올리고 나서도 여러번 조금씩 수정하다보니 프론트분들이 어느 버전이 맞는지 혼란스러워하기도 했다.
마치 내가 디자인을 하고 숙제를 내주듯 ‘구현해주세요’하면 개발자분들이 그걸 풀어야하는데, 그 숙제의 지문조차 계속계속 수정해서 다시 쓰라고 하는 느낌이랄까? 그래서 작업하는 내내 송구한 마음이 들어 ‘죄송한데…‘라는 말을 굉장히 많이 했던 것 같다. 개발자와 디자이너 간의 소통이 중요하다, 중요하다 하지만 정말 소통이 왜 중요한지 절절하게 느꼈던 24시간이었다.
한 가지 아쉬웠던 점은 팀에 디자이너가 한 명 뿐이라서 디자인에 관한 모든 걸 홀로 결정하고 만들어야했다는 점이다. 위에서 언급했던 새벽 2시의 디자이너 모임 때 해커톤 주최자 중 한 분이신 유림님이 ‘참여해보니 디자이너가 한 조에 1명인 게 나은 것 같나요, 아니면 2명인게 나은 것 같나요?’라고 물으셨는데 대부분의 사람들이 2명인 것이 낫겠다는 피드백을 주었다. 혼자 디자인을 하면 결정이 빠르고 편하기는 하겠지만, 디자이너끼리도 서로 이야기하고 피드백을 주는 과정을 거쳐야 좀 복잡하더라도 배우고 발전할 수 있는 기회가 생긴다. 또 개발자들이 그렇듯 해커톤은 다른 사람과의 교류 목적도 크기 때문에 디자이너에게도 커뮤니케이션 하는 재미가 있으면 좋겠다고 생각했다. 디자이너 모임은 사실 계획된 것이 아니고 즉석에서 결성된 것이었는데, 그것조차 없었으면 사실상 다른 팀의 디자이너들과는 거의 말할 기회가 없었기 때문이다.
또한 멤버십 카드의 특성상 사용자의 소비패턴에 따라 새로운 카드를 추천해주는 기능이 필요했다. 그러나 추천과 광고는 한끗차이인지라, 유저가 불편함을 느끼지 않는 선에서 추천할 방법이 필요했다. (누구나 물건 구매를 위해 구글링 몇번 했다고 페이스북 피드에서 해당 물품의 광고가 끝없이 뜨는 크리피한 경험을 해본 적이 있을 것이다.) 이를 위해 마치 핀터레스트처럼 가입 과정에서 사용자가 자신의 관심분야 카드를 선택하는 과정을 추가했다. 사용자의 소비 정보를 바탕으로 맘대로 카드를 추천하는게 아니라, 어떤 카드를 추천받을지에 대해 소비자가 주도권을 가질 수 있도록 하기 위한 설계였다. 위에서 얘기한 구글의 검색 타겟 광고처럼 유저의 모든 소비가 자신의 관심사에 따른 것은 아니기 때문에 여기서 생기는 오류의 가능성도 낮출 수 있었다.
가입한 멤버십 카드와 혜택을 보여주는 페이지의 핵심 아이디어는 ‘토글’이었다. 처음 가입할 때 슬라이더를 통해 개인정보를 얼마나 제공할 것인지 선택하더라도, 나중에 마음이 바뀌거나 각 서비스마다 다른 정도의 정보를 제공하고 싶어할 가능성을 고려한 것이었다. 해당 카드를 클릭해 혜택 정보를 보여주는 페이지에 들어가면, 나의 특정 정보를 제3자에게 제공할 것인지 말 것인지 토글로 on/off 할 수 있다. 그럼 토글을 켜고 끌 때마다 (슬라이더 기능과 마찬가지로) 하단에 뜨는 받을 수 있는 혜택의 리스트가 즉각적으로 바뀐다. 예를 들어 ‘강남에 있는 영화관 지점에 3번 방문하면 무료 음료 쿠폰을 준다’는 혜택의 경우, ‘나의 위치정보 제공’이란 항목의 토글을 켜야 해당 혜택을 받을 수 있다. 사용자는 자연스럽게 ‘나의 위치 정보가 필요한 이유는 해당 지점에 몇 번 방문했는지를 알기 위해서구나’라고 자신의 해당 정보가 필요한 이유를 납득하게 된다.
디자이너가 가고싶은 해커톤이 되려면
이번 해커톤에서 디자이너로서 느꼈던 점을 바탕으로 ‘디자이너가 가고싶은 해커톤’이 되려면 어떤 사항들이 필요할지 고민해보았다.
- 다른 분들이 주셨던 피드백처럼, 해커톤에서 디자이너가 단순히 개발자에게 설계화면을 던지는 입장, 개발할 무언가를 제공해주는 포지션에 그치지 않고 스스로도 많이 배우고 발전할 수 있게 디자이너가 혼자가 아니었으면 좋겠다. 한 가지 작업을 둘이서 진행하는 건 당연히 어려운 일이지만, 프론트나 백엔드 개발자 분들도 그걸 해냈으니까. 초반에 이런저런 얘기를 주고 받으며 디자인이 발전할 여지도 훨씬 클 것 같고, 파트를 잘 나누어 작업하다보면 혼자 작업하는 것보다 효율도 좋을 것 같다.
- 화면 설계를 하고나서 한번 텀을 두어 다같이 발표하고 피드백을 주는 세션이 있었으면 좋겠다. 다른 사람들 앞에서 발표하고 피드백을 받는 세션은 처음에 무엇을 만들건지 얘기하고 나서는 최종 발표가 마지막이라, UX적인 면에 대해서는 상대적으로 크게 고려하지 않는 느낌을 받았다. 앱과 웹이라는 형태로 결과물을 만들 때에는 주제가 무엇이고 어떻게 개발했는지 외에도 어떤 사용자 경험을 고민했는지 또한 대단히 중요하다고 생각한다. 이 부분에 좀 더 무게를 실을 수 있다면 디자이너도 해커톤에서 더 핵심적인 역할을 수행하고, 또 무언가를 더 얻어갈 여지가 생기리라 생각한다.
- 개발자 분들은 앱 개발자인지 웹 개발자인지에 따라 조가 편성되어 있었는데, 디자이너의 경우 그렇지 않은 것 같았다. 조별로 앱과 웹은 물론 게임을 디자인 하거나 애니메이션을 하나하나 그린 디자이너도 있었는데, 그 동안 해보지 않은 분야를 갑작스레 맡아서 당황하는 분들도 있었다. 때문에 사전조사 때 디자이너에게도 어떤 형식의 결과물을 만들고 싶은지의 선택지 정도는 주는게 좋겠다고 생각했다.
해커톤을 모두 마치고 단체사진!
끝내며
사실 나로서는 처음 참여하는 해커톤이라 다른 곳이 어떤 방식으로 진행되는지 애초에 몰랐지만, 끝나고 나서는 처음 참여한 해커톤이 플래닛 해커톤이라 참 다행이라는 생각이 들었다. 다른 해커톤에서는 상금이 걸린 상을 타기 위해 치열하게 경쟁한다는 이야기를 들었기 때문이다. 이기기 위해서는 실력과 경력이 중요한 자질이 될 것이고 그랬다면 플래닛 해커톤에서처럼 다양한 경력의 다양한 배경을 가진 사람들을 결코 만나지 못했을거란 생각이 들었다. 위에서 언급한대로 해커톤에 참여했던 디자이너들은 단톡방에서 시작해 따로 모여 밥도 먹었고, 다음에는 작업 소모임이나 방탈출 게임을 하러 놀러가자는 제안도 나왔다. 대학생부터 해커톤 주최자까지 넓은 스펙트럼을 가진 디자이너를 만날 기회는 이런 해커톤이 아니면 없었을 것이다.
또 모임 때 연말에 디자이너톤을 만들고 싶다는 분도 계셨는데, 보다 디자이너에게 맞춰진 해커톤이 만들어질 수 있을 것 같아 꼭 실현해주셨으면 좋겠다. 함께 해커톤에 참여했던 회사 동료분도 자극을 받아 연말에는 우리도 해커톤을 기획해보자는 얘기가 나왔던걸 보니 여러 사람에게 모티베이션이 된 행사인 것은 분명한 듯 하다. 앞으로도 플래닛 해커톤처럼 다른 해커톤과 차별점을 둔 재밌는 해커톤이 많이 나오길 바라는 마음이다.
- 참고로 플래닛 해커톤에서 만들어 낸 결과물들은 아카이브 사이트에서 확인할 수 있다.