철수네 소프트웨어 세상 [본점]

소프트웨어와 관련이 있다면 뭐든지 – I no longer work for Microsoft.

105개월을 정리하고

with 2 comments

매니저한테 이야기했으니 아무튼 그동안 궁금하셨던 분들, 이제 여기다 적을 수 있게 됐기에~ 지난주에 타블로소프트웨어에서 온 오퍼를 받아들여 시니어 소프트웨어 엔지니어로 조인하게 되었습니다^^ 퍼포먼스 전문가(?)라는 무거운 짐을 지고 옮기는 것이라 어깨가 더 무거워졌습니다.

옮기는 회사에 대해서 약간 설명하자면, DATA라는 멋진(?) 심볼로 몇주전에 상장한 회사이구요. 기본적으로 데이타+애널리틱스+비쥬얼라이제이션의 세가지 대세인 (버즈) 키워드로 설명되는 회사라서 마음에 들었습니다. 분야는 BI(Business Intelligence)로 분류하구요. 그러니까…(빅)데이타를 “쉽게” 분석/비쥬얼라이즈할 수 있는 소프트웨어를 만듭니다. 웬만한 데이타소스는 대부분 지원하고, 구글/페이스북등 알만한 소프트웨어 회사 여럿에서도 내부 데이타를 위해서 사용하고 있답니다. 제가 하게 될 일은 역시나 퍼포먼스 엔지니어링이구요, 제품의 특징이 기술 문외한도 쉽게 사용할 수 있도록 하겠다는 목표를 가지기 때문에, 제품이 얼마나 빠른가/빠르게 처리하는가하는 문제를 굉장히 중요하게 생각하나봅니다. 대량의 데이타를 몇시간 스크립트를 돌리는 수많은 제품들과의 차별화랄까요.

마이크로소프트라는 (다니기에는 더할나위 없이) 좋은 회사를 나와서 가는 것이 얼마나 의미가 있냐는 질문을 수도 없이 했습니다. 다른데로 옮긴다는 이야기를 접한 분들이 해주시는 이야기는 두가지로 나뉩니다.

  1. 왜 안정적인데다가 불만도 없는 좋은 직장을 그만두고 나오냐, 그냥 있어라.
  2. 자신이 하고 싶은 일을 해야지, 안해보고 후회하지 말고 나중에 후회하더라도 일단 해봐라.

블로그를 보시는 분들은 아시겠지만, 저는 일단 “안정”을 추구하는 사람입니다. 위로 올라가고 싶은 욕구도 그다지 없기도 하고, 그냥 제가 하고 싶은 일을 같이 할 수 있는 팀 하나 있으면 그게 최종 목표랄까요. 지금의 직장도 배를 잘만 타면 안정을 추구하기에는 더할나위 없습니다. 여기에서의 보통 소프트웨어 엔지니어의 임금 또한 굳이 우리나라와 비교하지 않아도 높은 편이구요. 복지를 포함한 장점을 이야기하다보면 길고 길겁니다. 아무튼 좋습니다.^^

그런데 뭐랄까, 자신을 커다란 기계장치의 톱니바퀴라는 생각을 자주하게 되었다고나 할까요? 물론, 누구나 어딘가에서 세상이 돌아가도록 하는 톱니바퀴이고, 그것에 꼭 나쁜 비유는 아닙니다. 하지만, 그렇다고 내가 톱니바퀴라는 생각을 가지고 살지는 않죠. 톱니바퀴가 빠지면 기계는 안돌아가겠지만, 문제는 그 톱니바퀴는 널려있고, 빠지면 비슷하게 생긴 톱니바퀴를 끼워넣으면 바로 돌아갑니다. 내가 아니면 안되는 일이란 없죠. 그것이 사실이든 아니든, 그런 느낌으로 일을 한다는 것은 좀 서글픈 일이지 않을까요. Bing에서 일을 한지 2년 반이 되었는데, 그동안 사람의 수는 기하급수적으로 늘어난 것도 그런 느낌에 일조를 했겠습니다. 오래다니면서 회사가 어떻게 돌아가느냐를 익히면서 알게되는 독이 번진 것인지도 모르겠습니다.

어떤 회사를 가던간에 그런 톱니바퀴 비유가 사실(fact)이라는 것은 바뀌지 않을겁니다. 하지만, 꼭 개인이 그렇게 느낄 가능성이 많은 문화가 꼭 필요한 것은 아니지 않겠습니까. 개인이 어떻게 느끼고 어떤 생각으로 다니느냐는 회사의 문화와 커다란 관련성이 있겠습니다. 마이크로소프트의 기업문화는 그 개인 평가 모델에서 기인하는 것 같습니다. 자세한 이야기는 하기 힘들겠습니다만, 개인적으로는 매년 평가때마다 그런 것이 마음에 걸립니다. 그렇게 해야만 좋은 제품이 나올리는 없고, 그렇지 않는 곳도 세상에 널려있습니다. 아이러니하게도 그렇지 않은 곳이 덜 안정적이고 더 치열한 곳일지도 모르겠습니다. 안정을 유지하기 위해서 노력하느냐, 하고 싶은 것을 하기 위해 노력하느냐.

그런 느낌은 개인의 느낌이겠습니다. 미국에서 다닌 회사는 이 하나이기에 이런 생각은 다른 회사를 다니는 입장에서 마찬가지일 수도 있구요. 여전히 이 회사는 많은 이들이 다니고 싶어하는 회사라는 것은 전혀 틀린 이야기가 아닙니다. 내년 9월이면 10년을 채우는데 말이죠, 그 정도 다녔으면 억지로 버틴 것은 아니지 않겠습니까. 이번달이 아마도 이 회사에서의 105개월째일겁니다.

