잡스 그리고 나

10월 7th, 2011

잡스에 대한 첫 기억은 초등학교 다닐 때인 듯하다. 당시 나는 아이큐2000이라는 MSX2 기종을 가지고 있었지만 애플2이라는 컴퓨터를 동경했다. 잡스와 워즈니악이라는 사람이 차고에서 만든 PC인데 타자기 같이 생긴 본체 뚜껑을 열면 확장 카드를 꽂을 수 있었다. 롬팩만 꽂던 나에겐 신선한 충격이었다. 하지만 애플2을 갖고 싶었던 가장 큰 이유는 울티마라는 게임 때문이었다. 울티마는 RPG의 레퍼런스 같은 존재로 당시 게이머들의 로망이었다. 하지만 애플2는 잡지에서 보는 걸로 만족해야만 했다. 아이큐2000도 만만치 않은 가격이었는데 애플2를 또 사달라고 하는 건 염치없는 행동이었다.

아이큐2000으로 열심히 게임하는 동안 몇년이 흘렀고 잡지에서 또다시 잡스를 만날 수 있었다. 잡스는 애플에서 쫓겨났고 다시 회사를 만들었다. 그리고 그곳에서 넥스트(NeXT)라는 컴퓨터를 만들었는데 검정색의 세련된 컴퓨터는 상상을 초월하는 가격이었다. 당시 나에게 넥스트 컴퓨터는 건담과 같이 비현실적인 존재였다.

그로부터 몇년 후 나는 다시 엄마를 졸라 XT를 장만했다. 아이큐2000과 달리 이 XT는 부팅하면 DOS 콘솔 화면이 떴다. 명령어를 하나하나 입력하다 보면 뭔가 전문가가 된 듯한 느낌이 들었다. 하지만 하는 거라고는 게임과 베이직으로 짠 가계부가 전부였다. 그래도 허큘래스 그래픽과 8비트 애드립 사운드를 들으면서 즐겼던 폴리스 퀘스트와 인디아나 존스는 정말 재미있었다.

나름 XT에 만족하면서 살고 있었는데 친구 봄길이네 집에 놀러가서 다시 한번 더 충격을 받았다. 봄길네 방엔 일반인이 흔히 접할 수 없는 매킨토시라는 놈이 있었다. 컬러 모니터에서 연출되는 화려한 윈도우 UI 그리고 게임들! 잡스가 만든 컴퓨터를 오랫동안 만져보는 건 처음이었다. 놀라운 경험이었다. 봄길이가 엄청 부러웠다. 이런 멋진 컴퓨터를 가지고 있다니!

어느덧 고등학생이 되었다. 잠깐잠깐 게임을 즐기긴 했지만 입시 때문에 컴퓨터는 점점 멀어져 갔다. 잡스란 존재도 자연스럽게 잊혀졌다. 그리고 무사히 컴퓨터 공학과에 입학했고 공돌이가 되었다. 용산에 가서 부품을 사고 집에서 열심히 조립한 후 DOS와 윈도우즈 3.0을 깔았다. 그리고 몇달 후 윈도우즈 95를 접했다. 윈도우즈 3.0과는 차원이 달랐다. 나는 마이크로소프트에 열광했고 빌게이츠는 나의 영웅이었다.

성적이 좋지 않았지만 졸업을 하고 엔씨소프트에 입사했다. 당시 엔씨소프트는 MS 친화적인 기업이었다. 회사의 모든 컴퓨터에는 윈도우즈 XP가 깔려있었다. 소문에 의하면 다른 회사의 디자이너들은 작업할 때 맥을 쓴다고 들었지만 직접 눈으로 확인하진 못했다 ㅎ.

6년 후 나는 엔씨를 나와서 델리마운트라는 회사를 만들었다. 많은 일들이 있었다. 2번의 실패 후 회사를 유지하기 위해서 용역 개발을 시작했다. 그리고 엄청난 갑을 만났다. 6개월짜리 프로젝트는 1년 2개월 넘게 진행되었고 잔금도 받지 못한 체 소송에 휘말렸다. 함께한 동료들은 각자 살 길을 찾아 떠났고 나는 혼자 남게 되었다. 미친 듯이 책을 읽었다. 그렇게 몇달이 흐르던 중 아이폰이 한국에 출시되었다. 경제적으로 힘든 상황이라 잠시 망설였지만 할부라는 달콤함 빠져 결국 아이폰을 지르고 말았다. 그리고 새로운 세계를 만났다.

