[리뷰] 구글 엔지니어는 이렇게 일한다

커피 열잔으로 구글 멀티버스 체험하기

Jinhwan Kim
6 min readMay 15, 2022

이번 글은 구글 엔지니어는 이렇게 일한다 라는 책의 리뷰입니다.

한빛미디어나는 리뷰어다 활동을 위해서 책을 제공받아 작성된 서평입니다.

이번 책을 읽는 과정에서

  • 개발을 잘하지는 않지만 잠깐 했었고, 주업무는 데이터 직군이라는 개발과 비개발 사이의 업무를 했던 IT 업계에 근무했던 관점으로 읽었습니다.

요약

총 704페이지로 두꺼운 편

세계의 기술을 선도해가는 빅테크 기업들을 언급할때 항상 나오는 기업들 중 하나인 구글은 아래의 주가 차트처럼 나날이 영향이 커지고 있습니다. 당연하게도 구글에 대한 이야기를 다루고 있는 책 (특히 최근에는 OKR !) 또한 많이 있죠.

이번에 리뷰를 하기 위해 신청했던 이 책은 초판 발행일이 5월 10일로 나온지 얼마 안된 책인데요. 책을 읽기 전에 생각했던 질문이 2가지 있었습니다. (걱정반 기대반)

  • 첫번째로, 제가 잘 소화할 수 있는 책일까? 에 대한 질문입니다. 저는 좋은 엔지니어가 되고 싶기는 하지만 좋은 엔지니어는 아니기 때문이죠.
  • 두번째로, 다른 “구글러”의 책들과 어떤 차별점이 있을까? 였습니다. 구글의 여러 요인들을 소개하는 책들이 꽤 있고 몇권은 읽었기도 하기 때문입니다.

그 결과, 이 책의 2/3 정도를 구성하고 있는 개발에 대한 부분은 이해하기 까지 더 많은 시간이 필요할 것 같다고 생각했습니다. 그러나 나머지 1/3 정도의 부분은 꼭 개발자가 아니더라도 어떤 컨텐츠를 만들어가는 생산자 혹은 다른 사람과 협업을 하고 리드를 해야하는 사람이라면 충분히 읽고 도움 받을 수 있는 부분이라고 생각합니다.

개발에 대한 부분은 아쉽게도 미들이나 시니어급 이상의 개발자라면 참고 하면 큰 도움이 되겠지만, 주니어나 엔트리라면 (당연히 알아두면 좋지만) 이것 보다 더 우선으로 봐야할 부분들이 많다고 생각해요. (개인적인 생각입니다.)

또 하나의 특이한 점이라면, 이 책은 지은이라는 단어를 쓰지 않고 큐레이션 이라는 단어를 쓰고 있는데요. 수많은 사람들이 작성하고, 또 기여하고 편집한 글을 정리 한 내용을 기반으로 작성한 책이기 때문입니다.

수많은 구글러들이 기여한… 구글 홀드

요약이 너무 길어졌습니다. 그렇지만 너무 멋진 말이라, 곽용재 NHN 연구소장님께서 쓰신 리뷰의 일부분을 빌려오는 것으로 요약을 마치겠습니다.

시중에 나온 많고 많은 자기계발/실천법 서적들을 응축하여 구글이 핸드드립한 에스프레소를 마시는 느낌이니, 이 책만 잘 읽어도 이 바닥 전체를 섭렵한 기분이 들것입니다.

권장 독자

  • 1. 소프트웨어 엔지니어 (프로그래머 / 개발자)
  • 2. 조직에서 리더를 맡게 될 (맡고 있는) 사람.
  • 3. 자신이 하는 업무를 많이 생각하고 고민하는 장인이 되고 싶은 사람.

이 책의 장점

앞의 요약에서 언급한 “구글러” 책으로써의 장점은 서술하지 않겠습니다.

  • 번역이 정말 잘 되어 있습니다. 에세이나 동화처럼 부드럽게 술술 읽히기 때문에 웅장한 두께를 자랑하지만 겁먹지 않아도 좋을 것 같습니다.(단, 테크니컬한 도메인이 필요한 부분은 예외입니다 )
  • 각 장 마다 주요 내용들을 다시 정리해주고 있어서, 이 내용을 통해서 꼭 알아야 하는 핵심 내용을 기억 하기에 좋을 것이라고 생각합니다.
정리를 포함한 많은 내용들은 “실전 압축” 의 결과 이기도 합니다.
  • 적절한 예시나 그림을 통해 (어쩌면 구글의 사례) 설명하고자 하는 내용을 더 쉽게 이해 할 수 있습니다.
  • 책 전체가 우리 (구글)가 한 것이 무조건 정답이다 와 같은 톤보다는 우리는 이렇게 했었고, 앞으로 여러분을 포함해서 더 세상이 좋아지게 서로 기여하는 과정이 되었으면 좋겠다 의 톤으로 서술 되어 있다고 느꼈는데요. 고객이 아닌 구성원으로써의 구글의 문화를 책을 통해서지만 간접적으로 느껴볼 수 있다고 생각합니다

개인적으로 아쉬운 점

  • 책은 전제, 문화, 프로세스, 도구 라는 4개의 파트로 구성되어 있습니다. 그리고 만약 여러분이 개발자가 아니라면 이 중 프로세스와 도구 부분에서는 얻어가는 것이 상대적으로 적을 수 밖에 없습니다.
아 ~ 완벽히 이해했어!
  • (책의 단점은 아니지만), 이 책에서는 독자와 독자의 동료 수준이 구글러가 아니라는 것을 고려하지 못했습니다. 많은 조직들이 “아직은” 이 책에서의 구글 처럼 “우아한” 고민을 할 수 없는 상황 이라고 생각합니다. 가령 “코드 스타일을 맞춰야한다.” 라는 “소프트웨어 엔지니어링” 의 문장을 보면서 공감은 하겠지만 “모르겠고, 당장 내일 코드가 돌아가야 한다” 와 같은 “프로그래밍” 적인 접근을 해야 하는 경우도 너무 많기 때문이죠 (소프트웨어 엔지니어링과 프로그래밍은 이 책의 표현입니다)
  • 책이 꽤 두껍습니다. (700+ 페이지) 장식용으로도 아주 안성맞춤이죠. 만약 개발과 비개발 부분을 따로 나누어서 출판했어도 꽤 좋았을 것 같다라는 생각이 들었습니다. 큰 이슈는 아닙니다.

내용

1. 전제

  • 1장: 소프트웨어 엔지니어링

2. 문화

  • 2장: 팀워크
  • 3장: 지식공유
  • 4장: 사회를 위한 엔지니어링
  • 5~6장: 팀/조직 리딩
  • 7장: 개발에 대한 메트릭

3. 프로세스

  • 8장: 코딩 스타일 & 규칙
  • 9장: 코드 리뷰
  • 10장: 문서화
  • 11~14장: 테스트
  • 15장: 폐기 (시스템 걷어내기)

4. 도구

  • 16장: 버전 컨트롤
  • 17장: Code Search
  • 18장: 빌드
  • 19~20장: 코드리뷰 +
  • 21장: 디펜던시
  • 22장: 대규모 변경
  • 23~24장: CI/CD
  • 25장: 배포 인프라

(다시 한번) 아 완벽히 이해했어!

--

--

No responses yet