사실, 여러분 코드의 품질을 걱정하는 것은 바로 동료들이다. 다른 사람의 코드를 아이 돌보듯 하고 싶어하는 사람은 없다. 그들은 여러분의 코드가 제대로 동작하며, 이해하기 쉽고, 유지보수가 가능하기를 원한다. 여러분이 코드를 저장소에 올린 후에는 이제 모든 사람의 코드가 되기 때문에 여러분은 그들에게 빚진 셈이 된다. 팀에서는 각 사람의 처리량보다 팀의 처리량이 더 중요하다. 만약 여러분이 나쁜 코드를 쓰고 있다면 여러분은 동료들의 속도를 늦추고 있는 것이다. 여러분의 ‘저질 코드’가 팀을 해치고, 느려진 팀은 제품을 해치고, 출시되지 않은 제품은 결국 여러분의 경력에 도움이 되지 않는다.
코드를 처음부터 작성하는 가장 쉬운 방법은 아이디어이고, 다음으로 쉬운 것은 설계다. 좋은 설계가 중요한 이유이다. 좋은 설계라고 해서 꼭 서류상으로 보기 좋게 만들어야 하는 게 아니라, 머리 속에 괜찮은 설계 구상이 있기만 해도 충분하다. 설계를 믿지 않고 그저 즉흥적으로 코드를 작성하는 사람을 만날 수 있는데, 이런 사람은 시간의 가치를 중요하게 여기지 않는 것이다.
마찬가지로, 좋은 디자인 패턴이나 좋은 알고리즘은 처리량을 증가시킬 수 있다. 처리량에 도움이 되지 않는다면 사용할 필요가 없다. 거의 모든 것에 금전적인 가치가 매겨지기 때문에 수행하는 모든 작업은 처리량으로 측정된다.
잘못된 코드라 할지라도 처리량이 높을 수 있다. 고객이 변경을 요청하는 순간, 여러분은 끔찍한 코드를 유지해야 하는 상황에 처하게 된다. 자신이 구덩이를 파고 있음을 깨닫고 정신을 잃기 전에 스스로 빠져나갈 수 있는 방법을 이 책에서 알아보자.