Overview
Explore the principles and practices of software engineering at Google in this insightful ACM talk. Discover how time, scale, and tradeoffs guide Google's approach to maintaining one of the world's largest codebases. Learn about the challenges of long-term code sustainability, the impact of Hyrum's Law, and strategies for managing large-scale refactoring projects. Gain valuable insights into Google's methods for ensuring code health, scalability, and maintainability across billions of lines of code. Understand the distinction between programming and software engineering, and how Google addresses the unique challenges of operating at an unprecedented scale. Delve into topics such as deprecation, the "churn rule," and the importance of evidence-based decision making in software development. Benefit from the experiences and lessons learned by Google's senior engineers as they share their approach to building and maintaining robust, reliable, and adaptable software systems.
Syllabus
Introduction
Whats the secret
Lifespan
Hirams Law
Nondeterminism
Shaking out hidden dependencies
treading new ground
sustainability
software engineering
deprecation
heroics
churn rule
super linear
tactically
Scaling problems
Shifting left
Scale
Make good choices
Aim for sustainability
Book as a Whole
The Idea
Questions
Human Factors
Build Systems
Constraints
Tensions
Time
Threetiered model
Hardware is cheap
Visibility
Software Engineering Education
Taught by
Association for Computing Machinery (ACM)