또한가지, 위의 <분류1>이 더 크게 다가온 이유는 우리나라의 문화에도 큰 영향이 있을겁니다. 우리나라는 그놈의 “근속”이 중요한 나라입니다. 오래 다닐수록 생기는 이득이 큽니다. 예를 들어서 퇴직금이라든지, 근속 연수에 따른 보너스, 그리고 연금 등등. 그런 환경에서 자랐기 때문에 그런 이야기를 해주는 것도 그런 이야기가 와닿는 것도 당연할 것입니다. “안정”이라고 하면 그것이 큰 부분을 차지하겠죠. 하지만, 이 곳에서는 그런 큰 메리트가 없습니다. 되려, 옮기면 아쉽지만, 그 사람이 다른데서 좋은 경험을 하고선 다시 돌아올 수도 있는 것은 타당한 가정이겠죠, 그런데 옮긴다고 후지게 대우를 하면 다시 돌아오고 싶겠습니까. 후회를 한다면 다시 돌아가면 됩니다.

좋아하는 일(퍼포먼스엔지니어링) + 좋은 키워드(데이타+비주얼라이제이션) + 적당한 대우(연봉+직책/급) + 나 개인에게 적절한 문화(스타트업과 대기업의 중간쯤) + 넉넉한 회사(갓 IPO) + 알파. 이 정도면 움직일만하지 않겠습니까.

1995년 5월의 처음으로 내가 직장에서 뭔가를 만드는구나 하면서 받은 느낌을 다시 느낀다는 사실에 두근두근합니다. 성장하면서 생기는 영향력이 다르기에 – 그 무게도 다르겠죠 – 그 느낌도 다르겠지만 여전히 매력적인 느낌입니다, 뒤돌아서 생각해보면 말이죠. 그런 것을 놓치는 후회는 안하려고 합니다. “차라리”라는 말도 너무 가볍습니다. 그런 것을 느낄 수 있는 입맛에 맞는 좋은 기회를 주겠다는데 마다하는 것은 예의가 아니겠죠.^^ 아직 그런 것을 거부하고 안정을 외칠 정도로 많이 살지를 못했습니다. 해서 인생에 획을 하나 또 딱 그어봅니다.

앞으로 장삿꾼마냥 제품에 대해서 자주 이야기하더라도 이해해주시길~ ㅎㅎㅎ

Written by charlz

2013년 6월 3일 at 오후 2:24

PersonalStuff에 게시됨

40을 향한 31

leave a comment »

누군지는 모르겠지만, 언젠가 어떤 연예인이 가장 이쁠때 누드집을 찍어서 남겨두는 것에 대한 이야기를 한 기사를 본 것 같다. 그 피크인 시절/시점을 아름답게 남긴다는 그런 뉘앙스였을것같다. 꽤 오래전이다. 하도 누드집이 판을 쳐서 웬간한 경우가 아니고서는 누드집을 낸다는 것은 그다지 의미가 없을지도 모르겠지만, 그런 것을 이야기하려는 것은 아니다.

전에 31이 되면서 40이라는 나이를 생각해보게 되었다. 딱히 30대라는 어떤 감상이나 흔히 이야기하는 “30이라니!”가 없었기에, 30때는 아무 느낌이 없었고, 31가 되어서 그런 생각을 했다. 40이 되는 순간, 되돌아본 10년이 어떤 모습이어야할까. 어떤 모습이고 싶은걸까. 마흔살 개발자..(혹은 마흔살 관리자?).

20살이 돼서 30살을 그렸던 것처럼 30대를 접어들면서 생각해본 마흔을 그려보면, 웬지 그 흔한 개발자 스테레오타입이 떠오른다. 운동이라고는 회의실로 오가면서 걸어다니는 것 외에는 거의 없는데다가, 처자식과 업무로 얼룩진 삶의 무게에 찌들은 모습이랄까. 40살의 나는 나를 바라보면서 “내나이 되어봐라”하고 간이 안좋은지 황달기의 눈으로 나에게 한마디 던지는 것 같았다. 생각이 너무 극단으로 멀리 간것일지도 모르겠지만, 그놈의 개발자 스테레오타입

간이 안좋고 위가 안좋고 허리가 안좋고, 주변에 선배들의 모습(나는 그런 선배들이 주변에 더 많았던 것일까)에 더더욱 그런 생각이 더 생생하게 다가왔다. 역시 30대 계획은 건강에서 출발해야된다! 밥을 남기는 것처럼 20대때의 체력을 남기는 것이 아까워 바닥까지 써버린 것을 40대를 위해 쓰면서도 좀 남겨서 저축해야되는 시기랄까.

가장 이쁠때는 아니지만 아마도 인생이 뭔가 조금은 익어가기 시작할 무렵, 나는 넉넉훈훈한 아저씨가 되어있을 것인가 아니면, 거울을 보면서 자신이 싫은 그런 지경이 되어 있을 것인가 아니면 건강하게 먹고 체력을 가꿔서 흐뭇한 정신과 몸매로 마흔이라는 방점을 찍을 것인가. 뭔가 밝은 얼굴일까, 아니면 퀭한 다크서클을 뽀샵을 가려야되는 그런 결과이게 될 것인가. 내가 무슨 누드집을 찍겠다는 것은 아니고 – 뭔 민폐냐그게 – 40살되는 해에 잘 찍는 사진사를 고용해서 내 모습을 찍자는 생각을 했다.

마흔에 찍은 사진을 서른의 나에게 보낼 수 있는 공상과학적인 방법이 있다면야 모를까, 사진을 찍는 그 순간에 있어서는 그렇게 큰 의미는 없을 것 같다. 하지만, 마흔에 찍을 사진을 위해 서른의 10년을 준비하는 마음을 다지기 위해 생각해본 계획이었다고 할까. 뭐 어차피 내 외모는 정해져(누구보라고 성형할텨?) 빼도 박도 못하는거니까 상관없고, 그보다는 내가 얼마나 내 몸과 마음을 건강하게 잘 가꾸고 유지하느냐에 따라서 내 얼굴에 그리고 내 모습에 그 세월이 담겨서 찍히게 되겠느냐는 그런 맹랑한 생각.

