SlideShare ist ein Scribd-Unternehmen logo
1 von 35
Downloaden Sie, um offline zu lesen
What makes a great engineering culture?
Edmond Lau
@edmondlau
www.theeffectiveengineer.com
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
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
Interviewed 500+ people
- Many engineers from strong engineering companies
- Google, Facebook, Palantir, Amazon, Dropbox, Apple, etc.
“A good culture attracts and keeps the kind of people
that helps your company become successful.”
-- Andy Parkinson, greatcompanies.io
What is one thing you liked and one thing you
disliked about the engineering culture at X?
10 elements of a great engineering culture
01 Optimize for iteration speed
Continuous Deployment
Quora released code 40-50 times a day.
Developer productivity tools
- Continuous deployment
- Continuous integration testing
- Faster compile and build times
- Incremental reloads for web servers
Avoid organizational bottlenecks
- Google's weekly search UI review
- Empower team leads to make decisions
- Define clear channels for quick feedback
"Commit, explode, recover. "
-- Bill Walsh, former 49ers coach

Image Credit: http://www.flickr.com/photos/nostri-imago/4439637126/
02 Develop high code quality through code reviews
Higher code quality lets you iterate faster
- easier to reason about code
- quicker to modify
- less susceptible to bugs
Fix broken windows
Modelling is important

Image Credit: Broken Window, elizjoy
03 Push relentlessly toward automation
Automation is extremely high-leverage
- Invest in automated testing.
- Automatically handle failures, restart services.
- Automatically scale up services at peak traffic.
"Optimize for minimal
operational burden."
-- Mike Krieger
Instagram co-founder
Grew Instagram to over 40M
users with 13-person team
04 Build the right software abstractions
"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
Compounding benefits of abstractions
Google - MapReduce, Bigtable, Protocol Buffers
Facebook - Thrift, Hive
Quora - Webnode, Livenode
05 Build an open and respectful work environment
“Writing software is
a team sport.”
-- Brian Fitzpatrick and
Ben Collins-Sussman, Team Geek
06 Build shared ownership of code
Keep the bus factor > 1
Image Credit: Wikimedia Commons ICCE Illinois School Bus
07 Embrace failure and accountability
annual award “to the
individual who breaks
flickr.com in the most
spectacular way”
Image Credit: Dylan Couper, dvinfo.net
08 Allot 20% time
Promote experimentation
- Google - 20% time
- Ooyala - hackathons
- Quora - offroad weeks
- Facebook, Atlassian, Dropbox
Image Credit: Tempest, http://tempest.deviantart.com/
09 Build a culture of continuous improvement
Grow reusable knowledge
- Invest in onboarding and mentoring
- Encourage tech talks and document design discussions
- Write codelabs
10 Make hiring a priority
"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
Build a great engineering culture
1 Iteration speed
2 Code quality
3 Automation
4 Abstraction
5 Respect

6 Shared ownership
7 Accountability
8 20% Time
9 Learning
10 Hiring
Q &A
- edmondlau@alum.mit.edu
- @edmondlau
- My upcoming book: www.theeffectiveengineer.com/book

Weitere ähnliche Inhalte

Was ist angesagt?

Agile Methodology PPT
Agile Methodology PPTAgile Methodology PPT
Agile Methodology PPTMohit Kumar
 
Agile vs Waterfall | Difference between Agile and Waterfall | Edureka
Agile vs Waterfall | Difference between Agile and Waterfall | EdurekaAgile vs Waterfall | Difference between Agile and Waterfall | Edureka
Agile vs Waterfall | Difference between Agile and Waterfall | EdurekaEdureka!
 
Hive on spark is blazing fast or is it final
Hive on spark is blazing fast or is it finalHive on spark is blazing fast or is it final
Hive on spark is blazing fast or is it finalHortonworks
 
Crystal Hirschorn_Building Internal Developer Platforms that will make the en...
Crystal Hirschorn_Building Internal Developer Platforms that will make the en...Crystal Hirschorn_Building Internal Developer Platforms that will make the en...
Crystal Hirschorn_Building Internal Developer Platforms that will make the en...VMware Tanzu
 
