Google is probably the most representative company in software engineering today, and also one of the most stable ones when it comes to organisations that recognise and respect the craft. They've been going steadily for over 20 years, and have been pioneers when it comes to strategies on how to build programmes sustainably and reliably. Naturally, I was keen to learn from their experiences as well, and here are some things I picked up:
- Cost encompasses finances, resources, personnel and transactions (what does it cost to take action);
- In creative fields, finances are usually not the limiting factor;
- Behavioural principles: humility, respect and trust;
- The social game is not about politics, it's about creating relationships to get things done;
- Not failing means you're not being innovative enough;
- Testing on the Toilet and Learning on the Loo - love a catchy name;
- 1-2% of Google engineers are readability reviewers for programming languages and they operate as volunteers;
- Don't build for everyone, build with everyone;
- Creatives need nurturing, time and space to think and create;
- Hope is not a strategy - build for failure handling;
- Goals/Signals/Metrics to guide metrics creation;
- Tests begin to lose value at 1% flakiness;
- Hyrum's Law: the customer usage of your API speaks the truth, not your intended use;
- Use third party APIs as seams for tests;
- Deprecation warnings should have actionability and relevance - don't really on the customer to deprecate it for you;
- UI is considered responsive if latencies are below 200ms;
- You can avoid becoming dependent on your public cloud solution via using open-source, build tooling on top of it, or using a hybrid (even between 2 publics or a public and a private).
Overall, great read, especially the chapters on Code Reviews, Dependency Management and CI/CD. Easy to read, yet thorough and with plenty of examples of issues that Google dealt with, both in technical depth as well as business depth. Highly recommended and one where I will keep looking at my annotations!