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