때마침 절스군이 돌아왔고 나는 다시 꿈을 꾸었다. 이대로 끝낼 수는 없었기에 아이폰에 실낱같은 희망을 걸었다. 이 모든 것이 잡스가 나에게 준 선물처럼 느껴졌다. 경제적으로 어려운 상황이었기에 또다시 엄마의 도움으로 2008년형 아이맥 24인치 모델을 리퍼비시로 장만하게 된다. 아이맥은 간지 그 자체였고 옆에 있는 PC들은 볼품없이 느껴졌다. 처음엔 생소한 OS X의 UI에 불편했지만 조금씩 익숙해져 갔다. 그리고 어느 순간부터 구석구석 묻어있는 잡스의 디테일이 느껴졌다. 아… 잡스는 이런 사람이구나.

Objective-C와 XCode는 생소했지만 재미있었다. 한 자동차 수입 업체의 앱을 개발하면서 실전 경험을 쌓았다. 그리고 4월부터 리피 개발을 시작했고 같은 해 8월에 앱스토어 등록 신청을 했다. 리피는 실험적인 프로젝트였다. 몇년 만에 다시 시작하는 서비스 개발은 많은 용기와 경험이 필요했다. 새로운 기술과 트렌드를 적용하고 피드백을 받으면서 서비스 개발과 운영에 조금씩 익숙해져 갔다. 그러는 동안 미남1호곰썬이 합류했고 2011년 10월 커플로그라는 두번째 서비스의 오픈을 앞두고 있다. 그리고 앞으로 더 많은 사람들이 함께할 것이다.

개인적으로 잡스가 특별한 이유는 그 사람의 스타일 때문이다. 잡스는 매우 예민하고 자유로운 사람이다. 몇해 전만 해도 이런 성격은 CEO로 부적합하다고 했다. 하지만 잡스는 성공했고 지금 애플은 최고다. 그리고 애플이 지금의 위치까지 올라갈 수 있었던 건 잡스가 있었기 때문이다. (물론 잡스 혼자만의 노력은 아니다) 비록 내가 있는 곳이 캘리포니아는 아니지만 잡스는 나의 영웅이자 롤모델이다. 그리고 언제가 잡스의 빈자리를 채울 수 있는 사람이 되기를 오늘도 꿈꾼다.

Post to Twitter Post to Delicious

키포스 미분류

리피 제작 의도 – 채널이란 무엇인가?

8월 11th, 2010

정말 오래간만에 블로깅합니다. 트위터나 미투데이를 하면서 블로그에 소홀해진 점도 있지만 지난 4월부터 저희 회사에서 만든 리피(liipii)라는 서비스 개발에 집중하다보니 블로그에 글을 적을 시간이 부족했습니다. 사실 리피를 개발하면서 아이폰 및 레일스 관련 글을 몇개 적긴했지만 내용도 부족하고 정리도 안된 상태라 임시 저장 상태로 봉인해버렸습니다 ;;

리피는 채널(channel) 중심의 소셜 서비스(SNS)입니다. 기존의 트위터나 미투데이와 같은 소셜 서비스들이 개인 중심이라면 리피는 채널 중심입니다. 현재 리피는 아이폰 앱으로 먼저 출시되었으며 빠른 시일 내에 웹 및 모바일 웹 버전을 출시할 예정입니다.

요즘은 많은 분들이 트위터나 미투데이를 사용하지만 아직까지 트위터나 미투데이를 어려워 하시는 분들도 있습니다. 트위터나 미투데이의 가장 큰 단점은 처음 가입했을 때 별로 할 일이 없다는 점입니다. 구독자(follower)나 친구가 없으니 당연히 혼자 놀기를 할 수밖에 없습니다. 많은 경우 혼자 놀다 흥미를 잃어버리곤 합니다. 그러나 소셜시대라는 대세를 거스를 수 없다면 팔로우(follow) 또는 친구 신청 열심히 해야 합니다. 모든 일은 비용이 들기 마련이지만 당장 누군가와 대화하고 싶은데 그럴 수 없다는 것은 매우 안타까운 상황입니다. 바로 이 점이 처음 리피를 기획하게 된 이유였습니다.

만들지 얼마되지 않아 썰렁한 리피 트위터 만들지 얼마되지 않아 썰렁한 리피 미투데이

