snunc***
2022-05-29

지난 20년간 구글 소프트웨어 엔지니어가 구글에서 직접 경험한 내용을 바탕으로 코드의 가치를 가장 잘 유지하는 방법, 소프트웨어를 효율적으로 관리하는 프로세스 도입 방법, 구글의 문화를 소개하는 도서입니다.
전 세계 개발자가 극찬한, 소프트웨어 엔지니어의 바이블이라고 칭송 받는 도서가 국내에 상륙하고 말았다. 해당 도서는 아마존
소프트웨어 분야 베스트셀러로서 명실공히 해외 독자들에게 사랑 받고 인정 받고 있는 책이다. 현직 개발자라면 누구나 한 번쯤은
필독해야 할 도서라고 감히 언급할 수 있을 정도다. 오늘은 그 주인공인 '구글 엔지니어는 이렇게 일한다'라는 책에 대해 이야기를
풀어 나가려고 한다.
구글은 검색 엔진 기술로 현재에 이르기까지, 자타공인 내로라하는 전 세계 유슈의 빅테크 기업임을 모르는 이는 없을 것이다. 구
글의 엔지니어 출신 저자들이 한데 모여 저술한 이 책을 통해 도대체 무엇을 말하고 싶은 것일까? 적지 않은 분량의 지면을 통해
소프트웨어 엔지니어링에 대한 이모저모를 이야기하고 있는 이 책은 우리에게 어떤 가치를 주고 있을까?본 도서는 프로그래밍과
소프트웨어 엔지니어링의 차이점을 묻는 것으로 서막을 열어 나간다. 그동안 프로그래밍을 숱하게 해 왔지만 소프트웨어 엔지니
어링이란 도대체 우리에게 어떤 의미였을까? 저자는 단순하지만 근원적인 물음에 대한 대답을 제공하며, 이 책 전반을 관통하는
소프트웨어 엔지니어링의 본질적 가치에 대해 깊은 통찰을 제공하고 있다. 그렇다. 이 책은 프로그래밍이 아니라 소프트웨어 엔
지니어링을 이야기하고 있으며, 소프트웨어 엔지니어링의 중심과 그 주변을 둘러쌓고 있는 여럿 요소들을 다루고 있는 책이다.
프로그래밍과 소프트웨어 엔지니어링이 같지 않음을 이해하게 되고 나서는 본격적으로 올바르게 자리잡아야 할 소프트웨어 엔지
니어링 문화에 대해 이야기가 전개된다. 팀워크를 위시하여 팀과 조직 전체적으로 전파되고 공유되어야 할 올바른 지식 공유 문
화에 대한 서술을 통해, 다시 한번 소프트웨어 엔지니어링은 개인이 아닌 조직이 함께 수행하며 이끌어 나가는 것임을 명징하게
이해할 수 있게 된다. 이어서 다양성의 필요성과 팀을 리딩하며 조직이 성장할 수 있도록 이끌기 위한 원칙과 베스트 프랙티스에
대한 주요한 팁을 제공하며, 엔지니어링 생산성을 측정하는 이유와 그 가치에 대한 언급을 통해 팀이 한층 성장할 수 있는 문화
적 토양이 무엇인가에 대한 인사이트를 얻을 수 있는 기회를 갖게된다. 프로세스 파트에서는 코딩 컨벤션, 코드 리뷰, 문서 자료
, 테스트와 폐기 등에 대한 세부 주제를 놓고 보다 효율적이고 혁신적으로 소프트웨어 엔지니어링 프로세스가 안착할 수 있는 실
질적인 팁을 제공하며 다양한 엔지니어링 프랙티스에 대한 깊이 있고 풍부한 영감을 획득할 수 있는 계기가 마련된다.
마지막으로 도구 파트에서는 버전 관리를 비롯하여 Code Search, 빌드 철학, 정적 분석, 의존성 관리, 대규모 변경, CI/CD 등,
코드와 밀접한 주제를 통해 코드가 어떻게 다뤄져야 하며 보다 효율적으로 작성되고 빌드되며 분석되어, 쉽게 개선하고 원활하
게 프러덕션 환경에 배포될 수 있는 일련의 흐름을 면밀하고 심층적으로 풀어 나가고 있다.
구글 출신 엔지니어 저자들이 들려 주는 이야기가 전혀 지루하지 않고 아름답게 느껴졌음은 나만의 착각이었을까? 적지 않은 지
면을 통해 저자들이 이야기 하고 있는 소프트웨어 엔지니어링에 대한 정수를 맛볼 수 있었고, 그 본질적 가치를 온몸으로 깨달을
수 있었다. 이 도서를 통해 구글이 추구하는 가치를 오롯이 배울 수 있었던 것도 덤이지만, 소프트웨어 엔지니어링의 중심과 주변
부에 대한 담론이 이렇게 심오하고 철학적일 수 있었는지 몰랐음을 알게 되었고 진정한 소프트웨어 엔지니어링을 수행하기 위한 마
인드셋과 시야를 새롭게 갖출 수 있었던 것이 최고의 수확이라고 할 수 있겠다. 소프트웨어 엔지니어링의 본질을 알고 싶은 사람이
라면 이 책과 함께 시작하기를 강력히 추천한다.
P.S 한빛미디어 <나는 리뷰어다> 활동을 위해서 책을 제공받아 작성된 서평입니다.