Software Engineering At Google
Chapter #3 - Knowledge Sharing (3 of 3)
Software Engineering at Google Chapter #3 - Knowledge Sharing (3 of 3)
The first time you read a document is the best time to update it
Documentation helps your organization scale
Cultivate a knowledge sharing culture
Respect each other, no brilliant jerks, no assholes
At Google, more senior rungs on the ladder specifically call out wider, cross-team influence
Grow future leaders by first having them be mentors to juniors
Peer rewards allows an individual contributor to give an award of some sort (gift card, etc) to another individual contributor. This way recognition for good work does not only come from management.
Create a developer guide for your company so there is agreement on how your company works and so you have a document to provide to new hires
Static analysis is a way to enforce best practices programmatically
Static analysis tools scale very well
Static analysis tools are often worth the investment as they free up all engineers from fixing simple, repeated mistakes
The other powerful point about static analysis tools is that they enforce best practices 100% of the time; they can’t be missed by a human code reviewer
Newsletters and communities keep people in the loop
At Google a Readability Review is how humans disseminate best practices. This is more than a code review and covers code structure, language idioms, appropriate use of common libraries, and more.
Readability reviews should be a teaching, mentoring, cooperative experience
If you don’t know something, ask for clarification
Highly readable code is important to help scale an engineering organization
Code is read many more times than it is written. That is the value of consistent code.
Increased short term latency due to code review pays off later
Take notes. Write things down. Don’t let ideas and thoughts drift away.
Thank you for your time and attention.
Apply what you've learned here.
Enjoy it all.
© 2021 Josh Turgasen
All product names, logos, and trademarks are property of their respective owners