2012년 5월 23일 수요일

더글라스 크록포드에게 배우는 개발자와 기획자 생존법

더글라스 크록포드는 자바스크립트의 구루라고 합니다. 오랫동안 야후에 있다가 얼마 전에 페이팔로 옮겼다고 하네요. (저는 엔지니어가 아니라서 모르겠지만) 저서인 'JavaScript: The Good Parts' 뿐만 아니라 JSLint툴과 JSON 데이터 포맷으로도 널리 알려져 있다고 합니다.



스매싱매거진에서 "나는 어떻게 일하는가?"라는 연재의 첫 주인공으로 더글라스 크록포드를 낙점하면서 그의 인터뷰를 읽었습니다. 그중에서 인상 깊은 내용만 정리해 봅니다.


  1. 프로그래머는 컴퓨터공학의 역사부터 배워야 한다
    기술의 변화 패턴이 역사적으로 반복되기 때문에 그 역사를 알면 기술과 언어에 대한 나름의 철학을 가질 수 있다는 의견으로 이해되더군요. 마치 물리학 첫 학기가 역사수업인 것처럼. 이런 역사감각은 기획자에게도 필요합니다. 사실 요즘 첨단 서비스라고 나오는 것도 과거에 한번쯤은 선보였던 것이 많습니다. 인터넷과 모바일의 유구한(?) 역사를 이해하면 기획의 깊이가 남다르겠죠. 그렇다고 '내가 해봐서는 아는데'라는 편협함은 금물!

  2. 능력이 부족한 프로그래머는 호기심이 부족하다
    훌륭한 개발자는 항상 배운다고 합니다. 새로운 기술이 수시로 나오기 때문에 배움은 불가피한 선택일 것입니다. 그러고 보면 기획자도 배워야 할 것 많습니다. 하드웨어와 소프트웨어를 기본적으로 이해해야 하고 네트워크 통신도 알아야 하죠. 심리학 같은 인문학적 소양과 디자인을 보는 미적 감각이 필요하고 경영이나 마케팅 쪽도 이해해야 합니다. 심지어 국어도 잘 해야 합니다. 그래서 저는 사람을 뽑을 때 그간의 경험 보다는 똑똑하고 성실한 사람을 채용해야 한다고 생각하는 쪽입니다. 그런 사람들은 노력해서 뭐든 빨리 배울 수 있으니까요.

  3. 다른 사람들 앞에서 코드를 시연하는 것이 중요하다
    프로그래머가 혼자서 코드를 짜고 빌드하여 그 결과물만 내보이는 경우가 많습니다. 이렇게 하면 잘 짠 코드가 공유되지 않고 엉망인 코드가 상용화 되는 일이 생깁니다. 그래서 근래의 개발방법론은 동료리뷰 (peer review)를 강조합니다. 기획자는 자신의 기획안을 다른 사람 앞에서 발표하고 리뷰 하는 것이 다반사이므로 이 부분의 걱정은 없을 것 같습니다. 다만 이런 리뷰를 막판에 한번만 하는 것이 아니라 일을 진행하면서 꾸준히 진행하면 기획안의 수준에 대한 공감대가 형성되고 그 수준도 높아지는 장점이 있습니다.

  4. 사용자를 이해하면 프로그래머가 더 잘 일할 수 있다
    개발자는 코드로 말해야 한다는 명언(?)도 있지만 사실 코드는 목적이 아닙니다. 코드가 모여 동작하는 소프트웨어(제품)는 그 나름의 목적에 봉사해야 합니다. 고객이 만족하지 못한 경우 제품과 그 코드는 실패한 것입니다. 전에 트위터의 채용공고에 개발자 직군을 두고 "문제를 해결하는 사람"이라는 문구를 인상깊게 본 적이 있습니다. 프로그래머는 그저 개발만 하는 사람이 아니라 사람들의 삶을 변화시키는 사람이라고 합니다. 이건 사실 업(業)에 대한 비전이죠. 서비스나 제품에만 비전이 필요한 것이 아니라 내가 하는 일에 대한 소명 (higher calling)이 있어야 일을 추진하는 데서 겪는 시련을 이길 수 있고 궁극적으로 보다 멋진 서비스가 나올 수 있습니다.  