처음 만나는 사람들이 쉽게 친해질 수 있는 방법은 공통의 관심사를 찾는 것입니다. 우리는 흔히 모르는 사람(이성이든 동성이든)을 처음 만난 경우 이것저것 내용을 바꿔어 가면서 대화를 하다가 공통으로 좋아하는 주제가 나오면 해당 이야기를 이어가면서 서로 동질감을 느끼고 호감으로 발전해갑니다. 이런 패턴을 관찰하면서 채널을 이란 개념을 만들었습니다. 채널이란 특정 주제에 대해서 대화할 수 있는 공간으로 채팅의 채팅방에서 그 모티브를 가져왔습니다. 리피 안에 다양한 주제의 채널이 열려있고 누구든지 그리고 언제든지 관심이 가는 채널만 찾아 들어가면 공통의 관심사를 가진 사람과 바로 대화할 수 있을 것이라고 생각했습니다.

채팅은 실시간 대화인 반면에 트위터나 미투데이와 같은 소셜 서비스는 실시간이라고 보기는 어렵습니다. 물론 블로그와 같은 서비스와 비교해서 실시간 성이 강하며 스마트 폰의 앱들은 알림(push) 기능을 지원하기 때문에 거의 실시간에 가깝다고 볼 수 있습니다. 실시간 성이란 결국 속도감을 의미하며 속도감은 트위터와 같은 단문 대화 서비스의 핵심적인 요소입니다. 그럼에도 불구하고 트위터나 미투데이는 정확한 의미에서 실시간 서비스가 아닙니다. 그리고 실시간이라고 무조건 좋은 것은 아닙니다. 실시간이라는 것은 많은 집중을 요구하기 때문에 그만큼 사용 부담이 크다는 것을 의미하기도 합니다. 사용 부담이 크다는 것은 결과적으로 사용 빈도가 떨어뜨리는 요인이 됩니다.

아무튼 채팅의 채널이라는 개념을 소셜 서비스에 맞게 바꿀 필요가 있었습니다. 우선 채팅의 입장(join)이라는 개념을 빼버렸습니다. 채널이라는 것이 앱 또는 웹 상에 완전히 열려 있기 때문에 폐쇄적이고 번거로운 입장이라는 개념은 필요하지 않았습니다. 대신 구독(follow) 개념을 추가해서 관심 있는 채널의 대화 내용을 모아볼 수 있도록 기획하였습니다. 마찬가지로 채널이 열려 있기 때문에 누구든지 대화를 올릴 수 있도록 했습니다. 극단적인 경우 대화를 올리지만 구독은 하지 않는 경우도 허용하였습니다.

리피 채널 목록 나의 리피 (구독 채널 모아보기)

그리고 채널에 유효 시간이라는 개념을 추가하였습니다. 채팅의 채널은 마지작 참여자가 퇴장(quit)하는 순간 채널이 종료됩니다. 하지만 리피에는 입장이라는 개념이 없기 때문에 퇴장이라는 개념 또한 없으며 결국 채널은 계속 지속될 수 밖에 없습니다. 채널이 계속 지속되는 경우 실시간 성이 떨어지고 결국 속도감도 떨어질 수 밖에 없다고 판단하였습니다. 그래서 채널을 만든 시점부터 24시간 동안만 대화를 올릴 수 있도록 기획했습니다. 24시간이 지나면 더이상 대화를 올릴 수 없기 때문에 최신 대화 순으로 보여지는 타임라인 상에서 해당 채널의 대화는 더이상 노출되지 않게 됩니다. 물론 채널은 열려있기 때문에 언제든지 이전 채널을 찾아들어갈 수 있습니다.

지금까지 채널의 제작 의도에 대해서 정리해보았습니다. 개발하면서 이것거것 고민을 많이 했기 때문에 할 말은 많지만 글이 길어지면 적는 사람도 읽는 사람도 힘들어지기 때문에 이쯤에서 마무리하려 합니다. 아직 못다한 얘기는 다른 주제로 다시 포스팅하도록 하겠습니다.

이 글을 읽는 동안 리피에 대해서 관심이 생기셨다면 꼭! 리피를 써보시기 바랍니다. 리피는 아이폰 앱스토어에서 다운받으실 수 있습니다. 만약 아이폰이 없으시다면 조금만 기다려 주시기 바랍니다. 가능한 빨리 웹 및 모바일 웹 버전을 출시하도록 하겠습니다.

더불어 리피 아이폰 앱 등록 기념 이벤트가 진행중입니다. 많은 참여 부탁드립니다~

Post to Twitter Post to Delicious

키포스 미분류 , , , , , , , ,

