Software Engineering at Google

Fergus Henderson ยท article ยท 2019-02-19 source โ†— Reader ๐Ÿ–ฅ๏ธ

Hierarchy & Org ChartsPsychological SafetyPull Requests & Async Code ReviewSociotechnical ArchitectureTechnical DebtTrunk-Based & Continuous Delivery
Google sustains software velocity and quality at extreme scale (2+ billion lines, one repository, thousands of engineers) not through any single tool or policy but through a mutually reinforcing system of technical infrastructure (a single trunk-based monorepo, hermetic reproducible builds, and mandatory same-day code review) and organizational design (separated engineer/manager career tracks, OKRs deliberately decoupled from pay, 20% time, and periodic full rewrites) that together manufacture trust, ownership, and continuous renewal.

practical ยท expository โ€” A practitioner's catalog-and-recommend piece: Henderson describes Google's engineering and people-management practices as of ~2017-2019 so other organizations can 'compare and contrast... and consider whether to apply some of these practices themselves.' It argues implicitly for the practices by describing their rationale, without claiming controlled evidence of causation.

Structure

PartRole
Introduction (sec. 1)context
Software development practices: source repository, build system, code review, testing, bug tracking, languages, debugging tools, release engineering, launch approval, post-mortems, frequent rewrites (sec. 2)evidence โ€” the technical-infrastructure half of the system
Project management: 20% time, OKRs, project approval, reorganizations, hack weeks (sec. 3)evidence โ€” how Google allocates attention and discretion
People management: roles (EM/SWE/Research Scientist/SRE/PM/TPM), facilities, training, transfers, performance appraisal (sec. 4)evidence โ€” the organizational-design half of the system
Conclusions (sec. 5)concession + synthesis โ€” explicitly admits no quantitative/causal evidence connecting individual practices to outcomes, only that they 'have stood the test of time... subject to the collective subjective judgement of many thousands of excellent software engineers'

Key terms

Propositions

Arguments

Mandatory, author-chosen, same-day-ish code review at head is what lets thousands of engineers safely share one trunk without long-lived branches. strength: high
Explicit premises:
Implicit premises:
Inferences:
Separating the engineering and management career tracks, with technical leadership available without managing people, produces better outcomes than a single ladder that funnels senior ICs into management. strength: medium
Explicit premises:
Implicit premises:
Inferences:
Treating OKR scores as visible-but-not-reward-linked is what allows Google to ask for genuinely ambitious (not sandbagged) goals.
Explicit premises:
Implicit premises:

Narratives

Questions addressed

Gaps

Related documents