Session: Software Engineering Principles

FREE Live + Rec

Software Engineering Principles

Date and time:

July 5, 2022 17:00 (GMT +03:00)

Add to calendar: Google Apple Outlook Yahoo

About:

What is the secret to software engineering at Google? Over the years, we’ve come to recognize three key principles that guide our practices and decisions: Time, Scale, and Tradeoffs. We recently published a book with O’Reilly on those principles, and we’ll share the key ideas here.
Software engineering and programming are related but different problems. If programming is about producing code, software engineering is about maintaining that code for the duration of its usefulness. It is about the practices, policies, and decisions that support robust and reliable code. It is about building for growth and for the ability to manage change, sustainably.
At Google, we have learned many lessons related to the sustainability of software. Google arguably maintains one of the largest codebases ever. The expected lifespan of the codebase is at least another couple of decades. We’ve needed to figure out how to operate at a scale previously unattempted for a timespan longer than most others have considered. Learning from the difficulties that we have encountered along the way while wrangling with this unprecedented problem, we have developed practices around time, scaling, and evidence-based decision making. This is what has enabled us to operate as we do.
This talk will explore the themes of time, scale, and tradeoffs in the context of sustainable software engineering. We will discuss the impact that each of these factors has on the process of software development and maintenance and how Google has shaped its engineering practices to take these principles into account.

Speakers:

Titus Winters

Principal Engineer, Google

Titus is a Principal Engineer at Google, where he has worked since 2010. At Google, he is the library lead for Google’s C++ codebase: 250 million lines of code that will be edited by 12K distinct engineers in a month. He served several years as the chair of the subcommittee for the design of the C++ standard library. For the last 10 years, Titus and his teams have been organizing, maintaining, and evolving the foundational components of Google’s C++ codebase using modern automation and tooling. Along the way he has started several Google projects that are believed to be in the top 10 largest refactorings in human history. That unique scale and perspective has informed all of his thinking on the care and feeding of software systems. He was the lead on the book “Software Engineering at Google” (aka “The Flamingo Book”), published by O’Reilly in early 2020.

Schedule:
17:00—18:00

Software Engineering Principles

Past Events

Workshop: Running Cypress on CI: part 2/2

November 25, 2021 18:00 (GMT +02:00)

Gleb Bahmutov

FREE Live + Rec

Learn how to run Cypress on a generic CI, on GitHub Actions, on CircleCI, and on Netlify

Learn more

Workshop: Running Cypress on CI: part 1/2

November 24, 2021 18:00 (GMT +02:00)

Gleb Bahmutov

FREE Live + Rec

Learn how to run Cypress on a generic CI, on GitHub Actions, on CircleCI, and on Netlify

Learn more

Workshop: Mocking and TDD for testers part: 3/3

November 18, 2021 18:00 (GMT +02:00)

Maciej Wyrodek

FREE Live + Rec

Mocking and TDD for testers: part 3 - TDD

Learn more

Workshop: Mocking and TDD for testers part: 2/3

November 17, 2021 18:00 (GMT +02:00)

Maciej Wyrodek

FREE Live + Rec

Mocking and TDD for testers: part 2 - Mocking

Learn more