Agile & SCRUM basics
Agile & SCRUM basicsAgile & SCRUM basics
Agile & SCRUM basicsArun R
 
OpenAI GPT in Depth - Questions and Misconceptions
OpenAI GPT in Depth - Questions and MisconceptionsOpenAI GPT in Depth - Questions and Misconceptions
OpenAI GPT in Depth - Questions and MisconceptionsIvo Andreev
 
Generative AI - Responsible Path Forward.pdf
Generative AI - Responsible Path Forward.pdfGenerative AI - Responsible Path Forward.pdf
Generative AI - Responsible Path Forward.pdfSaeed Al Dhaheri
 
Data Streaming Ecosystem Management at Booking.com
Data Streaming Ecosystem Management at Booking.com Data Streaming Ecosystem Management at Booking.com
Data Streaming Ecosystem Management at Booking.com confluent
 
Best Practice of Compression/Decompression Codes in Apache Spark with Sophia...
 Best Practice of Compression/Decompression Codes in Apache Spark with Sophia... Best Practice of Compression/Decompression Codes in Apache Spark with Sophia...
Best Practice of Compression/Decompression Codes in Apache Spark with Sophia...Databricks
 
ChatGPT-the-revolution-is-coming.pdf
ChatGPT-the-revolution-is-coming.pdfChatGPT-the-revolution-is-coming.pdf
ChatGPT-the-revolution-is-coming.pdfLiang Yan
 
Google Cloud GenAI Overview_071223.pptx
Google Cloud GenAI Overview_071223.pptxGoogle Cloud GenAI Overview_071223.pptx
Google Cloud GenAI Overview_071223.pptxVishPothapu
 
PopcornFlow: Continuous Evolution Through Ultra-Rapid Experimentation
PopcornFlow: Continuous Evolution Through Ultra-Rapid ExperimentationPopcornFlow: Continuous Evolution Through Ultra-Rapid Experimentation
PopcornFlow: Continuous Evolution Through Ultra-Rapid ExperimentationClaudio Perrone
 
Introduction to Chat GPT
Introduction to Chat GPTIntroduction to Chat GPT
Introduction to Chat GPTDianaGray10
 
Agile Values, Principles and Practices
Agile Values, Principles and PracticesAgile Values, Principles and Practices
Agile Values, Principles and Practicesjackcrews
 
Unlocking the Power of ChatGPT and AI in Testing - NextSteps, presented by Ap...
Unlocking the Power of ChatGPT and AI in Testing - NextSteps, presented by Ap...Unlocking the Power of ChatGPT and AI in Testing - NextSteps, presented by Ap...
Unlocking the Power of ChatGPT and AI in Testing - NextSteps, presented by Ap...Applitools
 
ChatGPT OpenAI Primer for Business
ChatGPT OpenAI Primer for BusinessChatGPT OpenAI Primer for Business
ChatGPT OpenAI Primer for BusinessDion Hinchcliffe
 

Was ist angesagt? (20)

Agile Methodology PPT
Agile Methodology PPTAgile Methodology PPT
Agile Methodology PPT
 
Computer Science
Computer ScienceComputer Science
Computer Science
 
Agile vs Waterfall | Difference between Agile and Waterfall | Edureka
Agile vs Waterfall | Difference between Agile and Waterfall | EdurekaAgile vs Waterfall | Difference between Agile and Waterfall | Edureka
Agile vs Waterfall | Difference between Agile and Waterfall | Edureka
 
Hive on spark is blazing fast or is it final
Hive on spark is blazing fast or is it finalHive on spark is blazing fast or is it final
Hive on spark is blazing fast or is it final
 
Crystal Hirschorn_Building Internal Developer Platforms that will make the en...
Crystal Hirschorn_Building Internal Developer Platforms that will make the en...Crystal Hirschorn_Building Internal Developer Platforms that will make the en...
Crystal Hirschorn_Building Internal Developer Platforms that will make the en...
 
Agile & SCRUM basics
Agile & SCRUM basicsAgile & SCRUM basics
Agile & SCRUM basics
 
OpenAI GPT in Depth - Questions and Misconceptions
OpenAI GPT in Depth - Questions and MisconceptionsOpenAI GPT in Depth - Questions and Misconceptions
OpenAI GPT in Depth - Questions and Misconceptions
 
