1장 실용주의 철학


팀이 너무 기술적으로 뒤쳐졌어요, 업무가 지겨워요 등의 불만이 있는가? 직접 바꿔라! 개발자는 그럴 수 있는 직업이다.

xxx 때문에 못하겠어요 같은 어설픈 변명 대신 대안을 제시하라. 나쁜 소식을 말하기 전에 그 소식을 들었을 때 상대방이 어떻게 반응할지에 대해 먼저 생각하고 그것에 대한 대안까지 생각해보자.

부탁을 어려워하지 말고 도움이 필요하다는 사실을 인정하고 도움을 구하자.

엔트로피는 항상 증가하는 방식으로 동작한다. 소프트웨어도 마찬가지다. 다만 이 속도를 저지할 수 있다. 깨진 창문이론을 항상 마음에 담아두어라. 깨진 창문이 있다면 바로 수습하자. 최소한 대충이라도 막아두자. 깨진 창문은 급속도로 소프트웨어를 망가뜨린다. 방치는 어떤 요인보다도 부패를 가속화시킨다. 깨진 창문은 없어야한다.

당장 하고 있는 일에만 정신을 쏟지 말고, 주변에서 무슨일이 벌어지는지 늘 살펴보며 큰 그림에 늘 주의를 기울여라.

완벽한 소프트웨어보다 적당히 괜찮은 소프트웨어가 좋을 수 있다. 새로운 소프트웨어를 만들고 있다면 마감 기한, 현금 유동성 등의 제약이 있을 것이다. 이러한 측면을 생각하면 적당한 타협이 필요하다. 많은 사용자는 멋지고 완벽한 소프트웨어를 위해 일년을 기다리기 보다는 당장 오늘 불편한 소프트웨어를 더 원할 수 있다. 또한 일년 뒤에 사용자가 원하는 기능은 완전 달라져있을 수 있다.

최고의 아이디어, 최상의 코드 혹은 아주 실용적인 발상이 있다고 해도 다른사람들과 소통할 수 없다면 궁극적으로 아무 효용이 없다. 소통없이는 훌륭한 아이디어도 고립되고 만다.

무엇을 말하는가와 어떻게 말하는가 모두 중요하다. 소통이 더 효과적일수록 좀 더 많은 영향력을 갖게 될 것이다.