.



이 책은 프로그래머인 조엘 스폴스키가 자신의 경험을 토대로 프로그래머로써 필요하거나 유용하다고 생각되는 지식과 자세를 담고 있다. 이 책에서 기억에 남는 부분들은 다음과 같다.

프로그래밍으로 무언가를 만들기 전에 반드시 명세서를 만들 것을 추천한다. 명세서란 간단히 예를 들자면 집을 리모델링한다고 했을 때 화장실은 어떤 디자인으로 만들고 벽지는 어떤 것으로 할 것이며 페인트는 어떤 브랜드를 사용할 것인지, 페인트 칠하는 방법은 어떻게 할 것인지, 페인트 누가 칠할 것인지, 조명은 어떤 것을 쓸 것인지 세세하게 적어놓는 것이다. 만약 이런 사항들을 명확히 서류에 글로 정리해 두지 않고 서로 그냥 말 몇마디를 나눈 후에 만들게 된다면 나중에 가면 서로 문서로 남은 약속이 없어 문제가 발생할 경우 작업자들끼리 서로 매우 피곤해지는 것이 당연해 보인다.


By Bulgaria mitko (Own work) [CC BY-SA 4.0], via Wikimedia Commons


또한 창업을 할 경우 어떤 루트를 따라야 할 것인지에 대해 말하고 있는데 천천히 모든 것을 통제하며 나아가는 것과 빠르게 확장하는 것이다. 천천히 통제 발전 방식은 소자본창업과 레드오션에서 창업하는 경우에 적합한데 이는 기존의 틈새를 공략하는 것이므로 빠른 확장은 불가능하기 때문이다. 이 방식은 창업자가 시간에 덜 압박을 받기 때문에 모든 것을 통제하며 나아가는 것이 가능하다. 예를 들어 사람을 뽑을 때도 마음에 드는 사람이 나타나면 뽑는 식이다. 이 방식은 창업자가 원하는 기업문화를 정립하며 나아가는 것이 가능한 편이다.

빠른 확장 방식은 대규모자본과 창업자가 기업에 대한 통제를 상당히 잃어버리게 된다. 이런 방식은 블루오션에서 남들보다 빠르게 시장을 선점하는 것이 중요할 때 사용되는 방식이다. 이런 경우 큰 돈을 주고 뛰어난 능력을 가진 경력자를 뽑는 것이 필수적이며 그 외에도 모든 것들을 거액의 돈으로 시간을 절약하는 방법이 반드시 사용되어야 하기 때문에 큰 자금이 필요하며 이 방식은 빠르게 외부인력이 충원되며 천천히 성장할 때보다 창업자의 통제가 떨어져 자신이 원하는 기업문화를 정립하기 어려울 수가 있다.



또한 그는 테스터의 중요성에 대해 강조한다.(하지만 좋은 프로그래머가 좋은 테스터보다 찾기 힘들다) 하지만 우수한 테스터를 찾기는 매우 어려운데 똑똑한 사람은 반복적이며 생산적이라고는 할 수 없는 테스팅 업무에 쉽게 지루함을 느끼고 타 분야로 옮겨가기 때문이다.(아예 테스터로 진입하지 않을 가능성이 높다.) 그는 따라서 파트타임으로 일하는  대학생, 고등학생이 훌륭한 테스터가 될 수 있다고 이야기 한다.

오픈소스에 대한 이야기도 흥미로운데 오픈소스에 투자하는 회사들이 결국은 자신들의 이익을 위해 오픈소스에 투자한다는 것이다. 간단히 예를 들자면 윈도우를 파는 마이크로소프트의 입장에서는 컴퓨터가 많이 팔려야 윈도우를 많이 팔 수 있을 것이다. 윈도우와 컴퓨터는 서로가 많이 팔리면 같이 많이 팔리는 보완재라고 할 수 있다. 따라서 마이크로소프트는 하드웨어의 가격을 내리는데 큰 관심이 있을 것이다. 또한 it컨설팅을 하는 ibm의 입장에서는 it컨설팅을 받아야 하는 기업의 수가 증가할 수록 자신들에게 이득이다. 따라서 오픈소스를 지원하여 소프트웨어를 저렴하게 기업들이 이용가능하도록 만든다면 it컨설팅을 받아야 하는 고객들이 증가하는 것은 당연한 일이다.




              .





: