티스토리 뷰

프로그래밍

Ctrl + Space

June 2010. 7. 4. 01:19

세상이 아름다워 보이던 신입사원 시절, 회사 인트라넷에 경진대회 공지가 하나 떴습니다. 뭐, 회사의 새로운 비전을 선포하려고 한다. 그리고 이를 기념하기 위해서 다양한 행사를 준비했다. 그 중 하나로 이 경진대회를 개최하니 다들 많이 참여해주길 바란다. 이런 공지였죠. 경진대회는 개인전과 단체전으로 나누어져 있었는데 단체전 경진대회 중 하나가 매시업 프로그래밍 경진대회 였습니다.

매시업 프로그래밍이라는 것은 다른 서비스들, 그러니까 네이버라든지 구글이라든지 다음이라든지 이런 서비스들에서 제공해주는 정보들을 조합하여 새로운 프로그램을 만들어내는 프로그램을 말합니다. 당시에는 매시업 프로그래밍이라는 것이 굉장히 유행이었기 때문에 전국적으로도 많은 대회가 있었습니다. 저도 회사에 들어오기 전에 혼자서 MP3 파일을 집어 넣으면 태그를 분석하여 Last.fm에서 정보를 받아온 뒤 블로그에서 관련 글을 검색해주고 플리커에서 사진을 받아와서 뮤직비디오를 만들어주는 프로그램을 만들어서 제출했다가 광탈했던 기억이 있었습니다. 하지만 그 과정에서 배운 것들이 많았기 때문에 좋은 팀원들과 같이 나간다면 뭔가 좋은 결과가 나오지 않을까 기대를 많이 했습니다. 그래서 팀원 모집을 시작했습니다.

사실 팀원 모집은 생각보다 쉬웠습니다. 제가 신입사원 이었기에 제 주위에도 다 신입사원들만 있었고, 다들 뭔가 해내고자 하는 마음이 가득한 상태였습니다. 거기에 알코올만 조금 주입시켜주면 다들 실리콘밸리라도 갈 기세가 되었죠. 그래서 저는 실리콘밸리에 가기 전에 이 작은 회사의 경진대회 부터 우승하고 가는 것이 어떻겠냐고 설득하는 것만으로도 쉽게 팀원들을 모집할 수 있었습니다. 그래서 저는 술자리에서 옆자리와 앞자리에 있는 친구들으로 구성된 4인 조합을 만들 수 있었는데, 대충 모집한 것 치고는 다들 꽤 실력이 좋다고 소문난 친구들이었기 때문에 신입사원으로만 구성된 팀이라는 핸디캡은 무시해도 좋겠다는 생각을 했어요.

초반은 무척 순조로웠습니다. 일단 무엇을 만들것인가 아이디어를 도출하는 과정이 가장 중요했는데, 이 과정도 다들 적극적이었기에 생각보다 잘 풀렸습니다. 브레인스토밍을 열심히 하다 보니 중반을 지나자 뭔가 아이디어를 내기 보다는 내가 더 웃기다고 자랑하기 위한 애드립들이 난무하기는 했지만 제가 정신을 잘 차리고 있었던 덕분에 간신히 '이런 프로그램을 만들자'라는 결론을 내릴 수 있었죠.

저희가 만들기로 한 프로그램은 '데이트 코스 자동완성' 프로그램이었습니다. 이 프로그램은 어떤 시장성이나 성장가능성을 고려한 프로그램이 아닌 모두의 필요성에 의해 만들어진 정말 진심으로 만들고 싶어서 만들 수 있는 프로그램이었어요. 저희 뿐만이 아니라 저희와 같은 일을 하는 모든 사람들에게 이 프로그램은 굉장히 유용할 것이라고 확신을 했습니다. 만약에 대회 결선에 진출한다면 이런 식으로 프레젠테이션을 할 생각이었습니다.

"(조명을 낮추고 엄숙한 표정을 짓는다) 자, 저희 솔직해지죠. 여기 있는 분들 중 컴퓨터랑 대화하는 것 보다 이성과 대화하는 것이 편하신 분이 몇이나 있습니까? (3초 쉬고) 지금 당장 주말에 2시간 이상의 데이트 코스를 술술 만들어낼 수 있는 분 손 들어보세요. (아무도 손을 들지 않는다) 저희는 이 어려움에 주목했습니다. (장엄한 음악 시작) IT 업계 종사자들을 위한 혁신적인 데이트 코치 프로그램. 컨트롤 스페이스를 소개합니다 (조명 완전히 암전하고 소개 동영상 시작)"