현실적으로야 물론 내공의 사진작가라면 뭔가 장점을 담은 사진을 남겨줄테니까 이러나 저러나 10년의 세월보다는 그분의 실력이 그 사진들을 더 좌우하게 되겠지만서도, 그런 좌뇌스런 생각은 제쳐두고 좀 더 멋진 나이에 대한 로망으로 바라보면서 그 10년을 가꾸면 뭔가 참 흐뭇한 인생이지 않을까. 사진은 내일이라도 찍을 수 있지만, 계획해서 찍는 사진이라면 게다가 10년전 계획해서 찍는 사진이라면 뭔가 비장하게 찍을 수도 있을 것 같다.

별것 아닌 계획 아닌 계획이지만, 오늘도 몸과 마음 모두 고이고 해이해지지 않게 그런 마음의 고지를 향해서 뛴다.

Written by charlz

2013년 5월 5일 at 오후 10:58

Uncategorized에 게시됨

그냥 개발자

with 12 comments

나는 개발자다. 기억도 안나는 7살 이전부터 베이직 개발자였다. 그런데, 나는 코딩에는 소질이 별로 없다. 평생 프로그램을 짜왔는데, 평생 컴퓨터를 사용해서 문제 해결하는 능력만 키워왔는데, 이상하게도 코딩에는 소질이 없다. 코딩에 소질이 없는데도 지금 여기 이 소프트웨어 회사에 흘러들어와 코딩을 하고 앉아있다. 새벽 2시에.

왜 나는 코딩에 소질이 없다고 생각하는걸까.

하나. 십년도 더 차이나는 친구들이랑 경쟁하고 있으면서 드는 생각이, 아! 내가 저때에도 저만큼은 했는데…근데 지금도 그만큼하네. 젠장. 코딩실력이 늘었냐하면, 그건 그다지이다. 지식/경험 이런건 짬밥이 늘었을지는 몰라도, 코딩 DNA따위는 없다.

둘. 남들은 인문학하다고 오고, 물리학하다가 오고, 미술하다가 오고 그런데도 코딩 잘한다. 난 컴퓨터공학 전공하고 평생 코딩만했는데, 그렇게 엄청나게 차이나지 않는다. 남들보다 훨씬 빠른것도 아니고, 남들보다 단축키를 더 아는것도 아니고, 남들보다 레퍼런스를 덜 보는 것도 아니다.

셋. 남의 코드를 보는 능력이 늘었다고 지 코드가 훌륭해지는 것은 아니다. 완벽한 코드를 추구하는 개발자들이랑 있으면, 참…경쟁하고 싶지가 않다. 완벽보다는 실용이다. 역시 그런 생각에 코딩은 별로 늘지를 않는다. 그런 생각이 있는게 코딩에 소질이 없는게 아닐까.ㅋ

그런데, 왜 코딩을 하고 있냐하는 심오한 질문에는 답이 있다. 평생을 좋아서 하고 있으니까. 남들이 내 코딩 실력을 평가할 일도 별로 없거니와, 평가받아서 기분나쁜 상황은 없고 대신 더 잘할 수 있는 여지가 많음에 더 신난다. 신나서 하기에 졸려 죽겠지만 새벽 2시에 내일 아그들이 빨리 처리하라고 코드리뷰 3개를 보내고 있다.

코딩 실력따위, 소질따위 알게 뭐냐. 잘난 수학 천재들 박사들 천지면 뭐 어때, 좋은 대학 성적 좋은 애들한테 둘러쌓여 가랑이 찢어지면 또 어떠냐. 나는 다른거 생각해본적이 없는 코딩 실력 맴도는 그저그런 후천적인 개발자다. 그래도 좋다. 뭐 코딩은 뭐라건 개발자로서는 서당개마냥 중간은 하니까 안짤리고 남아있는거 아니겠나.

괜히 애틋하게 사랑고백하고 싶은 밤이라 고백해본다.

– 2013/04/26

Written by charlz

2013년 4월 26일 at 오전 1:44

Uncategorized에 게시됨

그리고 페이스북 그래프 검색, 문을 열었다.

leave a comment »

역사상 기술의 발전이 펜듈럼(Pendulum)처럼 왔다 갔다하는 예들은 수없이 많다. 어느쪽으로 흐르는 듯 하더니 이내 다시 저쪽으로 흐른다. 더 작아지기 위한 경쟁을 하더니 더 커지기 위한 경쟁을 한다. 풀파워 PC가 대세인가 했더니 스마트폰에 다 들어있는 모바일 컴퓨팅이 대세다. 스토리지 디바이스들이 편해지면서 데이타가 안방으로 들어오는듯 하더니 다시 클라우드란다. 디렉토리형의 포털이 최강이라고 야후가 뜨더니 검색이 최강이라고 구글이 눌러버린다. 왔다 갔다, 흐름을 잘 파악하는 놈들이 항상 최고가 된다.