자바스크립트 구루가 들려준 이야기를 순전히 비개발자 관점에서 마음대로 해석해봤습니다. 무엇보다 이렇게 철학이 있는, 연륜이 있는 개발자가 여전히 현역에서 활동하고 있다는 것이 멋져보였습니다. 우리나라의 개발자도, 기획자도 그러해야겠지요. 


2012년 5월 6일 일요일

[서평] 어떻게 원하는 것을 얻는가

마이클 샌델의 하버드 마케팅이 성공하면서 부쩍 미국 대학에서 인기 강의라는 타이틀을 달고 나오는 책이 많습니다. "어떻게 원하는 것을 얻는가"라는 책은 와튼스쿨의 최고 인기 강의인 스튜어트 다이아몬드의 협상론 강의를 바탕으로 하고 있습니다.


협상이라고 하면 회사에서 하는 연봉협상이나 계약협상부터 떠올리기 마련인데 이 책에서는 살아가면서 다른 사람과 관계 맺는 모든 것을 협상이라고 보고 있습니다. 음식점에서 가격을 깍거나 아이에게 양치를 하게 하는 것도 모두 협상입니다. 칼 포퍼의 저서에 빚대자면 '삶은 협상의 연속이다'라고 할 수 있겠습니다.



책에는 12가지 전략과 함께 다양한 사례들이 제시되어 있습니다. 제가 나름 요약하면 "먼저 인간적으로 소통하고 가치가 다른 것을 교환하면서 점진적으로 접근"하는 것이 협상의 목표를 달성하는 원칙입니다.


인간이 이성적인 존재이고 합리적으로 판단한다는 믿음은 행동경제학의 수많은 실험에서 부정된 바 있습니다. 오히려 감정과 편견에 휘둘리는 존재이지요. 저자는 상대방의 감정을 배려하고 인식을 이해하라고 합니다. 하지만 협상에 임하는 나는 감정을 배제해야 합니다. 내가 흥분하면 협상을 그르치기 쉬우니까요.


일방적으로 한쪽의 힘이 강할 때는 협상이라고 부르지 않습니다. 협상은 자발적으로 서로 교환할 것이 있는 상황에서 성립하는 것이죠. 이때 각자 매기는 가치가 다른 것을 교환할 수 있다면  협상의 목표를 달성하기 쉬워집니다. 예를 들어, 나는 계약금을 깍고 싶은데 상대방은 대금을 좀 더 일찍 받길 원한다면 이 두 조건으로 협상이 가능합니다. 이렇게 하기 위해서는 상대방의 니즈를 보다 폭넓게 이해하고 때로는 창의력을 발휘해야 합니다.




적진에 홀로 뛰어들어 과감한 요구를 관철시키는 것을 훌륭한 협상이라고 생각하는 경향이 있습니다. 하지만 그런 드라마는 현실에서 자주 일어나지 않습니다. 상대방이 익숙한 지점에서 출발해서, 혹은 서로 합의하기 쉬운 사안에서 시작해서 점진적으로 접근해야 합니다. 협상에서 홈런을 치려고 풀 스윙을 하기 보다는 "단지 아홉 경기마다 안타 하나만 더 치려고" 배트를 짧게 잡는 것이 필요합니다.


책을 읽는 내내 인생에서 협상이 아닌 것이 없다는 생각이 들었습니다. 그리고 내가 이제껏 했던 협상들이 부끄럽게 떠올랐습니다. 부동산에서 중개수수료를 정했던 일, 직장을 옮기면서 했던 연봉 협상, 떼 쓰던 아이에게 화냈던 순간들... 이 책에서 강조하는 원칙을 갈고 닦아 다시 그런 자리에서 훌륭하게 협상을 해내리라는 다짐을 해봤습니다.