Date: Mon., Oct 23rd, 2023, 04:00 PM – 05:20 PM (MDT) Alberta

Location: Virtual and at Mount Royal University in Calgary

Register Online Here

Sponsor: IEEE Southern Alberta Computer Chapter Sponsored Event

Speaker: Titus Winters, Principal Software Engineer at Google

Topic: Software Engineering Principles

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.

Speaker Biography:

Titus Winters, based in New York, NY, is currently the Principal Software Engineer at Google. As per Titus’s LinkedIn profile: Founder and TLM for Abseil (http://abseil.io). Tech Lead and manager for the team responsible for maintaining core C++ infrastructure code like the File abstractions, base networking infrastructure, and general data manipulation and data structure routines. Broad responsibility for the idioms, consistency, and maintainability of Google’s C++ codebase. Responsible for a number of massive API refactorings and the associated software engineering research necessary to perform those transformations..