저희 프로그램의 비전은 이랬습니다. 날짜와 위치 정도만 입력하면 코스를 자동으로 만들어주는 프로그램. 뭘 할지 모르는 사람을 위해서 연속성 있고 개연성 있는 패턴도 만들어주자. 이성과 대화하는 것이 어려운 사람을 위해서 최신 트랜드와 화제거리들도 미리 제공해줘서 예습할 수 있게 해주자. 이 정도만 완성되어도 우리는 정말 엄청난 프로그램을 만들 수 있을 것이라 생각했어요. 막 이거만 있으면 모든 두려움이 사라질 것 같았고 이건 경진대회가 문제가 아니라 내가 필요해서, 그리고 이 사회가 필요로 하는 프로그램이 아닐까 생각했습니다. 최종 발표회에서 우레와 같은 박수를 받을 수 있을 것이란 상상에 무척이나 행복해졌습니다.

저희는 프로그램 이름을 ^Space라고 지었어요. ^은 키보드의 Ctrl키를 표시하는 기호이고 바꿔서 말하면 Ctrl + Space를 같이 누르라는 의미로 직역할 수 있습니다. 소리내서 읽으면 컨트롤 - 스페이스가 되고요. 공간을 컨트롤한다 - 데이트 하는 공간에 대해서 내가 주도권을 가진다 - 이성에게 멋진 모습을 보여준다는 의미를 가지고 있는 이름이 되지요. 그리고 개발자들에게 Ctrl + Space는 굉장히 각별한 의미를 가지고 있는데, 모든 개발툴들이 적당한 글자를 입력하고 Ctrl + Space 키를 누르면 이후에 입력할 수 있는 선택지를 자동완성 시켜줍니다. 그래서 개발자들은 수도없이 Ctrl + Space를 누르면서 자신의 코드를 자동완성 시킵니다. 그런데 개발자들을 위한 데이트 코스 자동완성 프로그램의 이름이 Ctrl + Space이다? 세상에 이렇게 개연성 있는 네이밍이 있을 수 있을까요? 저는 이 이름을 제안한 것이 저라는 사실에 엄청난 자부심을 느꼈습니다.

원래 개발자에게 가장 어려운 순간이 뭔가의 이름을 짓는 순간인데 이름을 잘 지었으니 저희는 거침없이 전진할 수 있었습니다. 공간에 대한 프로그램이므로 기본적으로 지도 API를 사용해서 지도를 화면에 표시해줄 생각이었습니다. 그리고 업체정보 API를 이용하여 원하는 장소 근처의 업체들을 추천해줄 수 있을 것이라 생각했습니다. 여기에 디자인 패턴의 개념을 응용한 데이트 패턴이라는 새로운 개념을 제시했습니다. 물론 저희는 '데이트 패턴'이라는 아이디어를 처음 제시한 사람에게 경외의 박수를 보냈어요. 저는 그게 제가 아니었다는 사실에 무척 속상했지만 대승적인 차원에서 같이 박수를 쳤줬습니다. 어쨌든 팀의 승리가 중요하잖아요.

데이트 패턴이라는 것을 설명하기 위해서 디자인 패턴이라는 개념을 먼저 설명하자면, 디자인 패턴이란 건축학이나 소프트웨어 공학에서 나오는 개념으로 자주 사용되는 구조적인 형태를 일반화 시켜서 패턴으로 만들어서 정리해둔 것을 의미합니다. 모든지 완전히 새로운 창조를 시도하는 것은 많이 힘든 일이니 기존에 많이 사용된 패턴 중 적당한 것들을 골라서 재사용하고자 하는 개념입니다.

데이트 패턴은 여기에서 출발한 아이디어 입니다. 데이트에 미숙한 우리들을 위해서 데이트에 능숙한 선배들이 만들어낸 패턴들을 그대로 재사용하면 우리도 남들처럼 좋은 시간을 보낼 수 있지 않을까 하는 기대감에서 비롯되었죠. 예를 들면 저희는 '첫 데이트 패턴' '소개팅 후 첫 애프터 패턴' '안전추구형 보수적 데이트 패턴' '싸운 뒤 화해 패턴' '피곤한 직장인 커플 패턴' '저예산 데이트 패턴'등을 미리 정의해놓고 사용자가 날짜와 장소를 입력하면 패턴에 맞춰서 동선과 업체들을 추천해주는 기능을 제공해줄 수 있었어요.