State of the Cloud 2023—The AI era
State of the Cloud 2023—The AI eraState of the Cloud 2023—The AI era
State of the Cloud 2023—The AI era
 
Generative AI - Responsible Path Forward.pdf
Generative AI - Responsible Path Forward.pdfGenerative AI - Responsible Path Forward.pdf
Generative AI - Responsible Path Forward.pdf
 
Data Streaming Ecosystem Management at Booking.com
Data Streaming Ecosystem Management at Booking.com Data Streaming Ecosystem Management at Booking.com
Data Streaming Ecosystem Management at Booking.com
 
Best Practice of Compression/Decompression Codes in Apache Spark with Sophia...
 Best Practice of Compression/Decompression Codes in Apache Spark with Sophia... Best Practice of Compression/Decompression Codes in Apache Spark with Sophia...
Best Practice of Compression/Decompression Codes in Apache Spark with Sophia...
 
ChatGPT-the-revolution-is-coming.pdf
ChatGPT-the-revolution-is-coming.pdfChatGPT-the-revolution-is-coming.pdf
ChatGPT-the-revolution-is-coming.pdf
 
Google Cloud GenAI Overview_071223.pptx
Google Cloud GenAI Overview_071223.pptxGoogle Cloud GenAI Overview_071223.pptx
Google Cloud GenAI Overview_071223.pptx
 
PopcornFlow: Continuous Evolution Through Ultra-Rapid Experimentation
PopcornFlow: Continuous Evolution Through Ultra-Rapid ExperimentationPopcornFlow: Continuous Evolution Through Ultra-Rapid Experimentation
PopcornFlow: Continuous Evolution Through Ultra-Rapid Experimentation
 
Introduction to Chat GPT
Introduction to Chat GPTIntroduction to Chat GPT
Introduction to Chat GPT
 
Agile Values, Principles and Practices
Agile Values, Principles and PracticesAgile Values, Principles and Practices
Agile Values, Principles and Practices
 
DevOps for beginners
DevOps for beginnersDevOps for beginners
DevOps for beginners
 
Unlocking the Power of ChatGPT and AI in Testing - NextSteps, presented by Ap...
Unlocking the Power of ChatGPT and AI in Testing - NextSteps, presented by Ap...Unlocking the Power of ChatGPT and AI in Testing - NextSteps, presented by Ap...
Unlocking the Power of ChatGPT and AI in Testing - NextSteps, presented by Ap...
 
ChatGPT OpenAI Primer for Business
ChatGPT OpenAI Primer for BusinessChatGPT OpenAI Primer for Business
ChatGPT OpenAI Primer for Business
 
Extreme programming
Extreme programmingExtreme programming
Extreme programming
 

Ähnlich wie What Makes a Great Engineering Culture?

Top 3 ways to use your UX team - producttank DFW Meetup
Top 3 ways to use your UX team - producttank DFW MeetupTop 3 ways to use your UX team - producttank DFW Meetup
Top 3 ways to use your UX team - producttank DFW MeetupJeremy Johnson
 
Innovation Excellence Weekly - Issue 18
Innovation Excellence Weekly - Issue 18Innovation Excellence Weekly - Issue 18
Innovation Excellence Weekly - Issue 18Innovation Excellence
 
Data-driven Approach to Launching your Career
Data-driven Approach to Launching your CareerData-driven Approach to Launching your Career
Data-driven Approach to Launching your CareerViral Kadakia
 
Product Teams Need a Family Too! @ Agile Delivery Meetup, May 2020
Product Teams Need a Family Too! @ Agile Delivery Meetup, May 2020Product Teams Need a Family Too! @ Agile Delivery Meetup, May 2020
Product Teams Need a Family Too! @ Agile Delivery Meetup, May 2020Manuel Pais
 
Keynote@CADE2018_HalukDemirkan
Keynote@CADE2018_HalukDemirkanKeynote@CADE2018_HalukDemirkan
Keynote@CADE2018_HalukDemirkanHaluk Demirkan
 
Recommender Problems Introduction
Recommender Problems IntroductionRecommender Problems Introduction
Recommender Problems IntroductionMinh Nguyen
 
