얼마 전에 보안팀 팀장님으로부터 소프트웨어 테스팅에 대한 세미나를 들은 적이 있었다. 테스팅 방법론 뿐만 아니라 여러가지 이슈에 대해서 이야기를 나눌 기회가 있었는데, 그 때 팀장님께서 수차례 언급하셨던 책이 바로 “실용주의 프로그래머”였다. 그리하여 11월에 전략적으로 이 책을 공부하게 되었고 이번 주말에 일독을 끝냈다.
몇 만줄이 넘는 소프트웨어를 작성하다보니, 큰 프로젝트를 여러명이 함께 진행할 때, 안전하고 효과적인 방법에 대한 고민을 하게 된다. 또 언젠가 팀장이 퇴어 프로젝트를 책임지고 진행해야 하는 위치에 서게 되면, 물론 경험이 어느정도의 역량을 쌓아주겠지만, 팀장이 되기 위한 별도의 공부가 필요할 것 같았다.
워낙 좋은 평이 많은 이 책은 소프트웨어 개발자라면 반드시 일독을 권하고 싶을 정도로 알찬 내용을 담고 있다. 어느정도의 개발경력이 있다면 아마 읽는 내내 무릎을 탁 치게 될 것이다. 이 책에서 말하는 실용주의 프로그래머의 핵심은 한마디로 “빈틈없는 꼼꼼한 개발”이라고 본다.
한가지 중요한 이슈를 소개하자면, 책에서는 수차례 테스트의 중요성에 대해서 강조하고, 프로젝트의 대부분의 과정을 자동화하라고 권고하고 있다. 자동화된 회귀테스트가 소프트웨어의 신뢰성을 보장한다는 것이다. ‘예전에 되었던 것이 도대체 왜 지금 안되나?’ 라는 답답함을 토로해본 경험이 있는 개발자라면, 이 책을 읽고 테스트의 중요성을 깨닫기 바란다.
테스트는 이 책에서 말하는 실용주의 프로그래밍 기법의 일부분일 뿐이다. 총 45가지 주제를 가지고 개발자에게 흥미롭고 유익한 이야기를 전달하고 있으니 개발자라면 꼭 한번 읽어보시라.