소프트웨어 장인 (The Software Craftsman) 리뷰

별점 : ★★★★
한줄평 : 더 나은 소프트웨어 개발자가 되고자 노력하는 모든 이들의 필독서. 소프트웨어 장인의 길로 안내하는 이념서.

번역 : http://book.naver.com/bookdb/book_detail.nhn?bid=9585753
원서 : https://www.amazon.com/Software-Craftsman-Professionalism-Pragmatism-Robert/dp/0134052501

이 책은 Robert C. Martin Series 5권 중에 하나로서, "소프트웨어 장인정신" 에 대한 책이다. (저자는 밥아저씨가 아니라 다른 분이지만, 마틴 시리즈로 분류되고 있다..)
소프트웨어 장인정신은 마스터가 되어가는 긴 여정이다. 소프트웨어 장인정신은 소프트웨어 개발자 스스로가 선택한 커리어에 책임감을 가지고, 지속적으로 새로운 도구와 기술을 익히며 발전하겠다는 마음가짐이다. 소프트웨어 장인정신은 책임감, 프로페셔널리즘, 실용주의 그리고 소프트웨어 개발자로서의 자부심을 의미한다.
위는 이 책의 저자가 말하는 소프트웨어 장인정신의 정의이다. 아래는 이 책을 읽고 생각하면서 내가 이해하고 받아들인 "소프트웨어 장인정신" 에 대한 내용이다. (개인적인 생각이 포함되어 있다.)

    소프트웨어 장인정신이란, 다른 것은 무시하고 단순히 아름다운 코드만을 추구하는 것이 아니다. 철저히 프로페셔널리즘과 실용주의에 입각하고, 비지니스적인 가치를 첫째로 추구한다. 다만, 비지니스 가치를 극대화시키고 고객을 만족시키며 끊임없이 추가되고 변경되는 요구사항에 대응하기 위해서는, 결국에 높은 수준의 소프트웨어 품질을 성취해야한다.
    소프트웨어 장인은 비합리적인 것들과 잘못된 의사결정에 대항하며, 회사와 비지니스 가치를 위해 올바른 실행 관례를 배우고 실천하며 널리 퍼뜨린다. 그러한 실행 관례로서, 책의 저자는 애자일, XP, TDD 등을 들고 있다. 하지만, 이러한 것들은 상황과 시대가 바뀜으로서 달라질 수 있는 것으로서, 그 것이 소프트웨어 장인정신을 대표하는 건 아니다.
    소프트웨어 장인은 단순히 밥벌이로서 일을 대하는 게 아니라 자신의 일에 대해 자부심, 열정, 그리고 철학을 가지고 있다. 주인의식과 책임감을 가지고 주어진 일을 가장 단순한 방법으로 해결한다. 현실과 경험에 안주하지 않고, 끊임없이 공부하고 발전하고 고민하며 소통한다.

이 책에는 코드나 무거운 기술에 대한 내용이 등장하는 것이 아니기 때문에, 출퇴근 길에 버스, 지하철에서 가볍게 읽기 좋다. 그럼에도 불구하고 내용이 마냥 가벼운 것은 아니다. 이 책은 매우 이념이 짙은 책이다. 분명히 이 책을 읽으면 누구든지 느끼는 바가 있을 것이고, 그 것이 분명 소프트웨어 개발자 커리어에 영감을 줄 것이라고 생각한다.

번역서의 경우, 번역이 매우 잘됐다. 내가 태어나서 읽어본 번역서중에 가장 번역이 잘 된 책중에 하나이다.
책의 단점에 대해 말하자면, 내용이 너무 반복적이고 장황한 측면이 있다. (비슷한 내용과 말이 반복되는 느낌이 있다.)

아무튼 종합적으로 볼 때, 매우 괜찮은 책이였고 이 포스팅을 읽는 여러분들께 꼭 추천하고 싶다.

마지막으로, 책의 구절 중 하나를 인용하면서 포스팅을 마무리하고자 한다.
일을 어떻게 했느냐는 일을 해낸 것 만큼이나 중요하다.

댓글

  1. J. B. Rainsberger 버전의 단순한 설계를 위한 네 가지 원칙

    1. 모든 테스트의 통과
    2. 중복의 최소화
    3. 명료성의 최대화
    4. 구성요소의 최소화

    답글삭제

댓글 쓰기