Software Engineering Principles

#Software_Engineering
Share

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.



  Date and Time

  Location

  Hosts

  Registration



  • Date: 23 Oct 2023
  • Time: 04:00 PM to 05:20 PM
  • All times are (UTC-06:00) Mountain Time (US & Canada)
  • Add_To_Calendar_icon Add Event to Calendar
If you are not a robot, please complete the ReCAPTCHA to display virtual attendance info.
  • Calgary, Alberta
  • Canada T3E 6K6

  • Contact Event Host
  • Starts 08 October 2023 11:24 PM
  • Ends 19 October 2023 05:00 PM
  • All times are (UTC-06:00) Mountain Time (US & Canada)
  • 9 in-person spaces left!
  • No Admission Charge


  Speakers

Topic:

Titus Winters - Principal Software Engineer at Google

Titus is a Principal Software 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 for 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. His most recent project is the book Software Engineering at Google (aka “The Flamingo Book”), published by O’Reilly in early 2020.