프로그래머들이여, 캐치볼을 해라!

3월 22nd, 2010

요즘 다른 회사의 프로그래머와 협업할 일이 있어서 작업을 같이 진행하고 있는데 결과물을 보면 참 한심스럽다. 그 사람의 프로그래밍 능력도 문제지만 더 큰 문제는 대화 능력인 듯 하다. 요구 사항이 전달되지 않아 결국 제멋대로 넘어온 결과물을 우리 쪽에서 다시 맞추는 작업할 수 밖에 없다.

흔히들 프로그래머들이 소통 능력이 떨어진다고 한다. 기획자나 디자이너는 작업 흐름 상 자신의 작업이 끝나면 다른 사람에게 자신의 작업물을 넘겨주고 자신의 작업물이 최종 결과물에 잘 반영될 수 있도록 뒷 사람에게 소통을 시도한다. 그러나 프로그래머는 최종 결과물을 만드는 사람들이다(물론 그 뒤에 QA가 있기는 하지만 QA는 결과물을 확인할 뿐이지 제품을 만들지는 않는다). 그래서 프로그래머들은 상대적으로 소통의 필요성을 덜 느끼며 결국 다른 작업자들 보다 소통 능력이 떨어진다.

그러나 모든 프로그래머들의 소통 능력이 떨어지는 것은 아니다. 익스트림 프로그래밍(XP)에서는 프로그래머의 소통 능력을 매우 중요하게 생각한다. 고객과 개발자 간의 소통 능력 뿐만 아니라 프로그래머 간의 소통 능력에 대해서도 매우 중요하게 다루고 있다. 우리 회사에서도 짝-프로그래밍(pair programming)을 하기 때문에 프로그래머의 소통 능력을 매우 중요하게 생각한다. 나아가 짝-프로그래밍을 통해서 프로그래머들의 소통 능력이 많이 향상되고 있다.

대부분의 프로젝트라는 것이 여러 사람의 공동 작업이고 공동 작업에서 가장 중요한 것은 소통이다. 프로젝트 팀 구성원들 간에 얼마나 소통이 원활하냐에 따라 프로젝트 진행 및 결과가 결정된다.

소통을 잘 하는 방법은 간단하다. 잘 듣고 잘 말하면 된다. 우선 상대방이 전달하려는 내용을 잘 들어야 한다. 상대방의 생각을 충분히 이해한 다음 정리된 자신의 생각을 상대방에서 말하면 된다. 우리 팀은 이것을 야구의 캐치볼에 비유하곤 한다. 캐치볼은 2명(일반적으로)이 플레이어가 하나의 공을 주고 받는 행동이다. 공이 하나이기 때문에 내가 공을 받아야 상대방에게 공을 던질 수 있다. 대화도 마찬가지이다. 내가 나의 생각을 말하기 위해서는 상대방의 생각을 들어야 한다.

그리고 공을 던질 때엔 상대방의 가슴을 향해서 던진다. 상대방이 다음 동작을 잘 이어갈 수 있도록 하기 위한 배려이다. 대화도 마찬가지이다. 내가 하고 싶은 말을 아무렇게나 하는 것이 아니라 상대방이 잘 알아들을 수 있도록 최대한 배려해서 말해야 한다. 그러기 위해서 말하기 전에 듣는 사람의 입장을 생각해봐야 한다.

끝으로 상대방이 던진 공이 내 가슴을 향해 날아오지 않으면 내가 움직여야 한다. 상대방이 가슴을 향해서 던지려 해도 사람이기 때문에 원하는 곳을 공이 날아오지 못할 때가 많다. 특히 초보자의 경우엔 더욱 그러하다. 그래서 공을 받는 사람이 움직여야 한다. 만약 움직이지 않으면 캐치볼은 중단된다. 대화도 비슷한다. 상대방의 하는 말이 자신이 것이 아닐 때 감정 상하지 않고 상대방의 생각을 이해하려고 노력해야 한다. 그리고 대화를 계속 이어나아가야 한다.

요즘은 프로그래머들이 블로그나 트위터, 미투데이에서 많은 대화를 시도하고 있다. 하지만 아직까지 내가 경험한 프로그래머 중에는 소통 능력이 떨어지는 사람들이 많다. 인간은 혼자 살 수 없듯이 프로젝트도 혼자할 수 없다.

프로그래머들이여, 오늘부터 캐치볼을 해라!

Post to Twitter Post to Delicious

키포스 미분류 , , ,