블로그를 통해 지속 가능한 소프트웨어 개발에 대한 얕은 식견을 공유하고 있다.
그런데 최근 <Software Engineering at Google>(한글 제목: 구글 엔지니어는 이렇게 일한다)을 읽게 되었다.
소프트웨어 엔지니어로서 다양한 조직에서 경험한 시행착오와 깨닫게 된 내용이 이 책에 이미 대부분 정리되어 있었다.
조금 더 빨리 읽어볼 걸 하는 아쉬움이 남는다.
개인적으로 책 제목의 번역이 아쉽다고 생각한다.
예전부터 이 책에 대해 들어봤지만 <구글 엔지니어는 이렇게 일한다>라는 제목은 왠지 끌리지 않았다.
구글의 문화와 소프트스킬에 치중된 내용일 것이라고 예상되어 크게 흥미가 생기지 않았다.
(물론 목차도 살펴보지 않고 섣불리 평가한 내 잘못이다.)
그런데 실제로 책의 내용은 굉장히 현실적이고 실용적인 구글 개발자의 수많은 노하우가 들어있다.
너무도 상세하고 현실적인 예시들 때문에 마치 실제로 구글에서 일해본 것만 같은 기분까지 든다.
특히 1장에서 시간과 변경을 고려한 소프트웨어 엔지니어링에 대한 개념과 12, 13장에서 다루는 좋은 테스트 코드에 대한 예시가 압권이라고 생각한다.
읽는 내내 너무도 통쾌한 기분이 들었다.
평소에 엉성하게나마 좋은 시스템과 테스트 코드에 대한 나만의 개념들을 정립하고 있는데, 모든 생각이 깔끔하게 정리됐다.
역시 구글이라는 역사상 가장 성공적인 소프트웨어 엔지니어링 그룹을 이끄는 사람들이구나 하는 경외심마저 든다.
자신의 경험과 지식을 이토록 간결하고 체계적으로 전달할 수 있는 능력이 대단하다.
구글에서는 소프트웨어 엔지니어에게 문서화 능력까지도 요구한다고 하던데 이 말이 거짓은 아닌 것 같다.
다만 프로그래밍 경험이 적은 초보자 입장에서는 일부 내용이 다소 공감하기 어려울 수도 있을 것 같다.
대신 어느정도 프로젝트 경험이 있는 소프트웨어 엔지니어는 반드시 읽어야 되는 필독서라고 생각한다.
책상 앞에서 책 한 권으로 이런 진솔하고 실용적인 노하우를 배울 수 있는 것에 감사함을 느낀다.