Software Engineering Professional

Book Profile

Software Engineering at Google

Titus Winters, Tom Manshreck · 2020

Google engineers explain how to build sustainable software that lasts by focusing on the intersection of culture, processes, and tools required to manage code at scale and over time.

Get the book →

What's the difference between programming and software engineering? This book, written by engineers at Google, argues it's the dimension of time and scale. Drawing on two decades of experience managing one of the world's largest and longest-lived codebases, the authors present Google's unique philosophy and practices for building sustainable software. It moves beyond just writing code to cover the entire ecosystem, divided into three key parts: a culture built on teamwork and psychological safety, scalable processes like code reviews and automated testing, and powerful, centralized tools like their monorepo and distributed build system. For any engineer, team lead, or manager grappling with the growing complexity of their software, this book offers a comprehensive blueprint for how to make code that is adaptable, maintainable, and resilient to the inevitable challenges of change and growth.

What it argues

This model illustrates the core thesis of 'Software Engineering at Google,' which posits that specific investments in engineering culture, scalable processes, and unified tooling lead to improved psychological and behavioral states among engineers (such as higher velocity and collaborative ownership). These states, in turn, are the primary drivers of long-term software sustainability and the ability of the engineering organization to scale effectively.

Key ideas it contributes