미래를 만든 Geeks (원제: Revolution in the Valley) by Andy Hertzfeld 를 읽고

3 minute read

bookcover

이 책은 첫 애플 매킨토시를 개발하던 한 해커(이 표현이 적당한 듯)가 당시를 회상하며 쓴 여러 에피소드들을 모아놓은 것이다. 친구 추천으로 별 생각없이 읽었는데 공감가는 부분이나 생각해 볼 만한 부분이 많아 정리 차원에서 몇자 적는다.

최초로 GUI 환경을 가진 PC

첫 개인용 컴퓨터는 아무래도 Apple II 라고 하는 것이 맞겠지만, 현재 우리가 쓰는 데스크탑 PC처럼 GUI 환경을 갖춘 개인용 컴퓨터는 매킨토시가 처음이었다. 8인치 CRT 모니터에 RAM 128 KB, ROM 64 KB, CPU clock 8 MHz 정도 스펙으로 GUI 환경과 응용프로그램들을 구현했다는 점이 놀랍다. 물론 당시 기준으로는 고사양이었겠지만, 요즘 임베디드 장비에 많이 쓰는 새끼손톱 만한 32bit MCU 보다 못한 성능을 가졌다. 개발 당시 최적화에 얼마나 많은 노력을 기울였을지 짐작할 수 있다.

저자가 책에서 언급하는 개발환경을 보면 주 언어로 어셈블리어를, 그리고 응용프로그램 몇개는 파스칼로 개발(리사가 거의 파스칼로 개발되었다고 함)했고, bit 단위로 메모리를 나누어 쓴 듯하다. 이런 방식은 요즘 패러다임과는 맞지 않지만 당시에 처한 상황에는 어쩔 수 없었을 것이다. 그러나 저자가 그런 최적화 중에 후회하는 것이 있었다. CPU가 24bit 주소 대역폭을 가지긴 했지만 실제로 16 bit만 쓰고 있어서 상위 8 bit를 프로그램의 상태 등을 저장하는 용도로 사용했고 이것이 서드파티에서도 일종의 관행으로 굳어졌는데, 나머지 부분을 다 쓰도록 CPU가 업그레이드되자 시스템 호환성에 심각한 문제가 생겼다는 것이었다. 용량이 부족하다고 용도에 맞지 않는 방법, 즉 꼼수로 일을 처리하지 말라는 교훈일 것이다. 그러나 나에게는 이 교훈이 그렇게 와닿지 않는다. 프로그램 설계가 그렇게 많은 영향을 끼칠 정도 규모의 일을 해보지 못했기 때문이다.

1984년 초에 스티브 잡스가 주주총회에서 매킨토시를 처음 발표할 때의 영상을 보면 아이폰을 처음 발표할 때에 비견될 만큼의 극적인 상황을 느낄 수 있다(책에서 언급한 것을 보면 데모하는데 필요한 성능이 부족하여 아직 개발되지 않아 프로토타입으로만 있던 램 512 KB 버전을 쓰고, 불의 전차 연주곡은 스테이지 밖에서 오디오로 틀었다고 한다. 아이폰 때와 같은 꼼수를 부린거지).

매킨토시 팀

Apple II 로 엄청나게 성장한 당시 애플은 Lisa라는 차세대 사무용 컴퓨터를 개발하고 있었다. 스티브 잡스는 리사 개발팀과의 불화로 팀을 별도로 꾸렸는데 그게 매킨토시 팀이다. 이 팀의 새 컴퓨터 개발 목표는 직관적인 사용자 인터페이스를 가졌지만 가격이 저렴하여 누구나 한 대씩 가질 수 있는 개인용 컴퓨터 개발이었다. 물론 목표와는 달리 2500불 정도로 꽤 비싸게 출시되긴 했지만, 개발 중에는 항상 그 목표를 견지했다고 한다. 그래서 시스템 성능을 쥐어짜듯이 개발이 이루어졌고 최적화도 많이 이루어지다 보니 Lisa보다 더 좋아진 것이 아닌가 하는 생각이 든다.

매킨토시 팀원들의 평균연령은 20대였고 나이가 많아봐야 30대 중반을 넘지 않았다. 팀 분위기는 수평적이고 좀 자유로웠던 것 같다. 요즘으로 치면 스타트업들이 지향하는 업무 환경 정도 되겠다. 중요한 점은 팀원들이 자신이 하는 일을 정말 즐겼고, 팀원들 간의 관계가 상당히 돈독했다는 것이다. 또 팀원들의 개인 능력도 상당했던 것 같다.

더 놀라웠던 점은 잡스의 역할인데, 잡스가 독선적이고 제멋대로인 점은 분명 있으나 그게 다가 아니라는 것이었다. 자기 팀원들의 불만이나 요구 사항을 들어주고 챙겨줄 줄도 알았고, 외부로부터 들어오는 공격을 막아주는 역할도 잘 했던 것 같다. 팀원들이 잡스 주위에는 항상 “현실왜곡장”이 있다는 농담으로 잡스의 독선에 대해서 비판적이었지만, 일이 되게 방향을 제시하고 끌고 가는 그 수완으로 인해 어쩔 수 없는 애정도 있었던 것 같다. 잡스에 대한 책을 더 찾아 읽어봐야겠다는 생각이 들었다.

필자와 중간 관리자와의 불화 에피소드도 나온다. 그 중간 관리자로 인해 몇몇 중요 직원이 관두고 필자도 관두게 된다. 각자 책임을 지지만 좀 제 멋대로이고 수평적인 조직문화를 가진 팀에서 형식을 따지고 상하를 따지는 사람이 관리를 하기 시작하니 충돌이 발생할 수 밖에 없는 상황이었던 것 같다. 그 중간 관리자의 생각도 완전히 틀린 것은 아니라고 본다. 조직 규모가 커지면 어떤 식으로든 운영을 위한 체계가 필요한 법이니까. 그렇지만 창의적인 사고를 가진 팀원 개개인의 순전히 개인적인 욕망으로 조직의 목표가 달성되어 가고 있는 팀에서 “버릇없다, 개싸가지다”라는 이유로 그 팀원이 목표에 기여했던 부분을 무시하면 그건 망하는 지름길이라 본다. 일을 하는 입장에서 보면 자신이 즐거워서 하는 것도 있지만 가장 중요한 것은 그에 대한 칭찬과 보답이기 때문이다.

빌 게이츠

몇몇 에피소드에서 빌 게이츠와 MS에 대한 언급이 있다. 요즘은 그가 은퇴하고 자선 사업에 매진하고 있어서 욕을 거의 안먹고 있지만, 90년대만 해도 엄청나게 욕을 먹었다. 에피소드들에서 욕을 먹은 이유를 다시 볼 수 있어서 재미있었다.

필자가 매킨토시 출시 이후에 휴직하며 개발한 Switcher (여러 응용프로그램를 램상주로 띄워놓고 빠르게 전환시켜주는 프로그램)를 빌 게이츠가 맨먼스로 계산해서 헐값이 먹으려고 흥정한 것이나, Lisa에 번들되는 어떤 게임이 너무 허접해서 코드를 보니 빌 게이츠가 공동 프로그래머로 적혀있었다는 이야기가 재미있었다.

마지막으로

이제 이런 책을 읽다보면 기술적인 상황이 이해되니 재미있다. 또 조직 문제에 대한 답답한 상황을 보고 있으면 감정이입이 되어 같이 답답해지기도 한다. 나는 그렇게 많은 경험을 한 건 아니지만 갈 길은 어디일지 고민되는 시점이다.

Categories:

Updated:

Comments