하지만, 근래에는 이 펜듈럼이 너무 빨라 더이상 펜듈럼이라고 부를 수가 없을 정도가 된 것 같다. 작아지는 속도도 커지는 속도도 서로 우리가 다음 단계라고 외치면서 IT역사가 쓰여지고 있다. 큰 것이 목표이면 더 크게 작은 것이 목표이면 더 작게, 둘의 밸런스가 목표이면 끝장나는 엔지니어링으로, 세상의 문제들을 풀어나간다. 커지다 못해 작은 것을 엮어서 크게 만들고, 작아지다 못해 나노 크기의 로봇을 만든다. 펜듈럼이라고 하기 힘든 이유 중 하나가 그 중간 지점의 disruption이 여기저기서 동시다발적으로 일어나는 이유도 있고, 크건 작건 서로 convergence 현상이 두드러지기 때문에도 그럴 것이다. 뭐 당연히 이런 현상의 기저에는 인터넷의 역할이 지대했을 것이다. 커지는 트렌드면 작아지는 놈이 묻혔고, 작아지는 트렌드면 커지는 놈이 묻혔지만, 인터넷은 더이상 트렌드를 이렇게 한쪽으로 놔두지 않을 네트웍을 만들었다. 다를 것 같은 두 노드에 링크가 생기면서 단순히 노드에 링크가 생기는 것 뿐만아니라 두 노드가 속한 다른 네트웍이 합쳐지게 된다. 새로운 트렌드에 의해서 새로운 연구가 생겨나고, 새로운 연구는 생각치 못한 결합으로 이전과 다른 방법으로 발전해간다.

현대의 기술에서 개인이라는 것이 더 부각되는 것은 이런 이유에서일 것이다. 이전의 나는 거시적으로 항상 통계의 일부일 뿐이었다. 세일즈 데이타에서 +1이었을 뿐이고, 웹사이트에 수십만 클릭 중에서 하나의 클릭이고, 어떤 트렌드에 리트윗 하나더였고, 게시판에 불평을 하나 올린 한 글쪼가리였었다. 하지만, 이제는 다르다. 개인과 통계의 사이는 더이상 펜듈럼 관계가 아니다. 개인이 부각되는 정도는 이전보다 커졌고, 통계를 움직일 수 있는 요소로 개인이 더 중요한 위치가 되었다. 10년 아니 20년전부터 개인화(Personalization/Customization)를 위한 기술이 뜰 것이라고 떠들어댔지만, 정작 개인화 서비스는 그것을 전면에 내세운 경우 제대로 뜬 것이 “한가지도” 없다. 하지만, 지금 여기에 와서 드디어 개인을 개인 데이타를 가진 한 개체가 아닌 네트웍 상에서 영향을 미치며 살아가는 개체로서 개인화라는 것이 말이 된다는 것이 보이고 있다. 즉 개인을 붕 떠있는 숫자가 달린 개체가 아니라 에너지를 발산하고 받는 전체 안에서의 존재로서 인정하는 기술로 변모하고 있다는 이야기다.

내가 하나의 숫자라면, 그 숫자는 무엇에 의해서 정해질까. IQ라면 얼마, 키라면 얼마. 이 숫자는 상대적으로 봐야할 숫자들이다. 나를 독방에 있는 한 사람으로 생각하고 “개인화”를 하면, 그게 얼마나 개인화된 것일까. 오늘 IQ를 재고 좀 더 지나고 나서 IQ를 또 재면 같게 나올까? 대상을 2명으로 늘려보자. 2명을 두고 둘의 숫자에 맞춰서 다른 서비스를 하는 것이 “개인화”이다. 하지만, 이 둘을 상대적으로 바라보면 또 다른 숫자이다. 단순히 이 둘의 숫자 각각으로 각각 다른 서비스를 제공하는 것이 아니라, 둘의 상대성으로 서비스를 하는 것이다. 예를들어 A와 B 둘이라고 하자. A가 키가 커서 큰키에 맞춘 서비스를 했다고 하자. B는 A보다 수치적으로 크다고 수집했다. “개인화”서비스라면 둘다 “같은” 큰키 서비스을 받을 것이다. 하지만, 상대적인 키를 생각하면 A는 큰키 서비스, B는 더 큰키 서비스를 제공한 것이 제대로된 “개인화”가 아닐까. (굳이 키를 예로 든 것은 매우 랜덤하다. 정말.) 이것이 둘이 아니고 셋, 스물, 백삼십, 이렇게 늘어났다고 상상해보면 그 속에서 나의 상대성, 그리고 나의 영향력이 이전보다 커졌음을 생각해볼 수 있다. 홀로 독방에서 산다면 상대성이 필요없겠지만, 현실은 그렇지 않다. 난 친구들 그룹에 따라 크기도 하고 작기도 하다. 어떤 서비스를 하기 위해서는 그 개인에 촛점을 맞추는 것은 그 상대성을 가져야되는데, 이는 쉽지 않다. 그것이 “개인화”였다.

대충 15년전 페이지랭크 한가지 신호를 가지고 구글은 검색엔진을 만들고 사람들에게 효과적이라는 호응을 얻었다. 물론 “개인”이라는 요소보다는 “링크” 즉 “페이지”를 주체로 하는 패러다임이었지만, 개인의 신호가 통계적으로 묻어있는 그 신호를 잘 활용하는 것으로 이런 상대성이 얼마나 효과적인 것인가를 증명했다. 그리고, 지금의 검색 엔진은 “페이지”나 “클릭”같은 기계적인 신호 수백가지를 가지고 더 나은 결과를 보여주기 위해서 열심히 삽질중이다. 물론 이런 검색엔진도 수없이 “개인화”를 시도했다. 위에서 언급한대로 개인의 정보를 사회적인 개인이 아니라 독립된 한 개인의 정보로 취급하는 방식으로. 모든 인간이 각자 자기 섬에서 살고 있는 것으로 가정한 방식으로. 이 사람은 이런 검색을 많이 했으니 이런 결과가 더 효율적이겠지식으로. 하지만, 이는 역시나 인과관계에서 결과를 바탕으로 유추한 기계적인 신호이다. 하다못해 엄청난 양의 데이타를 수집하는 구글 애널리틱스도 광고를 기준으로 하는 기계적인 정보를 수집하는 도구였다. 이를 토대로 개인을 분석하고 유추하지만, 여전히 기계적인 신호이다.

