알라딘MGG와이드바


[책] Show Stopper! 빌게이츠의 야망을 가진 남자들(혹은 '싸우는 프로그래머')

Show Stopper!: The Breakneck Race to Create Windows NT and the Next Generation at Microsoft (Hardcover)
("빌게이츠의 야망을 가진 남자들" 혹은 "싸우는 프로그래머". 번역이 두 번 된건가?)

드리밍 인 코드를 보다가 알게 된 책이다.

개인적으로는 좌충우돌하다가 망해버린 프로젝트의 연대기인 드리밍 인 코드도 재미있었지만, Windows NT 기반을 만들어낸 커틀러 팀의 이야기인 ShowStopper 가 더 재미있었다.


이 책은 1994년에 나왔고 1996 년에 번역되었다.
번역하시는 분이 일본어 하신 걸 보면 일본판을 다시 번역한 듯 하다. 책 중간에 '메리트와 디메리트를 고민했다' 라던가 고객-봉사자 모델 (client-server model 인듯?) 같은 표현이 나온다. 하지만 옛날 책이라는 걸 감안하면 읽을 만하다. 책은 원서, 번역서 모두 절판되었고, 다행히 인터넷 중고서적에서 쉽게 찾을 수 있다.


NT 에 참여한 대부분의 사람들은 자신이 굉장한 일을 하고 있다는 자부심을 가지고 있었고 또한 돈도 많이 받았다.
자부심과 돈, 개인적으로는 이 두 가지가 프로그래머의 능력을 최고로 끌어올려주는 요소가 아닌가 라고 생각한다.
그리고 그들에게는 무엇보다도 프로젝트의 성공을 최우선으로 생각하고, 말이 아닌 실천으로 팀을 이끌었던 리더와 그 리더를 도와주는 챔피언, 그리고 기술적인 내용을 대부분 파악하고 방향을 제시하며 지원을 해 줄 수 있는 CEO 가 있었다.


개인적으로는 NT 를 개발하는 과정이 내가 알고 있는 어느 성공한 팀의 분위기와 비슷한 거 같아서 흥미로웠다. 나야 뭐, 그 팀에 대해서 자세히 얘기할 수 있는 입장이 아니라서 여기까지만. :)


책 읽은지 좀 되어서 기억에 남는 부분만 옮겨본다.
참고로 커틀러가 NT 개발팀의 팀장이었다. 커틀러 자리에 팀장이라고 바꿔서 읽으면 책을 읽지 않아도 별 문제없이 아래 내용을 읽을 수 있다.

-----------------------------------------------------------

"OS 를 처음부터 만드는 기회"는 더 이상 없을 것이다. NT 같은 소프트웨어의 개발은 '이제 곧 사라질 것이다' 라고 그는 믿었다.


커틀러는 250 명이나 되는 프로그래머 전원이 '자신이 만든 개밥을 먹도록' 지시했다. 이것은 집을 지으면서 그 안에 사는 것과 같다.


커틀러는 체크 인의 품질로 프로그래머의 진가를 알 수 있다고 믿었다. 프로그래머가 자신의 코드를 테스트하지 않은 채 체크인 하면 크게 화를 냈다.


프로그래머는 테스터를 경멸하고, 테스터는 프로그래머를 싫어하고 있었다.


프로젝트 초반부터 커틀러는 NT 의 두 가지 버전(인텔 x86 버전과 MIPS 의 RISC 버전)을 동시에 개발하는 것이 중요하다고 강조했다. 이렇게 하면 프로그래머는 이식성 있는 코드를 '정직하게' 작성할 수 밖에 없고, CPU 고유의 어셈블리 언어에 안이하게 의지할 수 없게 된다.


아침 일찍 출근하는 커틀러는 어떤 문제라도 부하들과 함께 해결하겠다고 맹세하고 그대로 행동했다. '그는 아침 여섯 시에 출근한다. 주말에도 쉬는 일은 없다. 언제나 동료가 있는 참호 속에 같이 앉아 있다.'


'월트가 없으면 프로젝트가 진행되지 않을 거라고 생각하던 때도 있었다. 하지만 어느 새 (게임만 계속하는) 쓸모없는 인간이 되어 있었다.'


뛰어난 작품은 애정과 폭력에 의해 창조된다.


우선 제대로 된 소프트웨어를 만든다. 그리고 신뢰성을 높인다. 그런 후에 성능 개선을 생각한다.


프로그래밍에서 일류가 되려면 배우는 것보다 스스로 터득하는 게 중요하다.


어떤 일이라도 당연하다고 생각해서는 안 된다.


코드를 개선하기 위해 전력을 다 한 후에는, 개선된 정도를 측정해야 한다.


죽치고 앉아 아무리 깊이 생각하고 있어도 해결되지 않는 문제가 있다. 그러나 일을 진행하다 보면 갑자기 해답이 떠오르는 때가 있다.


신선한 눈(새로 입사했기 때문에 선입관이 없는 프로그래머)은 귀중하다. (입사하자마자 고질적인 문제를 쉽게 해결했음)


성능을 높히는 가장 좋은 방법은 '이 코드는 왜 필요할까?' 를 자문하는 것이다. 중압감에 눌려 있거나 익숙하지 않은 일을 하는 프로그래머는 어중간하게 타협하기 쉽다. 또는 '이 코드는 잘 돌아가고 있으니까 섣불리 건드리면 안 돼' 하고 생각해 버리게 된다. 하지만 코드의 근본적인 부분을 찾다보면 의외의 성과를 얻을 수도 있다.


남편인 폴과 헤어져 인생을 다시 시작할 수 밖에 없게 되었다. (NT 개발에 참여한 많은 프로그래머가 가정불화와 정신적인 고통을 겪었음)