데이트 패턴이라는 혁신적인 개념을 제시한 친구에게 질 수 없다는 생각에, 아이디어의 은행이 있다면 여기에 있지 않을까 싶을 정도로 저희는 경쟁적으로 아이디어를 내놓았습니다. 날짜를 입력하면 날씨를 알 수 있습니다. 날씨API가 있거든요. 그러면 날씨가 안 좋다면 실내 위주의 동선을, 날씨가 좋다면 실외 위주의 코스를 짤 수 있지 않을까요? 이미지 검색 API를 이용해서 옷 차림을 추천해주는 것은 어떨까요? 프린트 할 수 있는 대화 토픽 카드를 만들어줘서 대화 흐름이 막히면 슬쩍 보라고 할 수 있지 않을까요? '...음 그래서 한일 통화 스와프가 요새 화제인데 말이죠' 하는 식으로요.

대강의 아이디어가 모이고, 저희는 상세한 프로그램의 디자인에 들어갔습니다. 구체적으로 기능들을 어떻게 만들까에 대한 회의였죠. 아이디어가 혁신적이면 이걸 만드는 과정도 무척 재미있어지는데 그 시작이 상세 설계였어요. 기세를 몰아서 상세 설계 과정을 진행하고자 마커를 들고 화이트보드 앞으로 간 저는 순간 이렇게 말할 수 밖에 없었습니다.

"저...그런데 데이트를 하면 보통 뭘 하죠?"

님들의 침묵이 회의실을 휩쓸었습니다. 조금 전만 해도 아이디어를 경쟁적으로 인출해내던 사람들이 맞나 싶을 정도로요. 진행자라는 포지션을 차지하고 있던 저는 마치 저는 할 말이 있었지만 하지 않는 듯 "저기, 누가 말 좀 해보시죠?"라고 재촉했지만 전부 솔로였던 저희는 아무 말도 할 수 없었습니다. 순간 회의실을 활기를 잃었고 저희의 당면과제는 프로그램의 설계가 아닌 업무 도메인에 대한 이해가 되어버렸습니다. 프레젠테이션 때 "솔로 개발자 네 명이 그 누구보다도 절실한 요구에 의해 만들어낸 프로그램"이라는 문구를 추가하자는 아이디어 같은게 나오기는 했는데, 상황에 전혀 도움이 되는 말은 아니었죠. 뭐랄까. 가상 세계를 설계하는 듯한 기분이 들었습니다.

아무래도 진전이 없었던 저희는 일단 회의를 중단하고 다음에 다시 모여서 이야기해보기로 했습니다. 그래서 저는 동기들에게 우리가 이런 상황인데 좋은 생각이 있으면 좀 말해줘라 라고 메일을 돌렸습니다. 하지만 한 통의 답장도 받지 못했습니다. 하, 개발자놈들 진짜 너무하네. 라고 생각하며 저희는 아무 소득없이 다음 회의를 시작해야 했습니다.

여전히 진행되지 않는 회의를 진행하기 위해서 아이디어를 은행에서 인출하는 것이 아니라 사채에서 끌어오듯이 간신히 진행했으나 상세 설계는 여전히 잘 이루어지지 않았습니다. 이러다 아무것도 못하겠네 라는 분위기가 엄습해서 회의실이 침울해졌을 때, 저희 중 한 명이 갑자기 안절부절 못하더니 조심스럽게 이야기를 꺼냈습니다. "어...그런데 나 사실 여자친구가 생겼는데 먼저 가면 안 될까?" "네?" 아마 2010년 중 가장 제 눈이 커졌던 것 같아요. 물론 저희는 대승적인 차원에서 보내주기로 했고 - 데이트 코스 패턴 3개 이상 알아오라는 숙제를 주고 -  남은 세 명이 회의를 마저 진행하기로 했습니다. 하지만 다들 의욕이 엄청나게 떨어졌다는 감상을 서로 공유하고는 그냥 술이나 마셨습니다.

그렇게 떨어진 의욕은 다시 돌아오지 않았고, 개발을 하기로 했던 그 날까지도 뭘 어떻게 만들지에 대해서 확실한 답을 내놓지 못한 저희는 '프로젝트 실패!'를 외치고는 마음의 짐을 벗어 던질 수 있었습니다. 그리고 순간 시간이 많아진 주말에 마찬가지로 할 일이 없었던 동기들을 모아서 - 여자친구가 생긴 동기를 제외하고 - 술이나 마시기로 했죠. 데이트 코스 추천해달라고 할 때는 답장 한 장 없던 친구들이 술 마시자고 하니까 우루루 달려오더라고요. 이건 해피앤딩이라고 봐야 할까요? 

'프로그래밍' 카테고리의 다른 글