이렇게 사용자의 의도를 캐내서 그에 맞는 결과를 제공하는 서비스들에게 있어서 가장 중요한 것은 “문맥”이다. 이 문맥(분야에 따라 다르게 부르기도 한다)은 다양한 신호로 계산하여 추정하거나 유추된다. 하지만, 어떤 답을 추정하는 것과 사용자가 제공하는 것의 차이는 극명하다. 그것도 사용자의 동의 없이 수집했다가는 큰일난다. 똑똑한 구글이 이를 눈치 못챌리가 없지만, (당연히) 기존의 것을 버릴 수는 없었고 갑자기 사용자들에게 스탠스를 바꿀 수도 없었다. 그러는 새에 페이스북은 그런 데이타를 처음부터 수집할 요량으로 이를 꽉깨물고 마구 수집해갔고, 구글은 도저히 안되겠다! 구글에 뭘 좀 더하자(구글+) 생각한 것이 아니겠는가.

페이스북에는 자발적인 문맥 신호들로 가득하다. 내 나이나 생일, 내가 갔던 곳, 내 친구들 등 explicit한 정보에서부터, 내가 좋아하는 것들, 내 사진속 묻힌 정보들,  내 친구들이 들은 음악들 중에서 선호하는 것들등의 정보를 사용자가 “마구” (반)자발적으로 제공한다 – 구글은 수집에 익숙해있지만, 페북은 사용자들이 자발적으로 “제공”하도록 하는데에 익숙하다. 이들은 기계적인 신호가 아니다. 위에서 예를 든 A와 B처럼 개개인의 상대성과 비슷한 신호이다. 소셜이라는 기술적인 요소는 단순히 한 개인이 소셜한 활동을 할 수 있다는(혹은 있도록 enable한다는) 의미가 아니라, 개인을 독방에서 사는 개인이 아니라 소셜한 개인으로 보고 서비스를 한다는 의미가 있다. 개인이 이전보다 더 소셜해진 것이 주가 아니라, 개인은 이미 소셜했는데 그런 요소는 개인을 파악하는데에 사용하지 못하고(혹은 안하고 혹은 할 생각 조차 못하고 ) 있었다는 것이다. (아직도 많은 “소셜”서비스가 개인을 홀로 독거하는 사람으로밖에 취급하지 않은 경우가 많다.)

페이스북에 왜 검색기능이 없는가에 대한 이야기는 오래전부터 나왔다. 검색엔진에서 수집도 못하고, 검색서비스를 제공하지도 않고. 옛날에 무슨무슨 포스팅을 했었는데, 기억이 가물가물하네…페북의 대답은, 그냥 잊어라…혹은 타임라인에서 하루종일 찾아보든가. 가까운 미래에 추가될 수 있겠지만, 여전히 그 기능은 없다. 페북에서 웹검색? 빙(Bing)검색 결과를 보여주겠다. 혹은 그냥 Bing의 소셜기능이나 구글을 써라. 하지만, 구글이 기존의 검색 방식에 발목이 잡혀있는동안 대신 우리는 이런거 만들었다: 그래프 검색.

그래프 검색은 기존처럼 페이지나 쿼리 기반의 가중치를 둔 검색 서비스가 아니고, 자발적으로 제공된 (그리고 이를 통해 연결된) 그래프 데이타를 기반으로 만든 특정 신호 검색이다. 일단 페북에서 검색을 한다는 자체가 전혀 다른 문맥이라는 점을 캐치한 것이기도 하다. 네이버처럼 올인원을 원하는 것이 아니라면 – 그것이 모바일로 넘어갈때 아이덴티티가 흔들리는 문제로 이어지는 것일 수도 있다 – 굳이 페북에 일반 검색같은 결과를 보여주는 것이 얼마나 효과가 있을까. 기존 검색과 직접적으로 경쟁하는 것이 아니라 공존하는 기능이다. 어차피 “내 (페북)친구가 좋아하는 레스토랑은?”이라는 검색은 검색엔진에서 답을 주지 못하는 섹터이다. 페북 그래프 검색은 처음에는 4가지 종류의 결과를 제공한다고 한다: People, Photo, Places, Interest. 4가지밖에 안된다고 하지만, 이 4가지가 얼마나 큰 것들인지는 어렵지 않게 알 수 있다. 사람/장소/좋아요 검색은 이미 단순 이름 매칭으로 맨위의 검색창에서 일부 가능했고, 사진은 인스타그램을 인수한 페북이니 중요한 한 축이다. 이 기존의 방식에 날개를 단 격이다.

페북 그래프 검색은 사용자들이 자신들의 신호를 더 정제하는 것에 잇점을 제공하는 서비스이다. 알지 못하는 사람의 레스토랑 리뷰와 아는 사람의 레스토랑 리뷰의 차이랄까. 기존의 검색 엔진들은 전자를 (수집해서) 제공했고, 페이스북과 빙의 결합은 후자를 제공하게된다. 검색 엔진은 문서와 링크를 타고 다니면서 정보를 수집하고 문맥을 유추한다. 지식그래프 검색은 사람들이 제공한 정보를 타고 문맥을 제공한다. 소셜 서비스내에서의 검색로써는 분명 정보의 신뢰성에 차이가 있을 것이다. 게다가 명사/동사 기반의 오픈 그래프의 확장도 생각할 일이다. 사람이 키워드, 아이콘, 브랜드, 프로필사진, 등등 하나의 대표성으로 생각하는 경향도 장점으로 작용한다. 검색된 문서 결과가 수천만 혹은 수억 페이지면 뭐하나. 이걸 다 볼건 아니지않나.

