Principles of Software Engineering

This is a past event

195 people went

Location image of event venue


This week we have the special honor to welcome Titus Winters to our user group. Titus has spent the past 6 years working on Google's core C++ libraries and helps maintain the Google C++ Style Guide. He's particularly interested in issues of large scale software engineering and codebase maintenance: how do we keep a codebase of over 100M lines of code consistent and flexible for the next decade?

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.

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. It is this need for sustainability that differentiates software engineering from programming.

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 tailored our engineering practices to factor in 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.

IMPORTANT NOTE: There is an event in the event space during the day, so our staff needs the time until 19:15 to set up the space for the meetup. If you arrive very early (earlier than 19:15) we would thus kindly ask you to wait in the lobby or courtyard.

The entrance to the space is the one labelled 10X, and we will open it once the space is set up.

19:15 -- Welcome with snacks and drinks
19:30 -- Welcome at Google
19:35 -- Lightning talk
19:45 -- Main talk
~21:00 -- Open discussions
22:15 -- Official end

Sponsor: Google (