Ctrl + Space  (54) 2010.07.04
댓글
  • 이전 댓글 더보기
  • 프로필사진 컴공학생 세상은 실력만으로 되는게 아닌가 보네요.
    역시 경험이 중요한가 봅니다.
    읽다가 고개가 숙여지네요. ㅜㅜ
    그러고 보니 이번에 수강한 과목중하나에서 매쉬업을 과제로 냈는데 비슷한 프로그램을 보았습니다.
    단 이팀은 그냥 rand로 돌림...
    이것도 왠지 슬프네....
    2010.07.05 23:42
  • 프로필사진 June 아직 학생이시라면 지금도 늦지 않았습니다. 꼭 전공을 살려서 취직해야 되는건 아니에요! 2010.07.06 00:30 신고
  • 프로필사진 쎄미 성지순례 왔습니다.... 2010.07.06 00:39 신고
  • 프로필사진 June 솔로들의 성지라면 거부하고 싶네요..ㅠㅠ 2010.07.06 00:48 신고
  • 프로필사진 kalstein 하계수...인걸 보니 같은 회사 (혹은 그냥 그룹이려나...^^;) 인가보네요...
    저희 부서에 '데이트' 도메인에 대한 전문가가 계시는데... 사내 공지로 한번 띄워보지 그러셨어요. 우승하면 상품(or 상금)의 30%를 주겠다던가의 딜로...쿨럭;;;

    여튼 재밌게 읽었습니다 ^^
    2010.07.06 08:40
  • 프로필사진 June 왜 회사가 업종전문가들을 비싼 돈을 들여서 초빙하는 지 알것 같더군요..ㅠㅠ 2010.07.06 19:28 신고
  • 프로필사진 쿠우 아......
    가슴을 휘어파는 질문 한가지...
    "저..그런데 데이트를 하면 보통 뭘 하죠...?"
    전 언제 이 질문의 답을 구할 수 있을까요...
    2010.07.06 08:40
  • 프로필사진 June 저도 아직도 답을 찾지 못했습니다..ㅠㅠ 2010.07.06 19:28 신고
  • 프로필사진 행인_1 글을 재밌고 감성적으로 참 잘 쓰셨네요. 잘 봤습니다. 이런 글 모아서 책 한권 출판해도 되겠습니다. ^_^ 2010.07.06 08:43
  • 프로필사진 June 책..책으로 낼 정도면 앞으로 이런 일이 비일비재 해야 되는 건가요..ㅠㅠ 2010.07.06 19:28 신고
  • 프로필사진 분홍쓰레빠 제출 끝나면 나부터 써먹어 볼라고 했드만, 그것조차 허락해 주지 않는 이 상황은 무슨 아이러니일까 ㅠㅠ 2010.07.06 09:33
  • 프로필사진 June 아이러니 라기보다는 뻔한 시나리오..그래도 수고했어..ㅠㅠ 2010.07.06 19:29 신고
  • 프로필사진 루실리스 가슴 아픈 내용이지만 재밌게 잘 읽었습니다..

    하지만 전 커플당이네요.. ㅠ_ㅠ)

    PS - 다음 대회 때는 꼭 완성하시길 빌겠습니다!!
    2010.07.06 12:37
  • 프로필사진 June 예. 저희 아직 포기 안했습니다. 1년짜리 장기 프로젝트로 전환했어요. 2010.07.06 19:30 신고
  • 프로필사진 지누셩 댓글을 안달고 갈수가 없네요.
    정말 가슴이 찡한 이야기네요.... 응?
    2010.07.06 12:51 신고
  • 프로필사진 June 저희 가슴은 찡하다 못해 찢어집니다. 2010.07.06 19:30 신고
  • 프로필사진 sue 현실에서.. 회의실에서.. 팀장님하고도.. 밥 먹을때.. 회식할때.. 제발 이렇게 재미나고 조리있게 "말"을 하라고.. 체구와 안어울리는 겨들어가는 목소리와 썩소 말고.. !! 2010.07.06 14:23
  • 프로필사진 June 내가 아직 회의할때 애드립 날리기에는 짬이 안되서..ㅠㅠ 2010.07.06 19:34 신고
  • 프로필사진 누군가 (누군가 웃기다고 링크를 주셨는데... 슬픈얘기네요...ㅎ) 정말~매시업에 대한 스토리인줄 알고 창만 열어놓고... 하루가 지났네요. Comment 2일때 창을 열어 두웠나봐요. 클릭했더니 25건이 나와서... tist*ry 버그인가 잠시 생각을... 시간이 흐른다는 것을 깜빡했네요^^ 지금쯤 차기 매시업을 위해 데이트를 시작하셨길~ 2010.07.06 14:34
  • 프로필사진 June 그런데 그것이 실제로 일어나지는 않았습니다. 2010.07.06 19:31 신고
  • 프로필사진 MissFlash 댓글을 안달고 갈수가 없네요.(2)

    부디 천같은 여친을 얻으시길...
    2010.07.06 15:13
  • 프로필사진 June 천같은 여친은 어떤 여친인가요..ㅠㅠ 2010.07.06 19:32 신고
  • 프로필사진 MissFlash 천사같은... 이었습니다. :) 2010.07.09 10:00 신고
  • 프로필사진 청슈 우리회사 이야기래서 들어왔는데 뭔가 안습....;;;;;;
    [여친이랑 데이트 버전]도 좋지만 저는
    [우연찮게 생긴 주말시간 여친도 없는데 혼자 즐겁게 놀아보자 버전]이 더 절실하네요~;;;
    2010.07.06 16:07
  • 프로필사진 June 아..[ ^Space 자포자기 에디션 ] 인가요...? 다음 버전에는 싱글플레이 모드 탑재를 고려해보겠습니다. 2010.07.06 19:33 신고
  • 프로필사진 irod 어쩜좋아~ 고생했어요 토닥토닥...
    오늘 매시업 경진대회 투표하던데....
    글쓴이님의 어플리케이션이 올라와 있었다면 한 표 찍어드렸을 텐데.. 하는 진한 아쉬움이..
    ㅎㅎㅎ 담 기회를 노려 보심이..ㅋㅋㅋ
    2010.07.06 16:54
  • 프로필사진 June 내년에 대회가 개최되었을 때, 어디선가 익숙한 제목이 보인다면 한 표 부탁드리겠습니다..ㅠㅠ 2010.07.06 19:33 신고
  • 프로필사진 앗 우리회사 방금 싱글에서 경진대회 메시업 프로그램 추천하고 왔습니다~ ㅎㅎㅎ 2010.07.06 18:02
  • 프로필사진 June 저는 아직 괴로워서 추천페이지를 열어보지 못하고 있네요..ㅠㅠ 2010.07.06 19:34 신고
  • 프로필사진 The+Muser 데이트하러 떠났던 1인으로서 -_-a
    안그래도 이 글 블로그 스크랩 해가려고 했었는데
    야근 다 마치고 집에가서 해야겠군.

    우리 내년에는 1등합시다. 그전에 11월의 프로젝트부터 ㄱㄱ
    2010.07.06 20:04
  • 프로필사진 June 과연 내년에도 같은 대회가 있을까요..ㅠㅠ 2010.07.06 23:37 신고
  • 프로필사진 영후 아 이것은 슬픈 글이다...
    응원단에 다녀와서 죄송할 뿐이옵니다.
    2010.07.07 09:19
  • 프로필사진 June 내년엔 기대하겠음. 2010.07.12 22:25 신고
  • 프로필사진 bboks.net 성지 순례하고 갑니다.. 야근에 익숙해 지는게 두렵네요... ㅠㅠ 2010.07.08 00:22
  • 프로필사진 June 이미 야근에 익숙해졌습니다. 칼퇴가 생소해요..ㅠㅠ 2010.07.12 22:27 신고
  • 프로필사진 고양이신부 남자랑 대화하는것보다 컴퓨터랑 대화하는것이 쉬운 女 2인 여자들은 동성끼리도 데이트를 잘하니...옵션에 남남, 남여, 여여 이렇게 만들어주세요. ^__^ 2010.07.12 21:34
  • 프로필사진 June 저희도 분석할 때는 여여 옵션은 충분히 고려했어요.ㅠㅠ 남녀가 가는 코스와 크게 다르지 않을 것이라는 판단이었지요. 하지만 남남 코스는...저희가 만들고 저희가 쓸까봐 포기했답니다..ㅠㅠ 2010.07.12 22:28 신고
  • 프로필사진 몇년 전부터 인갤에서 봐오던 pct 성자님의 블로그를 우연하게 알게되어서 여러 글들을 훔쳐보다가(;) 갑니다.
    글을 재밌게 잘 쓰시네요. 정신 못차리고 빠져들어서 여러 글들을 읽었네요.
    2010.07.14 23:21
  • 프로필사진 June 감사합니다. 2010.07.16 00:36 신고
  • 프로필사진 후 인생.....ㅠㅠ 2011.09.23 17:03
댓글쓰기 폼