물론 문제는 산재해 있다. 영어 자연어 검색이니 다른 언어는 어떻게 될런지도 모르고, 또 개인정보의 공개 비공개의 이슈가 또 있고, 거기에 이를 모네타이즈하게될 것이 뻔한데 그에 대한 걱정도 있다. 그래프검색 SEO도 나올 것이고, 검색 결과에 광고가 뜨면 일반 검색결과 페이지보다 흉(?)할 수 있다. 개인정보 속에 광고가 들어가는 것은 더 민감할 수 있는 사안일 것이다. 개인적으로 타임라인에 Sponsored 포스트가 나오는 것에 대해 굉장히 불만이 많기도 한데 여기도 마찬가지일 것 같다. 어떤 사람들에게는 좋아요를 누르지 않았는데 누른 것처럼 나오는 경우도 많다고 하고, 또 사망한 사람이 좋아요를 누를 경우도 있다고 하는데, 이런 노이즈 신호들은 더 정확한 결과를 보여줘야하는 이 검색 서비스에서 더 증폭될 가능성이 크다. 더불어, 여기서 검색되는 데이타가 엄청나게 크지만, 모두 페북 내의 데이타라는 점도 단점이 될 수 있다. 유행이 지나서 페북을 덜 쓰게 된다면 데이타의 신뢰도는 시간축 신호로 인해서 낮아질 수도 있는 일이다.

마지막으로, 아마존 같은 서비스를 생각해본다. 아마존은 강력한 컨텐트를 가지고 있다. 제품의 팩트와 함께 제품 리뷰와 구매정보 그리고 선호 데이타이다. 하지만, 간단히 내 친구의 제품 리뷰로의 연결은 쉽지않다. 추천하거나 선물하거나 혹은 목록을 만들어서 공유하는 등은 할 수 있지만, 페북과 같은 서비스가 쉽지 않다. 아직도 개인은 독방에서 살고 있고, 옆방의 개인과는 벽을 통해서 간간히 이야기를 할 수 있다. 하지만, 그래프 검색과 같은 서비스가 좀 더 확장될 수 있다면, 이런 정보에 날개가 달릴 날은 멀지 않은 것 같다. 또다른 disruption을 기대해본다. 어차피 내 정보를 가져갈 것이면 기왕이면 제대로 활용 좀 해주라.

Written by charlz

2013년 1월 16일 at 오후 6:34

Uncategorized에 게시됨

R.I.P Aaron Swartz

leave a comment »

하루에 약 150,000. 십오만명이 사망한다. 이 중에서 50,000명이 나이때문이 아닌 이유로 사망한다.

그리고, 이 중에서 100명이 – 아쉽게도 우리나라에서 가장 많이 – 스스로 목숨을 끊는다.

이들 죽음 모두가 슬픈 일이며, 어떤 상황이었건간에 소중한 한 목숨이었으며, 어떤 경우이건간에 스토리를 가지고 있고 무언가에 의한 희생이다.

하지만, 우리는 매일 100이라는 큰 수의 소중한 이야기에 귀를 귀울일 수 있는 방법이 없고, 알고자해도 알 수가 없다. 단지 그 전체를 대변하여 부각되는 우리의 귀에 들어오는 소식을 통해 슬퍼한다.

오늘도 내가 잘 모르는 한 사람이 그런 선택을 했다는 소식이 인터넷상에 울려퍼진다. 이야기꾼이 전한 글에 관심을 갖지 않을 수 없었다. 그는 그의 죽음으로 본적도 없는 나에게 한마디를 던진 것이고, 나는 이 사람 그리고 다른 모든 죽음에 잠시나마 시간을 멈추고 슬퍼한다. 듣지 못한 다른 이야기들을 애도하며, 들리는 이야기에 귀를 귀울인다.

이 사람은 이렇게 죽음으로 이야기를 전하려한 수많은 사람들의 이야기를 듣지 못하게 하려는 사람들에 대한 저항을 한 사람이었고 이것이 아마 그의 메시지였을 것이다.

죽음 이전에 그가 한 일에 작은 경의를 표한다.

모두 R.I.P.

Written by charlz

2013년 1월 12일 at 오후 6:01

Uncategorized에 게시됨

야근의 고리

with 5 comments

뒤늦게 제니퍼소프트 이야기들을 읽는다. 여러가지 다양한 (신기한) 복지들을 보면서 이들은 이 회사의 고유한 것들이라는 생각을 하지만, 7시간 근무에 대한 사람들의 열광적인(?) 부러움(?)이랄까…이 부분은 제니퍼소프트만이 가능한 것이 아니란 생각을 했다.

7시간은 커녕 8시간도 모자라 야근하는 환경. 마치 서울의 야경이 우리나라의 야근환경의 오마주처럼 회자되는 농담을 하는 것을 보면서, 씁쓸한 생각에 그 원인이 무엇일까에 대해 생각해본다. 야근은 끝내야할 업무를 끝내지 못하고 시간 외로 일을 하는 것이겠지. 물론, 야근 수당때문에 남는 사람도 있고, 고과를 위해 마지못해 남는 사람도 있고, 상사가 퇴근하지 않아서 퇴근하지 못하는 사람도 있을 것이겠지만, 이는 개발자들이 야근을 많아하는 것으로 생기는 불만과 조금 거리가 멀 것이라 생각된다.

지속적인 야근이란 잘못된 업무 대비 시간 estimate(추정?산정?) 방식의 답습에서 오는 문제가 아닐까 하는 생각을 해봤다. 내가 근무하는 이곳에도 야근은 당연히 있지만, 지속적인 어떤 일상이라기 보다는 자신의 잘못된 estimate으로 인한 페널티로 다음에는 제대로 할 수 있는 배움이기도 하고, 혹은 자신이 선택해서 하는 야근이 대부분이다.

대개의 estimate은 다음과 같이 이뤄지지 않을까:

  1. “언제까지 이거이거해 해” – 기간이 주어지고 업무가 주어진다. 선택이 없다.
  2. “이거이거 언제까지 할 수 있나” – 업무가 주어지고 기간을 정한다.
  3. “이때이때까지 얼만큼 할 수 있나” – 기간이 주어지고 업무를 조율한다.

