구글 엔지니어는 이렇게 일한다
소프트웨어 엔지니어링의 특징(프로그래밍과 비교한)
- sustainability
- 시간이 흐름에 따라 요구되는 기술적, 비즈니스적 변화에 capable 해야함
- 코드의 지속가능성을 높이는 방향성
- 기발한(clever) 코드가 아니라 클린한 코드
- 변할 가능성이 있는 의존을 제거함
- 규모 확장성
- (주로)조직 규모, (부가적으로) 컴퓨트 자원 확장에 드는 비용보다 효용이 높은 상태를 유지해야함
- 트레이드 오프
- 만병통치약은 없으며 모든 선택 간 트레이드 오프를 따져야함
- 가설과 추정으로 선택하는 것도 좋지만 데이터로 근거있는 결정을 내리는게 중요할 때가 있다