구글러가 전하는 문화, 프로세스, 도구의 모든 것

타이터스 윈터스, 톰 맨쉬렉, 하이럼 라이트 큐레이션

개앞맵시 옮김

 

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

 

2022년 5월

2022 나는 리뷰어다 활동의 네 번째 리뷰

 

5월의 리뷰할 책은 "구글 엔지니어는 이렇게 일한다 (Software Engineering at Google)"이다.

700페이지에 달하는 이 책은 구글은 어떻게 개발하고 코드를 관리하는가에 대해서 서술한 책이다.

 

소프트웨어 엔지니어링은 단순히 고객의 요구사항을 해소하는 것에만 그치지 않고, 문제의 근본 원은을 찾고 개선해나가며, 지속 가능성과 확장성을 고려하여 최적의 결과물을 만들어나가야 한다고 당근마켓 서비스코어 부문은 말하고 있다. 더불어 이 책이 소프트웨어 엔지니어로 나아가기 위한 길을 제시해준다고 말한다.

 

그리고 우아한테크코스를 총괄하고 계신 박재성 님은, 이 책이 소프트웨어 엔지니어링을 '시간 위를 걷는 프로그래밍'으로 정의한 표현을 읽는 순간, 소프트웨어 엔지니어링이라는 용어에 대한 거부감이 사라졌다고 한다. 프로그래밍에 시간 축을 추가함으로써 한 조직이 고려해야 할 개발 문화, 프로세스, 도구를 소개하는 책이라고 한다.

 

어디 한번 그런 책인지 들어가 보자.

 

지금까지 소프트웨어 엔지니어링 이론과 관례는 그리 엄격하지 않았지만 소프트웨어가 우리 삶에 깊숙이 파고들면서 우리도 더 엄격한 엔지니어링 방법을 채택하고 따라야 하는 시대가 도래했다.

 

시간 위를 걷는 프로그래밍

소프트웨어 엔지니어링은 단순히 코드를 작성하는 행위에 더하여, 시간의 흐름에 발맞춰 한 조직이 그 코드를 구축하고 유지 보수하는 데 이용하는 모든 도구와 프로세스를 포괄한다.

 

"흐르는 시간 위에서 순간순간의 프로그래밍을 모두 합산한 것이다.'라는 관점이 이 책의 핵심이다.

 

이 책은 소프트웨어 조직이 설계, 아키텍처 잡기, 코드 작성 시 명심해야 한다고 믿는 세 가지 기본 원칙을 강조한다.

- 시간과 변경 : 코드가 수명을 다할 때까지 새로운 요구사항에 잘 적응하려면 어떻게 해야 하는가?

- 규모와 성장 : 커져가는 규모에 발맞춰 조직은 어떻게 진화해야 하는가?

- 트레이드오프와 비용 : '시간과 변경', '규모와 성장'에서 얻는 교훈들을 바탕으로 조직은 어떻게 의사결정을 내려야 하는가?

 

이러한 원칙이 엔지니어링 관행에 영향을 주어 오래 지속되도록 만드는 방법이라 말하고 있다.

 

구글의 시각

구글은 그 규모와 역사 덕에 지속 가능한 소프트웨어 생태계의 성장과 진화를 바라보는 독특한 시각을 갖게 되었고, 이 깨우침 들을 독자들에게 전달하기 위해 노력하고 있다.

구글이 소프트웨어 엔지니어링을 바라보는 주된 시각에 따라 이 책의 주제를 세 가지로 나누었다.

 

- 문화

- 프로세스

- 도구

 

문화를 다루는 2부(2~7장)는 소프트웨어 기업이 갖는 집단적 본성, 쉽게 말해 소프트웨어 개발은 팀에 의해 이루어지므로 조직이 성장하고 건실하게 유지되려면 개발 문화 면에서도 올바른 원칙이 필요하다는 점을 강조한다.

 

프로세스를 다루는 3부(8~15장)에서 소개하는 기법 대부분은 대다수 소프트웨어 엔지니어에게 익숙할 것이다. 구글이 버텨낸 시간과 규모에서 효과적으로 작동한 프로세스들을 소개하고, 아직 시원한 답을 찾지 못한 영역도 이야기한다.

 

도구를 다루는 4부(16~25장)는 끊임없이 커져가고 나이를 먹는 코드 베이스를 말끔하게 관리하기 위해 구글이 도구 인프라에 어떻게 투자해왔는지를 이야기한다.

 

이 책에서 소개하는 문화, 프로세스, 도구는 일반적인 소프트웨어 엔지니어가 경력을 쌓아가며 얻었으면 하는 교훈들이다. 구글 엔지니어링의 엄청난 규모는 수많은 문제에 대처하는 다양한 해법을 제시하기에 충분할 것이다.

 

저자 중 톰 맨쉬렉은 이 책이 거대한 소프트웨어 엔지니어링 조직이 멋진 제품을 만드는 방법을 보여주는 창이 되길 희망하며, 독자 여러분이 재밌게 읽고 그중 몇 가지 교훈을 받아들여 여러분의 것으로 만드는 것을 바란다고 했다.

 

이제 이 글을 보시는 분들이 이 책을 구입하여 읽어 볼 때이다.

책의 분량이 많아서 아직 완독 하지는 못했지만 개발 실무진과 관리자 모두가 읽기에 좋은 책인 것은 분명하다.

책의 모든 것을 접목시킬 순 없겠지만 하나라도 시도하고 접목해 간다면 더 좋은 조직이 될 것이라 확신한다.

 

Love Yourself.

+ Recent posts