야근개발자의 뿌리를 근절하기 위해서는 1이 계속 반복되어서는 안된다. 하지만, 우리나라의 상황은 2와 3을 키우기 많이 힘든 것 같다. 애초에 감각이 있어서 이를 빨리 캐치할 수 있다면야 모를까, 그 능력을 키우기위한 환경이 아니기에 빨리 습득할 수 있을리가 없다. 아쉽게도 1이 많고 2와 3의 능력을 기르지 못하는 한에는 야근은 반복되기 쉽다. 시간내에 할 수 있는 능력치를 자신도 모르고, 우격다짐으로 늦게까지 – 혹은 밤새 – 일하게 되기 때문이다. 결국 희생되는 것은 개발자 개인 뿐만아니라 제품의 품질이다. 다시말해 기간과 업무를 제어할 수 없다면 남은 것은 품질과 개인의 희생이라는 것이다.

1의 상황이라도 2와 3을 최소한 생각하고 그걸 바탕으로 소위 영어로 “Commitment”(해당 기간내에 해당하는 만큼을 하겠다는 공언 혹은 개인의 다짐)를 하는 연습을 해야된다. 지키면, 다음에는 그만큼 일을 할 수 있다는 것을 배우고, 못지키면 다음에는 그만큼을 할 능력을 키우거나 그것보다 덜 할당하는 것이 적합하다는 것을 알게 된다. 틀려도 발전하면 된다는 것이겠다.

쥬니어 개발자들이 – 혹은 시니어 조차도 – 흔히 estimate을 요할때에 “변수가 많아서”라는 말로 산정을 못하는 경우가 많다.  이 말이 사실이기는 하지만, 업무 커뮤니케이션이 무한대의 시간을 가정하는 프로젝트는 없다. 게다가 솔직히 책임회피용으로 쓰는 변명일때도 많다. 어떤 일정 기간이 정해져있지만, 나는 거기에 Commitment를 한게 아니고, 누군가 정한 것에 따랐을 뿐이다라고. 현실적인 estimate을 제시하지 않으면 다시 1로 돌아갈 수 밖에 없다. 그리하여 또다시 담배피러 모여서 토로하는 토픽에 포함될 수 밖에 없다.

자신의 능력을 제대로 알고 그에 맞게 일을 하고 다음에는 더 효율적으로 할 수 있도록 발전시키는 것이 잘못된 것일리가 없다. 계속 1만 반복하면, 일에대한 애착도 줄어들고 자신의 능력을 측정하기 힘들어지고 또 그만큼 무리하게 일을 할 가능성이 커진다. 자신이 estimate을 제시할 상황이 되면, 두리뭉실한 측정치를 가지고 다시 1로 돌아가게된다. 업무량과 시간이 변수가 아닌 상황에서는 과학적으로 이들의 상관관계를 밝힐 수 없지 않나.

2와 3의 장점은 자기 발전과도 직접적으로 연관이 있다. 측정이라는 것은 그 데이타를 통해서 다음 방향을 정하기 위한 것이다. 내 시간관리와도 맞물릴 수 있고, 내 능력의 한계를 더 늘리기 위해서 그 한계를 알 수 있는 유일한 방법이다. 하지만, (우리나라서는) 무엇보다도 장기적으로 야근의 고리를 끊을 수 있는 단초가 된다는 의미가 이 글에서는 가장 크겠다.^^

1을 통해 비슷한 일을 반복적으로 오래하는 것으로 시니어(선임)가 되면 보통은 그 일에대해 리듬을 알고 공수를 찍어내듯이 습관처럼 추정할 수 있는 능력이 생긴다. 그런데, 이런 식이라면 그 능력이 다른 곳에는 잘 적용이 안된다. 사실은 그런 능력이 생긴 것이 아니라 그 특정 일을 잘 알게 되는 것일 가능성이 크기 때문이다. 그리고 야근하던 방식이었다면 그것이 그대로 유지가 된다. 그 일만 기차게 잘하고 그 일만 할 것이라면 크게 문제가 되지 않을 수 있겠다. 하지만, 후임은 또 야근의 고리를 끊지 못한다. 그것이 아니라면 꼭 연습해야하지 않을까.

그런 것이다. 이런건 장기적으로 천천히 구울수 밖에 없는 문화(culture)이다. 나만 바뀌어서는 좀처럼 바꾸기 힘든 문화. 협조을 못얻고 나혼자 튀는 일은 득보다는 실이 되는 문화에서 이렇게 변하는 것은 쉽지 않다. 하지만, 환경이 그렇다고 (후임이 커가는) 다음 세대에서는 그게 바뀌지 말아야된다는 법은 없다. 나는 야근하지만, 나중에 내가 어떤 팀을 리드하게 되면 우리팀은 야근하지 않도록 그 고리를 끊어야겠다는 생각이 있다면, 생각해봐야될 일이지 않을까. 지금 환경이 그러하니 어쩔 수 없다는 생각보다 그 다음을 생각하는 것이 필요하지 않을까. 근무시간을 채우기 위한 야근이라면 이런 이야기와는 상관이 없을지도 모르지만, 잘못 산정되는 업무강도로 인한 야근이라면 문화를 조금씩 바꾸는 것으로 좀 더 나은 미래가 있으리라 생각된다.

Written by charlz

2013년 1월 11일 at 오후 4:15

Uncategorized에 게시됨

터치스크린 키보드에 대한 잡담

with one comment

