[책리뷰]실용주의 프로그래머 : The Pragmatic Programmer


책 중에 시간을 두고 되풀이해서 읽게 되는 책들이 있다. 나는 막심고리끼의 “어머니”, 법정 스님의 “무소유”를 즐겨 읽는다. 꿀꿀할때 왠지 일이 꼬이거나 어려울 때 읽어보면 새로운 느낌을 받는다. 분명히 전에 읽었을 때는 이런 느낌이 아니었는데… 이 부분의 의미가 이런 건가? 항상 신선한 느낌을 준다. 실용주의 프로그래머는 그런 책이다. 독자의 수준에 따라 “어라? 이런 내용이 있었네? 이것이 이런 의미였구나?“라는 새로운 느낌과 지식을 주는 책인 것 같다. 솔직히 지금은 실용주의 프로그래머의 30% 정도만을 내가 받아들인 상태다. 아마도 올겨울이나 내년에 다시 읽는다면 조금 더 많은 내용이 다가올 것 같다.

“실용주의 프로그래머”는 실용주의 시리즈 중 가장 먼저 나온 책이다. “실용주의 프로그래머를 위한 버전 관리 using CVS”, “실용주의 프로그래머를 위한 단위 테스트 with JUnit”, “실용주의 프로그래머를 위한 프로젝트 자동화”를 보고 실용주의 프로그래머를 읽었지만 실용주의 시리즈를 읽지 않고 바로 실용주의 프로그래머를 읽어도 상관은 없다. 다만 cvs, junit, automation을 읽어보고 실용주의 프로그래머를 읽는 다면 좀 더 현실감을 느낄 수 있을 것이다.

실용주의 프로그래머는 IT 철학이다. 실용주의 프로그래머는 구체적인 해결책은 제공하지 않는다. 문제점에 대한 효율적인 해결 방법과 생각하는 방식을 제공한다. 구체적인 답을 주기 보다는 “각자의 다양한 환경에서 이러한 방식을 구성하면 효율적이다. 주변에 널려있는 익숙한 방식을 이런 방식으로 응용해 볼 것을 추천한다”라는 방식의 지혜를 담고있다.

반복적이고 고질적인 PROJECT 문제점을 하나하나 파헤치고, 수많은 개선 사항에 대한 풍부한 레퍼런스를 제공하고, 각 레퍼런스를 최대한 활용하여 효과적인 방법을 제안한다. 마지막으로 독자에게 생각하는 연습을 시킨다. 창의력있는 방식을 생각해 보고 적용해 가는 과정에서 새로운 효율적인 방법을 찾아내는 것이 이 책의 매력인 것 같다.

앤드류 헌트와 데이비드 토머스는 지나치게 고급스럽지 않고 지나치게 XP 적이지 않으며 지나치게 관료주의적이지 않는 시점을 유지하며 프로그래머 개인으로써, 개발팀의 일원으로써, 실용주의에 목마른 팀에게 기존의 고정관념과 귀차니즘으로 찾지 못하고 있던 사실들을 알려준다. 마지막으로 이 책은 독자에게 많은 숙제를 남긴다. 수많은 레퍼런스와 빛나는 아이디어 그리고 책의 내용을 생각해 보고 실천해보는 과제를 준다. 실천하지 않는다는 것은 무의미한 부분이다.

이 책에서 전달하는 키워드는 시간이나 플랫폼이 변하는 것과는 상관없이 고전으로써 남을 것이라는 느낌을 받았다. 환경이 변함에 따라 쓰레기가 되는 정보와 주위환경과는 상관없이 적용 가능한 정보가 있다면 실용주의 프로그래머는 후자에 속한다. 지나치게 매니아적이지 않고, 너무나 흔하지 않으며, 너무나 생소하지 않은 귀중한 키워드와 정보를 제공한다.

실용주의 프로그래머는 두 번 읽는 것을 추천한다. 첫 번째는 처음부터 마지막 장까지 통독하고, 두 번째는 각 장의 마지막에 나오는 “관련 항목”의 리스트를 다시 읽어보거나 리마인드 하며 읽으면 느낌 전혀 다르다.

톰 디마크로(피플웨어), 조엘온 블러그와 연계해서 읽으면 더 많은 느낌을 받을 수 있을 것 같다.

김태완 avatar
작성자: 김태완
1999년 부터 Java, Framework, Middleware, SOA, DB Replication, Cache, CEP, NoSQL, Big Data, Cloud를 키워드로 살아왔습니다. 현재는 빅데이터와 Machine Learning을 중점에 두고 있습니다.
E-mail: taewanme@gmail.com