Software Engineering encompasses not just the act of writing code, but all of the tools and processes an organization uses to build and maintain that code over time
The book emphasizes three fundamental principles that we feel software organizations should keep in mind when designing, architecting, and writing their code
Time and Change: How code will need to adapt over the length of its life
Scale and Growth: How an organization will need to adapt as it evolves
Trade-offs and Costs: How an organization makes decisions, based on the lessons of Time and Change and Scale and Growth
Google’s Perspective
Google’s software engineering landscape has three main aspects