저자: 폴 그레이엄 / 임백준 역
출처: 해커와 화가(폴 그레이엄 저 / 임백준 역, 2005) 중에서 chapter 2. 해커와 화가
• 해커와 화가 (1)
• 해커와 화가 (2)
만약 대학과 연구소가 해커들이 원하는 일을 하지 못하게 막는다면, 그들이 가야 할 곳은 아마도 회사일 것이다. 안됐지만 회사라고 해서 해커가 하고 싶은 일을 하도록 그냥 내버려 두는 곳은 아니다. 대학과 연구소는 해커에게 모종의 과학자가 될 것을 강요하는 반면, 회사는 그들에게 엔지니어가 될 것을 요구한다.
이러한 사실을 깨달은 것은 비교적 최근의 일이다. 야후(Yahoo)가 비아웹(Viaweb)을 합병할 때 그들은 나에게 앞으로 무엇을 하고 싶은지 물었다. 나는 경영과 같은 일을 좋아한 적이 전혀 없었기 때문에 계속 해커로 남고 싶다고 대답했다. 그리고 내가 야후의 일원이 되었을 때 그들이 말하는 해킹은 내가 알고 있는 것처럼 소프트웨어를 디자인하는 것이 아니라 단지 구현하는 것에 불과함을 알게 되었다. 그들에게 있어서 프로그래머는 제품 관리자(product manager)의 비전(만약 그게 비전이라고 불러야 한다면)을 코드로 전환시키는 기술자에 불과했다.
큰 회사들은 기본적으로 이러한 생각을 가지고 있는 것처럼 보인다. 그렇게 하면 산출물에 대한 표준 편차(standard deviation)를 줄일 수 있기 때문이다. 극소수의 해커만이 소프트웨어를 실제로 설계할 수 있으며 회사를 경영하는 사람들이 그 일을 대신 하기는 어렵다. 그래서 대부분의 회사는 소프트웨어의 미래를 한 명의 천재적인 해커에게 맡기기보다는, 소프트웨어가 여러 명으로 구성된 팀에 의해서 설계되도록 하고 해커들은 다만 그것을 구현하도록 만든다.
만약 여러분이 언젠가 큰돈을 벌고 싶다면, 이것은 스타트업 회사가 승리하는 비결에 속하므로 잘 기억해두기 바란다. 큰 회사들은 최악의 재난을 피하기 위해서 디자인 산출물에 대한 표준 편차를 줄이려고 노력한다. 하지만 활기차게 진동하는 기운을 억누르면 진동의 저점만이 아니라 고점도 함께 상실하게 됨을 기억해야 한다. 큰 회사들은 훌륭한 제품을 만들어서 번창하는 것이 아니기 때문에 고점의 상실이 문제되지 않는다. 그들은 다른 큰 회사들에 비해서 상대적으로 적게 실수하면 되는 것이다.
따라서 덩치가 크기 때문에 소프트웨어가 제품 관리자에 의해서 디자인되어야 하는 회사와 당신의 회사가 디자인을 놓고 전쟁을 치르는 상황을 만들어내기만 하면 그들은 절대로 당신의 회사를 따라잡을 수 없다. 그렇지만 그런 상황을 만들어내는 것은 쉬운 일은 아니다. 그것은 마치 성 안에 숨어 있는 적병을 끌어내서 백병전을 치루는 것처럼 어려운 일이다. 예를 들어서 마이크로소프트의 워드보다 더 훌륭한 워드프로세서를 만드는 것 자체는 어려운 일이 아니다. 하지만 그렇게 한다고 해도 운영체제 독점이라는 철벽 안에 숨어 있는 마이크로소프트는 그런 워드프로세서가 개발되었다는 사실조차 알지 못할 것이다.
디자인 전쟁을 치루기 좋은 장소는 아직 어느 누구도 요새를 구축하지 못한 새로운 시장일 것이다. 그 곳에서 당신은 한 사람이 제품을 디자인하고 구현하도록 만드는 대담한 방식을 통해서 커다란 승리를 거둘 수 있다. 마이크로소프트도 처음에는 이런 방법을 썼다. 애플도 마찬가지다. 휴랫팩커드도 빼놓을 수 없다. 거의 모든 성공적인 스타트업 회사가 동일한 방식을 사용했던 것으로 보인다.
결국 훌륭한 소프트웨어를 만드는 방법의 하나는 자기 자신의 스타트업 회사를 만드는 것이다. 그렇지만 여기엔 두 가지 문제가 있다. 우선 스타트업 회사 안에서 당신은 소프트웨어를 작성하는 일 이외에도 여러 가지 다른 일을 해야 한다. 비아웹 시절의 나는 적어도 사분의 일 정도의 시간을 해킹에 쓸 수 있었으므로 제법 운이 좋은 편이었다. 나머지 사분의 삼에 해당하는 시간 동안에는 짜증나는 일에서 겁나는 일에 이르기까지 실로 다양한 일을 해야만 했다. 가령 한번은 충치를 치료하기 위해서 보드미팅(board meeting)을 빠져나온 일이 있었다. 치과의 의자를 뒤로 한껏 제치고 앉아서 이를 쑤시고 들어올 드릴을 기다리고 있는데, 그것이 마치 휴양지에서 휴가를 즐기고 있는 착각이 들 정도였다.
스타트업과 관련된 또 하나의 문제점은 돈을 벌어주는 소프트웨어와 작성하기에 흥미로운 소프트웨어 사이에는 별로 겹치는 부분이 없다는 사실이다. 프로그래밍 언어는 흥미롭기 때문에 마이크로소프트의 첫 번째 제품도 사실 프로그래밍 언어였지만, 지금은 프로그래밍 언어를 돈을 주고 구입하는 사람이 없다. 만약 돈을 벌고 싶다면 자기에게 흥미로운 일을 찾을 것이 아니라, 너무나 짜증나는 일이라서 누구도 그것을 공짜로 해결할 엄두를 내지 않는 힘겨운 일을 찾아야 할 것이다.
모든 창조자들이 이와 같은 비슷한 문제를 경험한다. 가격을 결정하는 것은 수요와 공급의 균형인데, 일하는 입장에서 흥미진진한 일에 대한 수요는 거의 없고 개별적인 고객이 직면한 통속적인 일에 대한 수요만 넘쳐난다. 오프-브로드웨이(off-Broadway) 무대에서 공연하는 것은 박람회의 한 전시장에서 고릴라 옷을 입고 있는 것보다도 돈벌이가 적다. 소설을 쓰는 것은 쓰레기 처리와 관련된 광고 문구를 작성하는 것보다도 돈벌이가 적다. 그리고 프로그래밍 언어를 만들어내는 것은 어떤 회사의 낡은(legacy) 데이터베이스를 웹서버에 연결하는 하는 것보다도 돈벌이가 적다.
이 문제에 대한 답은, 적어도 소프트웨어의 경우에는, 모든 창조자들에게 이미 잘 알려져 있는 해법으로 구해야 할 것이다. 그것은 곧 임시직(day job)이다. 임시직이라는 표현은 사실 밤무대에서 공연하는 음악인들로부터 시작되었다. 좀 더 일반적으로 말하자면 임시직이란 돈을 벌기 위해서 하는 일과 열정을 위해서 하는 일을 따로 갖는 것을 의미한다.
거의 모든 창조자들이 자신의 경력을 처음 쌓기 시작하는 무렵에는 일시방편적인 일을 갖기 마련이다. 화가와 소설가는 특히 더 그런 것으로 유명하다. 운이 좋다면 본업과 관련이 있는 일을 얻을 수도 있다. 음악인들은 대개 레코드 판매점과 같은 곳에서 일을 한다. 이와 마찬가지로 프로그래밍 언어나 운영체제와 관련된 일을 하는 사람도 그런 일과 관련된 임시직을 찾을 수 있을 것이다.
해커들이 임시직을 갖는 한편으로 뭔가 멋진 소프트웨어를 개발하기 위한 일을 진행해야 한다고 말했다고 해서 그것이 새로운 아이디어는 아니다. 오픈 소스 해커들이 하는 일이 바로 그것이기 때문이다. 내가 말하고자 하는 것은 결국 오픈 소스야말로 올바른 모델이 아닌가 하는 점이다. 다른 분야의 창조자들이 이미 그 점을 확인해 주고 있다.
자기 직원이 오픈 소스 프로젝트에서 일하는 것을 꺼리는 회사가 있다면 놀랄 일일 것이다. 비아웹에서는 오히려 오픈 소스 프로젝트에서 일한 경험이 없는 사람을 채용하기 망설일 정도였다. 우리가 프로그래머를 면접 볼 때 집중적으로 물어본 질문은 그가 남는 시간에 작성한 소프트웨어가 무엇인가 하는 것이었다. 여러분이 무엇을 진정으로 사랑하지 않는다면 그것을 정말로 잘 해낼 수 없다. 마찬가지로 해킹을 정말로 좋아한다면 뭔가 자기 자신의 프로젝트를 수행하지 않고는 견딜 수가 없는 것이다.