버그 제거는 피투성이의 접근전과 같다. 버그란 인간의 힘이 얼마나 초라한가를 뻐저리게 느끼게 해 준다.
(약간 다른 얘기지만 http://www.joelonsoftware.com/items/2007/06/07.html 도 읽을만 하다)


지금이 우리 인생에서 가장 값진 시기다. 나중에 뒤돌아 보면 우리가 이룩한 일에 감탄하게 될 것이다.


프로그래머에게 있어서 자신이 만든 버그는 직접 제거하는 것이 원칙이다.


회의는 '어떻게 하면 시간을 낭비할 수 있는가의 견본같은 것이다'


MS의 특이한 관리제도도 다시 살펴봐야한다. 개발자를 부하로 둘 수 있는 사람은 개발을 할 수 있는 사람 뿐이다. 빌 게이츠는 절대 개발할 수 없는 사람 밑에 개발자를 두지 않는다. 순수 경영 쪽의 간부들이 프로젝트에 간여는 하는데 그들이 할 수 있는 것은 개발팀과 합의를 하거나 임의로 외주를 주는 것이다. 물론 이런 권한은 프로젝트의 방향에는 영향을 줄 수 있지만 합의하지 않고서는 개발자들을 수족 부리듯 할 수 없게 되어 있다.

-----------------------------------------------------------


개인적으로는 5년 후에 20 주년 기념판으로 새로 번역되어 나왔으면 하는 바람이 있다.

PS : 커틀러는 윈도우 64 비트 컨버팅 작업 등을 하면서 MS 에서 근무하고 있고, 마이클 어브러시는 존 카멕과 함께 게임도 개발하다가 요즘은 인텔에서 라라비 GPU 개발쪽에 참여하고 있는 듯. 대단들 하십니다.

참고글

http://noaa.byus.net/blog/72

http://www.yuchi.net/bbs/zboard.php?id=guest&page=3&sn1=&divpage=1&sn=off&ss=on&sc=on&select_arrange=hit&desc=desc&no=379&PHPSESSID=dcc8979f898806b18d90199e17a6843b

개발자를 부하로 둘 수 있는 사람은 개발자 뿐.


핑백

  • 박피디의 게임 아키텍트 블로그 : 절판된 책을 출판해 주는 서비스 2010-07-17 23:05:01 #

    ... 내가 보고 싶은 책 또는 좋아서 추천해 주고 싶은 책 중에서 절판 또는 품절된 책이 몇 권 있다. CODE READING, 스컹크웍스, 빌게이츠의 야망을 가진 남자들(Show Stopper!), 컴퓨터 소프트웨어의 창시자들(Programmers At Work), 영조.조영사전(북한용어영문표기집) 수익이 안 되는 게 절판이나 품 ... more

덧글

  • 파랑대 2009/04/08 16:21 # 삭제 답글

    뛰어난 작품은 애정과 폭력에 의해 창조된다. 이말 인상적인데요...
    그리고 '이 코드는 왜 필요할까?' 도 마음에 드네요.^^
  • 박PD 2009/04/08 17:13 #

    좋은 내용이 많더군요. 시간 나면 한 번 읽어보세요 :)
  • kimsama 2009/04/10 15:17 # 답글

    저는 싸우는 프로그래머로 읽었는데, 이쪽은 나온지 꽤 되었죠. 커틀러가 아직도 MS에서 근무하고 있다는 것은 흠좀무..ㅋㅋ 많이 변했을려나요...책 내용대로라면 같이 일하기 힘들텐데 말입니다.

    개인적으로는 책이라서 그런지 좀 미화되지 않았나 하는 느낌이 좀 들었습니다. (어쨌던 성공했으니까요)

    개인적으로 가장 인상 깊었던 인물은 폴 마리츠(당시 부사장)입니다. 폴 마리츠가 없었다면 NT도 없었다에 한표요~ (최근에 들은 이야기로는 이 분은 스트레스가 너무 심했던 탓인지 조기 은퇴하셨더군요, 병까지 얻어서 -_-;; )

    커틀러야 MS 오기전부터 OS의 신으로 불리던 사람이니 특수한 경우겠죠, 요즘 시대에 팀장이 아침에 출근하자 마자 (문을 발로 차고 들어와) 자리로 뛰어와서 "개xx, 코딩 똑바로 안할래. 니가 어제 체크인한 코드 때문에 빌드가 안되잖어~" 라고 하면 와우 할배 같은 대작 프로젝트라도 진행하기가 힘들지 않을까요? ^^
  • 박PD 2009/04/10 22:40 #

    저도 책 보면서, 밑에 부하직원들 완전 불쌍하다는 생각 많이 들더군요. :)
    어떤게 맞는 건지는 잘 모르겠습니다. 저라도 그런 팀장 밑에서는 일하기 힘들 거 같아요.
    그래도 (미화가 섞여 있을 수 있지만) 멋져 보인다는 점,
    그리고 저렇게 막해도 OS 를 만들 수 있다는 것도 참 대단하다는 생각이 들었습니다.
  • ohyecloudy 2009/04/29 18:18 # 삭제 답글

    열혈 개발자이자 관리자였군요. 완전 폭풍관리.. 후후

    꽤 재미있어 보입니다. 한참 찾다가 중고 서적 겨우 찾았네요.
  • 박PD 2009/04/30 05:30 #

    무식해 보일수도 있지만, 재미있는 내용이 많습니다.
    지금 생각해봐도, 배울만한 점도 꽤 있구요. :)
댓글 입력 영역


Yes24위대한게임의탄생3

위대한 게임의 탄생 3
예스24 | 애드온2