What Makes a Great Engineering Culture?
-
Upload
edmond-lau -
Category
Technology
-
view
838 -
download
1
description
Transcript of What Makes a Great Engineering Culture?
![Page 2: What Makes a Great Engineering Culture?](https://reader036.fdocuments.net/reader036/viewer/2022081519/5581614cd8b42ac7228b4e24/html5/thumbnails/2.jpg)
About me- Former engineering lead of user growth at Quora- Led teams at Ooyala and worked on Google search- Writing a book on how to be an effective software engineer
![Page 3: What Makes a Great Engineering Culture?](https://reader036.fdocuments.net/reader036/viewer/2022081519/5581614cd8b42ac7228b4e24/html5/thumbnails/3.jpg)
Growing the team at Quora- Helped grow company from 12 to almost 70- Started mentoring & onboarding programs for new engineers- Developed interview guidelines and training sessions
![Page 4: What Makes a Great Engineering Culture?](https://reader036.fdocuments.net/reader036/viewer/2022081519/5581614cd8b42ac7228b4e24/html5/thumbnails/4.jpg)
Interviewed 500+ people- Many engineers from strong engineering companies- Google, Facebook, Palantir, Amazon, Dropbox, Apple, etc.
![Page 5: What Makes a Great Engineering Culture?](https://reader036.fdocuments.net/reader036/viewer/2022081519/5581614cd8b42ac7228b4e24/html5/thumbnails/5.jpg)
“A good culture attracts and keeps the kind of people that helps your company become successful.”
-- Andy Parkinson, greatcompanies.io
![Page 6: What Makes a Great Engineering Culture?](https://reader036.fdocuments.net/reader036/viewer/2022081519/5581614cd8b42ac7228b4e24/html5/thumbnails/6.jpg)
What is one thing you liked and one thing you disliked about the engineering culture at X?
![Page 7: What Makes a Great Engineering Culture?](https://reader036.fdocuments.net/reader036/viewer/2022081519/5581614cd8b42ac7228b4e24/html5/thumbnails/7.jpg)
10 elements of a great engineering culture
![Page 8: What Makes a Great Engineering Culture?](https://reader036.fdocuments.net/reader036/viewer/2022081519/5581614cd8b42ac7228b4e24/html5/thumbnails/8.jpg)
01 Optimize for iteration speed
![Page 9: What Makes a Great Engineering Culture?](https://reader036.fdocuments.net/reader036/viewer/2022081519/5581614cd8b42ac7228b4e24/html5/thumbnails/9.jpg)
Continuous DeploymentQuora released code 40-50 times a day.
![Page 10: What Makes a Great Engineering Culture?](https://reader036.fdocuments.net/reader036/viewer/2022081519/5581614cd8b42ac7228b4e24/html5/thumbnails/10.jpg)
Developer productivity tools- Continuous deployment- Continuous integration testing- Faster compile and build times- Incremental reloads for web servers
![Page 11: What Makes a Great Engineering Culture?](https://reader036.fdocuments.net/reader036/viewer/2022081519/5581614cd8b42ac7228b4e24/html5/thumbnails/11.jpg)
Avoid organizational bottlenecks- Google's weekly search UI review- Empower team leads to make decisions- Define clear channels for quick feedback
![Page 12: What Makes a Great Engineering Culture?](https://reader036.fdocuments.net/reader036/viewer/2022081519/5581614cd8b42ac7228b4e24/html5/thumbnails/12.jpg)
"Commit, explode, recover. "-- Bill Walsh, former 49ers coach
Image Credit: http://www.flickr.com/photos/nostri-imago/4439637126/
![Page 13: What Makes a Great Engineering Culture?](https://reader036.fdocuments.net/reader036/viewer/2022081519/5581614cd8b42ac7228b4e24/html5/thumbnails/13.jpg)
02 Develop high code quality through code reviews
![Page 14: What Makes a Great Engineering Culture?](https://reader036.fdocuments.net/reader036/viewer/2022081519/5581614cd8b42ac7228b4e24/html5/thumbnails/14.jpg)
Higher code quality lets you iterate faster- easier to reason about code- quicker to modify- less susceptible to bugs
![Page 15: What Makes a Great Engineering Culture?](https://reader036.fdocuments.net/reader036/viewer/2022081519/5581614cd8b42ac7228b4e24/html5/thumbnails/15.jpg)
Modelling is important
Fix broken windows
Image Credit: Broken Window, elizjoy
![Page 16: What Makes a Great Engineering Culture?](https://reader036.fdocuments.net/reader036/viewer/2022081519/5581614cd8b42ac7228b4e24/html5/thumbnails/16.jpg)
03 Push relentlessly toward automation
![Page 17: What Makes a Great Engineering Culture?](https://reader036.fdocuments.net/reader036/viewer/2022081519/5581614cd8b42ac7228b4e24/html5/thumbnails/17.jpg)
Automation is extremely high-leverage- Invest in automated testing.- Automatically handle failures, restart services.- Automatically scale up services at peak traffic.
![Page 18: What Makes a Great Engineering Culture?](https://reader036.fdocuments.net/reader036/viewer/2022081519/5581614cd8b42ac7228b4e24/html5/thumbnails/18.jpg)
"Optimize for minimal operational burden."-- Mike KriegerInstagram co-founder
Grew Instagram to over 40M users with 13-person team
![Page 19: What Makes a Great Engineering Culture?](https://reader036.fdocuments.net/reader036/viewer/2022081519/5581614cd8b42ac7228b4e24/html5/thumbnails/19.jpg)
04 Build the right software abstractions
![Page 20: What Makes a Great Engineering Culture?](https://reader036.fdocuments.net/reader036/viewer/2022081519/5581614cd8b42ac7228b4e24/html5/thumbnails/20.jpg)
"Pick the right ones, and programming will flow naturally from design... Pick the wrong ones, and ... even the simplest of changes will be hard to make."
-- MIT Professor Daniel Jackson, Software Abstractions
![Page 21: What Makes a Great Engineering Culture?](https://reader036.fdocuments.net/reader036/viewer/2022081519/5581614cd8b42ac7228b4e24/html5/thumbnails/21.jpg)
Compounding benefits of abstractionsGoogle - MapReduce, Bigtable, Protocol BuffersFacebook - Thrift, HiveQuora - Webnode, Livenode
![Page 22: What Makes a Great Engineering Culture?](https://reader036.fdocuments.net/reader036/viewer/2022081519/5581614cd8b42ac7228b4e24/html5/thumbnails/22.jpg)
05 Build an open and respectful work environment
![Page 23: What Makes a Great Engineering Culture?](https://reader036.fdocuments.net/reader036/viewer/2022081519/5581614cd8b42ac7228b4e24/html5/thumbnails/23.jpg)
“Writing software is a team sport.”-- Brian Fitzpatrick andBen Collins-Sussman, Team Geek
![Page 24: What Makes a Great Engineering Culture?](https://reader036.fdocuments.net/reader036/viewer/2022081519/5581614cd8b42ac7228b4e24/html5/thumbnails/24.jpg)
06 Build shared ownership of code
![Page 25: What Makes a Great Engineering Culture?](https://reader036.fdocuments.net/reader036/viewer/2022081519/5581614cd8b42ac7228b4e24/html5/thumbnails/25.jpg)
Keep the bus factor > 1
Image Credit: Wikimedia Commons ICCE Illinois School Bus
![Page 26: What Makes a Great Engineering Culture?](https://reader036.fdocuments.net/reader036/viewer/2022081519/5581614cd8b42ac7228b4e24/html5/thumbnails/26.jpg)
07 Embrace failure and accountability
![Page 27: What Makes a Great Engineering Culture?](https://reader036.fdocuments.net/reader036/viewer/2022081519/5581614cd8b42ac7228b4e24/html5/thumbnails/27.jpg)
annual award “to the individual who breaks flickr.com in the most spectacular way”
Image Credit: Dylan Couper, dvinfo.net
![Page 28: What Makes a Great Engineering Culture?](https://reader036.fdocuments.net/reader036/viewer/2022081519/5581614cd8b42ac7228b4e24/html5/thumbnails/28.jpg)
08 Allot 20% time
![Page 29: What Makes a Great Engineering Culture?](https://reader036.fdocuments.net/reader036/viewer/2022081519/5581614cd8b42ac7228b4e24/html5/thumbnails/29.jpg)
Promote experimentation- Google - 20% time- Ooyala - hackathons- Quora - offroad weeks- Facebook, Atlassian, Dropbox
Image Credit: Tempest, http://tempest.deviantart.com/
![Page 30: What Makes a Great Engineering Culture?](https://reader036.fdocuments.net/reader036/viewer/2022081519/5581614cd8b42ac7228b4e24/html5/thumbnails/30.jpg)
09 Build a culture of continuous improvement
![Page 31: What Makes a Great Engineering Culture?](https://reader036.fdocuments.net/reader036/viewer/2022081519/5581614cd8b42ac7228b4e24/html5/thumbnails/31.jpg)
Grow reusable knowledge- Invest in onboarding and mentoring- Encourage tech talks and document design discussions- Write codelabs
![Page 32: What Makes a Great Engineering Culture?](https://reader036.fdocuments.net/reader036/viewer/2022081519/5581614cd8b42ac7228b4e24/html5/thumbnails/32.jpg)
10 Make hiring a priority
![Page 33: What Makes a Great Engineering Culture?](https://reader036.fdocuments.net/reader036/viewer/2022081519/5581614cd8b42ac7228b4e24/html5/thumbnails/33.jpg)
"I figured Google would be better [than AltaVista] because I knew more of the people there, and they seemed like they were more technically savvy."-- Jeff Dean, Google Fellow, in Steven Levy's In the Plex
![Page 34: What Makes a Great Engineering Culture?](https://reader036.fdocuments.net/reader036/viewer/2022081519/5581614cd8b42ac7228b4e24/html5/thumbnails/34.jpg)
1 Iteration speed2 Code quality3 Automation4 Abstraction5 Respect
Build a great engineering culture
6 Shared ownership 7 Accountability 8 20% Time 9 Learning10 Hiring