콘텐츠 바로가기
본문 바로가기


블로그 전체검색
구글 엔지니어는 이렇게 일한다

[도서] 구글 엔지니어는 이렇게 일한다

타이터스 윈터스,톰 맨쉬렉,하이럼 라이트 저/개앞맵시(이복연) 역

내용 평점 5점

구성 평점 5점

[나의 한줄 추천사]

구글에서는 소프트웨어 개발을 어떻게 할까? 항상 궁금했는데, 질문을 해소할 수 있는 책이 드디어 나왔다.

[책 추천 이유]

소프트웨어 공학을 대학교때 배우고, 오랜만에 실전편을 보는 듯 싶다. 크게 3가지 '문화', '프로세스', '도구' 를 나눠서 설명하고 있으며, 유비 보수 지속 가능한 프로그램을 개발하고 싶은 사람들에게 단비 같은 책이다.

(참고로 소프트웨어 설계는 다루지 않는다.)

[내가 찾고자 했던 질문들]

1. 구글의 개발 문화는 어떠한가?

- 소스코드를 같이 공유하지 않는 것을 극도로 싫어한다. 모든 소스코드는 공유되어서 "버스 지수"를 낮추는 것이 핵심이다. 여기서 "버스 지수"는 몇 명의 팀원이 버스에 치어서 일을 할 수 없게 될때 프로젝트가 망하게 되는지를 나타내는 지수이다. 그리고 개발할때 빠르게 실패하기를 반복하라고 한다. 이 부분은 우리도 개발할때 사용하고 있는데 너무 효과적이다. 빠르게는 Mock를 빠르게 만들어서 보여주고, 실패하기 부분은 우리한테는 피드백을 받아서 스케일업 시키는 부분이라고 하겠다.매우 효과적인 방법이다. 구글은 사람을 대하는 구글만의 '겸손, 존중, 신뢰'를 원칙으로 한다. 절대 같은 동료에게는 비난하지 않는다. 지식 공유 부분도 상당히 공감이 된다. 자기만 알고 있으면 시너지 발생이 안된다. 같이 공유되어야 개발속도가 배로 증가한다. 관리 부분에 '디자인 패턴' 적용한 부분이 흥미롭다. 올바른 패턴 부분에 "자존심 버리기", "마음 다스리기", "촉매자 되기", "장애물 치우기", "멘토되기", "명확한 목표 세우기", "행복한지 확인하기" 있다.

 

2. 구글의 개발 프로세는 어떠한가?

- 코드 스타일 가이드와 규칙을 정한다. 코드 리뷰 한다. 자료를 문서화 한다. 자동(수동) 테스트를 만든다. 무엇보다도 "테스트" 부분을 중요하게 보는 이유가 chapter 11 ~ 14 장까지 다 테스트 관련 내용이다. 코드가 거대해질 수록 코드의 엔트로피는 엄청나게 늘어난다. 단위테스트부터 통합테스트까지 넘어야 하는 허들들이 많아지기 때문에 그만큼 "테스트" 부분에 개발 프로세스가 많이 집중되는 것도 충분히 이해가 된다. B2C 기업일 경우 더욱더 그러하겠다.

3. 구글의 개발 도구는 어떠한가?

- 소스코드의 형상관리, 버전관리, 브랜치 관리

- 소스코드 검색하는 도구

- 빌드 시스템

- 코드 리뷰 도구

- 정적 분석

- 의존성 관리

- 지속적 통합 / 배포

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

 
취소

댓글쓰기

저장
덧글 작성
0/1,000

댓글 수 0

댓글쓰기
첫 댓글을 작성해주세요.

PRIDE1