구글 엔지니어는 이렇게 일한다

소프트웨어 엔지니어링의 특징(프로그래밍과 비교한)

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

refs