드리밍 인 코드

2009/07/04 13:21

드리밍 인 코드

드리밍 인 코드를 읽고 있다. 넷스케이프의 핵심 인력, 초창기 매킨토시의 핵심 인력, 등등의 전설적인 인물들 몇 명이 모여서, 몇 년 간 진행했지만 망해버린 -_- 챈들러 프로젝트에 대한 이야기인데, 상당히 재미있다. 절반쯤 읽었는데, 문장 몇 개를 뽑아보자면…

오늘날 사람들은 넷스케이프를 인터넷 초기에 엄청난 성공을 거두었던 회사로 기억하지만, 넷스케이프 개발자들은 스스로 불가능한 일정에 뒤쫓기고 눈앞에는 피해갈 수 없는 실패와 마주선 사람들이라고 생각했다.

하지만 FAA 프로젝트 참여자들처럼 직접 재앙을 겪은 이들을 제외하고는 새로운 소프트웨어 개발 프로젝트에 참여하는 대부분의 사람들은 과거에 대해 잘 모르고 있거나 미래에 대해 지나치게 긍정적인 경우가 많다. 그들은 그저 이번에는 다를 것이라고 낙관적으로 확신한다.

"맨먼스 미신"에서 브룩스는 바벨탑을 인간이 시도한 두 번째 대규모 엔지니어링 프로젝트라고 말한다(첫 번째 대규모 엔지니어링 프로젝트는 '노아의 방주'였다). 하지만 바벨탑은 동시에 첫 번째로 실패한 엔지니어링 프로젝트였다. 바벨탑 건축 관리자들은 성공을 위한 모든 조건을 완벽히 갖추고 있었다. 그들은 명확한 임무와 인력과 자재, 충분한 시간, 기술을 가지고 있었다. "바벨탑 건설이 실패한 까닭은 건설에 참여한 사람들이 서로 말이 통하지 않아서 협업을 할 수 없었기 때문이다. 사람들 간의 협업이 조직되지 않으면 업무는 중단된다."

하지만 가장 중요한 문제는 속도였다. "저는 사람들을 몰아쳐서 일하는 것을 선호합니다. 위대한 프로그램을 만들기 위해서는 누군가 중심에서 프로젝트에 생명을 불어넣는 사람이 필요합니다. 무자비한 방식으로라도요. 그것이 부재했던 게 문제였죠."

이 책을 읽고 있는 당신이 소프트웨어 개발자라면, 아마 이쯤에서 이런 말을 외치며 이 책을 벽에 던져버렸을지도 모르겠다. "이런 미친 짓은 이제 그만 두라고! 이미 교과서에 나와있는 모든 실수를 저지르고 있어!" 내 생각에 대부분 프로그래머들은 이렇게 생각할 것 같다. "나는 저런 바보 같은 짓은 하지 않을 거야. 나라면 훨씬 더 잘할 수 있다고." 물론 그게 사실일 수도 있다. ...(생략)... 소프트웨어 역사의 연대기에서, 챈들러의 실망스런 진전 속도는 예외가 아니라 오히려 평균적인 경우에 가깝다. 역사는 모든 운전사가 길에서 벗어나는 방법은 다르지만, 그들 모두가 언젠가는 바퀴를 도랑에 처박고 만다는 사실을 여실히 보여준다.

만약 당신이 자신은 분명히 더 잘 할 수 있다고 확신하는 프로그래머 중 한 명이라면 지난 번 프로젝트에서 이런 생각을 한 적이 몇 번이었는지 자문 해보기 바란다. "맞아요. 나는 우리가 아마도 이것을 해야만 한다는 사실을 압니다." (여기에서 '이것'은 소프트웨어 업계에서 잘 알려진 소프트웨어 개발과 관련한 기본 원칙 중 어떤 것일 수도다.) "하지만 지금은 특수한 상황입니다. 우리는 아주 특별한 경우입니다." 앤디 허츠펠드는 이렇게 말하곤 했다. "통상적인 프로젝트란 없습니다. 모든 프로젝트에는 저마다 고유한 특성이 있지요.”

특히, 바벨탑에 대한 비유는 엄청난 것 같다. 망한 첫 번째 엔지니어링 프로젝트라니. 푸핫.
아, Geek에 대한 이야기도 나온다.

긱들과 긱이 아닌 사람들은 왜 사이좋게 지낼 수 없을까? 미국 국방산업대학교에서 최근에 진행한 '정보기술팀에서의 인간 관계 역학' 연구에서는 77개 팀의 IT 전문가들(주로 프로그래머들과 프로그래밍 관리자들)의 머릿속을 해부하려는 시도를 했다. 관찰, 면담, 다양한 설문 등 여섯 가지 측정 방법을 통해 연구자들은 IT 전문가들의 성격 성향이 일반인들과는 근본적으로 다르다는 사실을 발견했다.

헐… 근본적으로 다르대. -_-;;

-- 이상한 나라의 종텐.


« Previous : 1 : ... 44 : 45 : 46 : 47 : 48 : 49 : 50 : 51 : 52 : ... 279 : Next »