TechEvent 2019: Artificial Intelligence in Dev & Ops; Martin Luckow - Trivadis
TechEvent 2019: Artificial Intelligence in Dev & Ops; Martin Luckow - TrivadisTechEvent 2019: Artificial Intelligence in Dev & Ops; Martin Luckow - Trivadis
TechEvent 2019: Artificial Intelligence in Dev & Ops; Martin Luckow - TrivadisTrivadis
 
2013_OSCON_Innovation_Presentation
2013_OSCON_Innovation_Presentation2013_OSCON_Innovation_Presentation
2013_OSCON_Innovation_PresentationLaszlo Szalvay
 
How Organizations Can Prepare for Microsoft Viva
How Organizations Can Prepare for Microsoft VivaHow Organizations Can Prepare for Microsoft Viva
How Organizations Can Prepare for Microsoft VivaChristian Buckley
 
DevOps Frequently Asked Questions of 2013 with Gene Kim and Jonathan Thorpe (...
DevOps Frequently Asked Questions of 2013 with Gene Kim and Jonathan Thorpe (...DevOps Frequently Asked Questions of 2013 with Gene Kim and Jonathan Thorpe (...
DevOps Frequently Asked Questions of 2013 with Gene Kim and Jonathan Thorpe (...Serena Software
 
Generating Business Value Through Social
Generating Business Value Through SocialGenerating Business Value Through Social
Generating Business Value Through SocialChristian Buckley
 
Building Scalable Organizations
Building Scalable OrganizationsBuilding Scalable Organizations
Building Scalable Organizationsmfisher5kavika
 
KM World Enterprise Social Networking 2007
KM World Enterprise Social Networking 2007KM World Enterprise Social Networking 2007
KM World Enterprise Social Networking 2007Christian Gray
 
Humans in the loop: AI in open source and industry
Humans in the loop: AI in open source and industryHumans in the loop: AI in open source and industry
Humans in the loop: AI in open source and industryPaco Nathan
 
Including the User: How insights drive business #pswud2017
Including the User: How insights drive business #pswud2017Including the User: How insights drive business #pswud2017
Including the User: How insights drive business #pswud2017Jeremy Johnson
 
Creating a Learning Organisation in the Distracted Digital Age
Creating a Learning Organisation in the Distracted Digital AgeCreating a Learning Organisation in the Distracted Digital Age
Creating a Learning Organisation in the Distracted Digital AgeIndus Net Technologies
 
The Disciplines of Continuous innovation
The Disciplines of Continuous innovationThe Disciplines of Continuous innovation
The Disciplines of Continuous innovationBrad Power
 
Social Media for HR masterclass to Philips India HR Team
Social Media for HR masterclass to Philips India HR TeamSocial Media for HR masterclass to Philips India HR Team
Social Media for HR masterclass to Philips India HR TeamGautam Ghosh
 
O'Reilly ebook: Machine Learning at Enterprise Scale | Qubole
O'Reilly ebook: Machine Learning at Enterprise Scale | QuboleO'Reilly ebook: Machine Learning at Enterprise Scale | Qubole
O'Reilly ebook: Machine Learning at Enterprise Scale | QuboleVasu S
 
What can DesignOps do for you? by Carol Smith at TLMUX in Montreal
What can DesignOps do for you? by Carol Smith at TLMUX in MontrealWhat can DesignOps do for you? by Carol Smith at TLMUX in Montreal
What can DesignOps do for you? by Carol Smith at TLMUX in MontrealCarol Smith
 

Ähnlich wie What Makes a Great Engineering Culture? (20)

Top 3 ways to use your UX team - producttank DFW Meetup
Top 3 ways to use your UX team - producttank DFW MeetupTop 3 ways to use your UX team - producttank DFW Meetup
Top 3 ways to use your UX team - producttank DFW Meetup
 
Innovation Excellence Weekly - Issue 18
Innovation Excellence Weekly - Issue 18Innovation Excellence Weekly - Issue 18
Innovation Excellence Weekly - Issue 18
 
Data-driven Approach to Launching your Career
Data-driven Approach to Launching your CareerData-driven Approach to Launching your Career
Data-driven Approach to Launching your Career
 
Product Teams Need a Family Too! @ Agile Delivery Meetup, May 2020
Product Teams Need a Family Too! @ Agile Delivery Meetup, May 2020Product Teams Need a Family Too! @ Agile Delivery Meetup, May 2020
Product Teams Need a Family Too! @ Agile Delivery Meetup, May 2020
 
Keynote@CADE2018_HalukDemirkan
Keynote@CADE2018_HalukDemirkanKeynote@CADE2018_HalukDemirkan
Keynote@CADE2018_HalukDemirkan
 
Recommender Problems Introduction
Recommender Problems IntroductionRecommender Problems Introduction
Recommender Problems Introduction
 
TechEvent 2019: Artificial Intelligence in Dev & Ops; Martin Luckow - Trivadis
TechEvent 2019: Artificial Intelligence in Dev & Ops; Martin Luckow - TrivadisTechEvent 2019: Artificial Intelligence in Dev & Ops; Martin Luckow - Trivadis
TechEvent 2019: Artificial Intelligence in Dev & Ops; Martin Luckow - Trivadis
 
2013_OSCON_Innovation_Presentation
2013_OSCON_Innovation_Presentation2013_OSCON_Innovation_Presentation
2013_OSCON_Innovation_Presentation
 
How Organizations Can Prepare for Microsoft Viva
How Organizations Can Prepare for Microsoft VivaHow Organizations Can Prepare for Microsoft Viva
How Organizations Can Prepare for Microsoft Viva
 
DevOps Frequently Asked Questions of 2013 with Gene Kim and Jonathan Thorpe (...
DevOps Frequently Asked Questions of 2013 with Gene Kim and Jonathan Thorpe (...DevOps Frequently Asked Questions of 2013 with Gene Kim and Jonathan Thorpe (...
DevOps Frequently Asked Questions of 2013 with Gene Kim and Jonathan Thorpe (...
 
Generating Business Value Through Social
Generating Business Value Through SocialGenerating Business Value Through Social
Generating Business Value Through Social
 
Building Scalable Organizations
Building Scalable OrganizationsBuilding Scalable Organizations
Building Scalable Organizations
 
KM World Enterprise Social Networking 2007
KM World Enterprise Social Networking 2007KM World Enterprise Social Networking 2007
KM World Enterprise Social Networking 2007
 
Humans in the loop: AI in open source and industry
Humans in the loop: AI in open source and industryHumans in the loop: AI in open source and industry
Humans in the loop: AI in open source and industry
 
Including the User: How insights drive business #pswud2017
Including the User: How insights drive business #pswud2017Including the User: How insights drive business #pswud2017
Including the User: How insights drive business #pswud2017
 
Creating a Learning Organisation in the Distracted Digital Age
Creating a Learning Organisation in the Distracted Digital AgeCreating a Learning Organisation in the Distracted Digital Age
Creating a Learning Organisation in the Distracted Digital Age
 
The Disciplines of Continuous innovation
The Disciplines of Continuous innovationThe Disciplines of Continuous innovation
The Disciplines of Continuous innovation
 
Social Media for HR masterclass to Philips India HR Team
Social Media for HR masterclass to Philips India HR TeamSocial Media for HR masterclass to Philips India HR Team
Social Media for HR masterclass to Philips India HR Team
 
O'Reilly ebook: Machine Learning at Enterprise Scale | Qubole
O'Reilly ebook: Machine Learning at Enterprise Scale | QuboleO'Reilly ebook: Machine Learning at Enterprise Scale | Qubole
O'Reilly ebook: Machine Learning at Enterprise Scale | Qubole
 
What can DesignOps do for you? by Carol Smith at TLMUX in Montreal
What can DesignOps do for you? by Carol Smith at TLMUX in MontrealWhat can DesignOps do for you? by Carol Smith at TLMUX in Montreal
What can DesignOps do for you? by Carol Smith at TLMUX in Montreal
 

Kürzlich hochgeladen

Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationSlibray Presentation
 
Advanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionAdvanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionDilum Bandara
 
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks..."LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...Fwdays
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLScyllaDB
 
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage CostLeverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage CostZilliz
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Scott Keck-Warren
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Mattias Andersson
 
Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Manik S Magar
 
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr BaganFwdays
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubKalema Edgar
 
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek SchlawackFwdays
 
TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024Lonnie McRorey
 
SAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxSAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxNavinnSomaal
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfAlex Barbosa Coqueiro
 
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxMerck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxLoriGlavin3
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsSergiu Bodiu
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii SoldatenkoFwdays
 

Kürzlich hochgeladen (20)

Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck Presentation
 
Advanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionAdvanced Computer Architecture – An Introduction
Advanced Computer Architecture – An Introduction
 
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks..."LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQL
 
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage CostLeverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?
 
Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!
 
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding Club
 
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptxE-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
 
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
 
TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024
 
SAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxSAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptx
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdf
 
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxMerck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platforms
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko
 

What Makes a Great Engineering Culture?

  • 1. What makes a great engineering culture? Edmond Lau @edmondlau www.theeffectiveengineer.com
  • 2. 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
  • 3. 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
  • 4. Interviewed 500+ people - Many engineers from strong engineering companies - Google, Facebook, Palantir, Amazon, Dropbox, Apple, etc.
  • 5. “A good culture attracts and keeps the kind of people that helps your company become successful.” -- Andy Parkinson, greatcompanies.io
  • 6. What is one thing you liked and one thing you disliked about the engineering culture at X?
  • 7. 10 elements of a great engineering culture
  • 8. 01 Optimize for iteration speed
  • 9. Continuous Deployment Quora released code 40-50 times a day.
  • 10. Developer productivity tools - Continuous deployment - Continuous integration testing - Faster compile and build times - Incremental reloads for web servers
  • 11. Avoid organizational bottlenecks - Google's weekly search UI review - Empower team leads to make decisions - Define clear channels for quick feedback
  • 12. "Commit, explode, recover. " -- Bill Walsh, former 49ers coach Image Credit: http://www.flickr.com/photos/nostri-imago/4439637126/
  • 13. 02 Develop high code quality through code reviews
  • 14. Higher code quality lets you iterate faster - easier to reason about code - quicker to modify - less susceptible to bugs
  • 15. Fix broken windows Modelling is important Image Credit: Broken Window, elizjoy
  • 16. 03 Push relentlessly toward automation
  • 17. Automation is extremely high-leverage - Invest in automated testing. - Automatically handle failures, restart services. - Automatically scale up services at peak traffic.
  • 18. "Optimize for minimal operational burden." -- Mike Krieger Instagram co-founder Grew Instagram to over 40M users with 13-person team
  • 19. 04 Build the right software abstractions
  • 20. "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
  • 21. Compounding benefits of abstractions Google - MapReduce, Bigtable, Protocol Buffers Facebook - Thrift, Hive Quora - Webnode, Livenode
  • 22. 05 Build an open and respectful work environment
  • 23. “Writing software is a team sport.” -- Brian Fitzpatrick and Ben Collins-Sussman, Team Geek
  • 24. 06 Build shared ownership of code
  • 25. Keep the bus factor > 1 Image Credit: Wikimedia Commons ICCE Illinois School Bus
  • 26. 07 Embrace failure and accountability
  • 27. annual award “to the individual who breaks flickr.com in the most spectacular way” Image Credit: Dylan Couper, dvinfo.net
  • 28. 08 Allot 20% time
  • 29. Promote experimentation - Google - 20% time - Ooyala - hackathons - Quora - offroad weeks - Facebook, Atlassian, Dropbox Image Credit: Tempest, http://tempest.deviantart.com/
  • 30. 09 Build a culture of continuous improvement
  • 31. Grow reusable knowledge - Invest in onboarding and mentoring - Encourage tech talks and document design discussions - Write codelabs
  • 32. 10 Make hiring a priority
  • 33. "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
  • 34. Build a great engineering culture 1 Iteration speed 2 Code quality 3 Automation 4 Abstraction 5 Respect 6 Shared ownership 7 Accountability 8 20% Time 9 Learning 10 Hiring
  • 35. Q &A - edmondlau@alum.mit.edu - @edmondlau - My upcoming book: www.theeffectiveengineer.com/book