사람들은 평면의 터치 스크린으로 문자를 입력하는 것에 점점 익숙해져가고 있다. 스마트폰의 기본 문자 입력 인터페이스는 소프트 키보드이다. 편리하게도 사용하는 앱의 의도에 따라서 키보드의 키 배열이 편하게 바뀌고, 제안(Suggestion)을 보여주기도 한다. 숫자를 입력하기 위해서 키패드로 바뀌기도 하고, 다국어를 지원하기 위해서 자국의 입력방식(Input Method)을 제공하기도 한다. 하드웨어 키보드라면 고정된 물리적인 모양에 맞춰서 키를 할당해야하지만, 소프트 키보드는 방식에 맞는 키보드를 제공하는 전환이다.

터치스크린의 키보드는 화면 전체의 일부이다. 물리적인 키보드에서는 내가 입력해야되는 키가 어디에 있느냐가 고정되어있는 것에 비해, 터치스크린의 소프트 키보드는 화면에 가이드를 그려준것에 불과하다. 예를 들어, 아이폰의 자동수정 기능을 켜놨다고 하면, 지속적으로 제안된 문자를 사용하느냐 사용하지 않느냐하는 판단을 통해 키보드가 그려진 영역이 아닌곳에 위치한 화면의 “X”를 눌러야한다. 이를 논리적으로 키보드의 일부라고 이야기하기에는 애매하지만 분명 물리적으로는 터치스크린의 일부이다.

터치스크린 키보드 인터페이스는 한마디로 인간이 입력하는데 있어서 오랫동안 우리가 – 우리의 뇌가 – 익숙해져있던 한가지 신호를 건너뛰는 것이다. 우리 뇌는 입력을 위해서 사용했던 문맥(Context) 정보로 키를 구분하는 촉감이 포함되어있었는데, 터치스크린에서는 더이상 그 정보가 사용되지 않는다. 이를 우리 뇌가 받아들이는데는 최소한 두가지 경로(Path)가 있다. 기존의 수용 방식을 수정하는 경로와 새로운 경로를 만드는 경로의 두가지이다. 전자의 경우는 “어, 왜 촉감 정보가 부족하지?”하는 저항에 부딪힐 것이다. 기존에 경로가 없거나 아직 뚜렷하게 생성되지 않은 후자의 경우(신인류)에는 저항없이 경로를 만들어낼 것이다. 물론 우리의 뇌가 전자의 경우에, 경로가 수정되는 일 없이 새로운 경로가 생성되는 케이스밖에 없을 수도 있지만,(어느 것이 맞는지는 뇌 전문가에게 맡긴다.^^) 그 경우에도 새로 만들어진 경로를 선택하게 되는 과정에 저항이 또 있을 것이다.

전자의 경우가 어느 경우이건간에(수정되거나 새로생기거나) 더 힘든 과정이 아닌가 하는 생각을 해본다. 반면, 후자는 추상화(Abstraction)가 상당히 다르다. 물리적인 버튼을 누르는 것과 화면에 버튼처럼 추상화한 부분을 누르는 것은 분명 인식 자체가 다르고 인식이 다르면 뇌도 다르게 동작하지 않을까. 촉감을 뺀 시각 정보만으로 판단을 할 경우, 촉감에 드는 사고과정이 빠져있다는 생각을 해보면, 더 변화에 유연한 경로가 아닐까. 가정이 맞다면, 우리의 뇌는 소프트웨어적으로 진화를 하고 있지 않을까…하는 생각을 한다. 여느 신기술과 마찬가지로 나이가 많을수록(혹은 컴퓨터에 오랫동안 적응해있던 Population일수록) 적응이 힘든 모습을 보는 것은 당연해보인다. (신)인류는 이 평면 인터페이스의 적응에 진화해가고 있는 것일까.

한가지 궁금한 것은, 이렇게 빠진 촉감이 오류율에 있어서 어떤 변화를 보여줬을까 하는 것이다. 구체적인 숫자가 있다면 이런 생각이 더 구체적으로 바뀔 수 있을텐데 말이지. 당연히 초기에 터치 디바이스에 터치스크린 키보드가 나왔을때는, 오류율이 꽤 높았을 것이라고 생각하지만, 수년이 지난 지금의 오류율은 진화를 뒷받침해줄지, 아니면 그다지 큰 변화가 없을런지 궁금하다. 순수하게 평면화면에 그려준 키보드 버튼에 인간이 적응하여 보조없이 어느 수준 이상으로 오류율을 낮출 수 있는가 아니면, 통계적으로 적응은 그다지 눈에 띄지(Significant)지 않지만 기술이 이를 (오류수정같은 것으로) 뒷받침하지 않으면 안되는 것인가 말이다.

물론 미래에는 화면이 울퉁불퉁하게 올라오는 화면이 생겨날 수 있고, 이미 실험적인 기술을 선보인 것이 얼마전이다. 하지만, 나는 이런 기술이 있으면 좋은 것이지만, 필수적이지는 않다는 생각을 한다(이런 관점과는 다르게 Accessibility 측면에 있어서는 더없이 중요한 기술이겠다). 음성인식 UX는 여전히 어없이 불편(anti-seamless)하고, 모바일 기기에서 전화를 걸기 위해서 비접촉식 인터페이스가 유행할 수 있는 기반이 마련되려면 좀 먼 것 같고…나는 과연 지금 이렇게 불편하게 느끼고 있는(나만의 생각일지도 모르지만) 터치스크린 소프트 키보드에 맞게 진화하고 있는가 하는 생각을 해봤다. 소프트웨어를 이해는 하지만, 뇌가 인터페이싱을 위해서 (진화라는 단어가 너무 거창하면 그냥 익숙해지는 것뿐만이 아니라 변화하고)진화하고 있느냐는 그런 생각.

Written by charlz

2012년 8월 5일 at 오후 4:09

Uncategorized에 게시됨

팔로우

모든 새 글을 수신함으로 전달 받으세요.

다른 837명의 팔로워와 함께 하세요

%d 블로거가 이것을 좋아합니다: