클린 코더 - 단순 기술자에서 진정한 소프트웨어 장인이 되기까지
로버트 마틴 지음 | 정희종 옮김
에이콘
★★★★☆ (별 4개)
요즘 출근하면서 책 읽는 맛에 출근하고 있다. 가방에 노트북을 항상 들고 다니니 내가 가지고 있는 개발 관련 책 중에 안 읽고, 가벼운 개발 도서를 선택하니 이 클린 코더가 제격이었다. 집에 사놓고 안 읽은 개발 서적이 많은데 일주일에 한권씩 읽으면 3~4달이면 몽땅 읽을 수 있을 것 같다. 그만큼 사놓고 안 읽은 책이 너무 많다. 나라는 사람이 이렇게 게으르다는 것을 다시 한번 느낀다.
이 책은 클린 코드
의 후속판으로 볼 수 있는 책이다. (클린 코드
도 아직 사놓고 안 읽었다. OTL) 클린 코드
는 코드를 어떻게 깨끗한 코드를 작성 해야 하는지 방법과 설명이 나와 있다면 클린 코더
는 더 나은 개발자, 소프트웨어 장인
이 되는 방법을 소개해 주고 있다. 어떻게 보면 전에 읽어 보았던 소프트웨어 장인
책과 비슷한 유형의 책이라 볼 수 있을 것 같다. 이 책은 코드를 어떻게 작성해야 하는지는 나와 있지 않다. 다만 어떤 사람(개발자)이 좋은 개발자가 되려면 어떻게 행동해야 하는지를 이 책을 말하고 있다.
책의 차례는 다음처럼 구성되어 있다.
- 1장. 프로의 마음가짐
- 2장. 아니라고 말하기
- 3장. 예라고 말하기
- 4장. 코딩
- 5장. 테스트 주도 개발
- 6장. 연습
- 7장. 인수 테스트
- 8장. 테스트 전략
- 9장. 시간 관리
- 10장. 추정
- 11장. 압박
- 12장. 함께 일하기
- 13장. 팀과 프로젝트
- 14장. 스승과 제자 그리고 장인 정신
- 부록. 도구 활용
모든 장마다 빼놓을 만한 내용은 없다고 생각이 들었다. 하지만 저 많은 주제 중에 내가 가장 감명 깊게 읽은 챕터는 1장 - 프로의 마음가짐
과 9장 - 시간 관리
이다.
로버트 마틴은 챕터 1에서 프로에 대하여 말하고 있다. 우리는 전문 개발자이며 아마추어가 아닌 프로페셔널이라는 것이다. 사실 이건 당연한 이야기이다. 나는 축구를 아주 좋아한다. 주말마다 K-리그 경기도 보고, 저녁에는 EPL도 본다. 축구 경기를 보다가 선수가 프로답지 못한 볼트래핑이나 움직임을 선보이면 저건 나도 하겠다
라거나 혀를 차곤
한다. (애들이랑 같이 보니 욕은 안 한다. -_-;) 하여튼 프로는 돈을 받고 무언가를 전문적으로 하는 사람인데 나도 개발을 못 하면 욕을 먹을 수 있는 것이다. 호날도를 봐라. 그는 진정한 프로라 볼 수 있다. 그는 연습을 게을리치 않고 실전(일)에서 최고의 모습을 보인다. 나는 돈을 받고 개발을 전문적으로 하는 사람이니 호날도 만큼 천재는 될 수 없겠지만 그만큼 프로다운 모습은 보여야 한다는 것이다. 또한 일상적인 업무를 연습이라고 생각하면 안 된다는 것이다. 업무는 실전이다. 축구로 보자면 리그 경기로 생각 될 수 있을 것 같은데 경기에 출전하면서 배우는 것도 많겠지만 이를 연습으로 생각하면 안 된다는 것이다. 실전(업무)은 내가 평소에 연습한 것을 실현해 내는 자리이다. 로버트 마틴은 프로는 책임감을 가지며 일하고 끊임없이 노력하며 공부해야 한다는 것이다. 내가 프로냐 라고 스스로 자문 했을 때 나는 아직도 아마추어이다. 버그도 많이 내고, 가끔 롤백도 하는 모습이 아직은 아마추어라 생각된다. 이런 모습을 고쳐야 할 것이다.
챕터 9장에서는 개발자의 시간 관리에 대하여 말하고 있다. 시간 관리를 하는 방법이 많이 나오긴 했으나 그중 나에게 가장 도움이 된 부분은 포모도로 기법
을 소개한 페이지이다. 요즘 들어서 책도 읽고 일도 하긴 하는데 진척이 없는 느낌도 강하고, 남는 느낌도 없었다. 그러다 책을 읽으면서 포모도로 기법
을 이번 주 수,목,금 3일 사용해보았는데 굉장한 효과를 느끼고 있다. 나는 가끔 일을 하긴 하였는데 뭘 했는지 모르겠다
라는 생각을 자주 느껴서 하루를 되돌아볼 겸 해서 작업을 한 내용을 기록한다. 이를 포모도로 기법
과 결합하니 더욱더 알찬 느낌이다. 이전에는 한 시간이고 두시간이고 일하다가 정리를 하니, 기억이 안 남는 경우도 많았는데. 지금은 25분 일하고 정리를 하니 더욱 자세히 남길 수 있고 이를 통해 내가 어떤 일을 하였는지를 정리할 수 있었다. 3일 만에 이런 느낌인데 한 달 정도 써보고 이를 블로그로 정리해봐야겠다.
이 밖에도 다른 챕터에도 많은 내용이 인상 깊었고 빠트릴만한 내용은 없어 보인다. 소프트웨어 장인
이 되기까지는 멀고도 험난한 길이며 왕도는 없다. 꾸준히 노력하고 또 노력해야 갈 수 있는 목표이다. 이 책은 소프트웨어 장인
이 되는 길잡이 책이며 개발자란 어떤 사람이어야 하는가를 말하고 있는 책이라고 할 수 있다. 개발자라면 꼭 한번 이책을 읽어 보는 것을 추천한다.