SlideShare une entreprise Scribd logo
1  sur  51
Télécharger pour lire hors ligne
Engineering Culture
What is it? What makes it great?
Wednesday, October 9, 13
What I learnt in college
artificial intelligence
graphics
java data structures
algorithms
calculus
C++
databases
networking
how to write code
Wednesday, October 9, 13
...What I didn’t learn
how to write code
*for a company*
communication
code reviews
conventions release process
testing
post mortems
documentation
onboarding
Wednesday, October 9, 13
Different goals
College Company
Prove that we
understand a concept or
mastered a skill.
1. Create a product that makes users happy.
2. Create a codebase that’s maintainable
and not fragile.
3. Be intellectually excited by what we’re
working on.
4. Do it with limited time and resources.
As fast and lean as possible.
Wednesday, October 9, 13
That’s a lot to achieve...
1. Create a product that makes users happy.
2. Create a codebase that’s maintainable and not fragile.
3. Be intellectually excited by what we’re working on.
4. Do it with limited time and resources. As fast and
lean as possible.
And that’s why culture matters.
Wednesday, October 9, 13
Why should culture matter to you?
Wednesday, October 9, 13
Are you about to enter the job market?
Don’t join a company just for their product.
Join for their culture.
Wednesday, October 9, 13
Are you a founding engineer?
You are shaping the culture for all the engineers
that will come after you.
Make it a good one.
Wednesday, October 9, 13
Are you in an established culture?
You still have the power to change the culture.
Nothing is set in stone.
Wednesday, October 9, 13
My Experience
Wednesday, October 9, 13
Joined when Google was X years old.
Spent 5 years in developer relations
Wednesday, October 9, 13
Joined when Coursera was 5 months old.
1 year as Frontend Engineer
Wednesday, October 9, 13
Joined when KA was 2 years old.
2 months (so far!) as engineer/educator.
Wednesday, October 9, 13
What makes a culture?
Wednesday, October 9, 13
The Engineering Lifecycle
Onboarding
Writing Code:
* Understanding existing code
* Planning your code
* Writing consistent code
* Testing your code
* Improving your code
* Releasing your code
* Monitoring your code
* Learning from bad code
while(1) {
writeCode();
}
Wednesday, October 9, 13
Onboarding
Bad culture: Treats your first week as “initiation”.
Good culture: Values getting everyone over the
beginners hump with as many resources as possible.
Wednesday, October 9, 13
On-boarding
Monday:
Morning:
- Talks: Overview, HR
- Take Photos for Team Page
Lunch: Show & Tell
Afternoon:
- Talk: Backend Architecture
- Talk: Frontend Architecture
- Talk: Code Review Process
- Deploy first change together!
- Meet your team
Tuesday:
- Work on a small change
- Deploy small change
Wednesday-Friday:
- Pick first big project
- Brainstorming meetings
with designers
- Begin working on it!
Wednesday, October 9, 13
On-boarding
https://sites.google.com/a/khanacademy.org/forge/for-khan-employees/-new-employees-onboard-doc/developer-setup
Self-paced on-boarding:
On-demand help:
Wednesday, October 9, 13
Understanding
the current code
Bad culture: Expects everyone to just “figure it out.”
Good culture: Values over-communication about what
the code does, and why it does it that way.
Wednesday, October 9, 13
Comments
# Deprecated - this is true if the problem was done while in
# context-switching topic mode, which has since been removed from the site.
# TODO(benkomalo): Remove when all references are dead
topic_mode = db.BooleanProperty(indexed=False, default=False)
def consume_optional_goog_info(self, goog_user):
"""Assigns user information from Google to this UserData.
Does not call put() on this entity and expects callers to do so.
Args:
goog_user An instance of google.appengine.api.users.User
Returns: whether or not fields were consumed and this entity was modified
"""
import feature_flags.infection # sad circular dependency fix :(
"""Holds UserData, UniqueUsername, NicknameIndex
UserData: database entity holding information about a single registered user
UniqueUsername: database entity of usernames that've been set on profile pages
NicknameIndex: database entity allowing search for users by their nicknames
"""
module
function
TODOs + deprecation
Sadness
Wednesday, October 9, 13
High-level Docs
http://blog.pamelafox.org/2013/07/rewriting-django-admin-in-backbone.html
http://blog.pamelafox.org/2013/03/rewriting-our-forums-with-backbone.html
http://www.youtube.com/watch?v=hgZWMSDl0P8
Wednesday, October 9, 13
Writing consistent code
Bad culture: Doesn’t care how the code is written, as
long as it works.
Good culture: Values a codebase where the code
looks the same and seems to all belong together.
Wednesday, October 9, 13
https://sites.google.com/a/khanacademy.org/forge/for-developers/styleguide
>> git commit
Linting...
LINT OKAY: No lint problems
Guides
Tools
+
Language Style
Wednesday, October 9, 13
Design Style
• coursera: com
•
http://khanacademy.org/style
Guides Re-usable CSS+
// Typography
@baseFontSize: 13px;
@baseFontFamily: MuseoSans300,
"Helvetica Neue", Helvetica, Arial, sans-
serif;
@baseLineHeight: 22px;
@textColor: #444;
@lightTextColor: #898989;
@fontSizeTiny: 11px;
@fontSizeSmall: 12px;
@fontSizeNormal: 14px;
@fontSizeMedium: 16px;
@fontSizeLarge: 18px;
@fontSizeExtraLarge: 24px;
@fontSizeHuge: 36px;
// Buttons
@primaryButtonBackground: #89b908;
@primaryButtonBorder: #76a005;
@buttonTextColor: lighten(@grayDark,
15%);
@buttonBorderRadius: 3px;
Wednesday, October 9, 13
Best Practices
http://blog.pamelafox.org/2013/07/a-guide-to-writing-backbone-apps-at.html
http://blog.pamelafox.org/2013/08/javascript-ui-library-design.html
Architecture
Tools/Libraries
APIs
...and tons more.
Wednesday, October 9, 13
Writing consistent code
Do you follow standard conventions for every
language in their stack?
Do you have your own conventions for the
frameworks you use?
Wednesday, October 9, 13
Testing your codeTesting your code
Bad culture: Expects you to write “safe” code, that’s
magically free of bugs because you’re all so smart.
Good culture: Realizes that tests are the key to a
stable and maintainable codebase.
Wednesday, October 9, 13
Backend: Python/Django unit tests
Testing Code
http://blog.pamelafox.org/2013/06/testing-backbone-frontends.html
Frontend: Mocha/Chai/JSDom
Integration: Selenium*
Manual: QA Process, Engineer, and Team
Automated tests CI
+
Wednesday, October 9, 13
Testing Code
Test education
Test engineers
http://googletesting.blogspot.com/2007/01/introducing-testing-on-toilet.html
https://www.google.com/about/jobs/search/#!t=jo&jid=35182&
Wednesday, October 9, 13
Testing your codeTesting your code
Are there any tests?
What kind of tests?
How often are the tests run?
Is there a testing requirement for new features?
Is there a testing engineer or testing team?
Wednesday, October 9, 13
Improving your code
Bad culture: Gives you no feedback on your code or
gives you non-constructive criticism on your code.
Good culture: Recognizes that code reviews are a
great way for everyone to learn from each other.
Wednesday, October 9, 13
Code Reviews
http://phabricator.org/
>> arc diff
>> arc land --onto master
Tools
Wednesday, October 9, 13
Code Reviews
https://sites.google.com/a/khanacademy.org/forge/for-developers/code-review-policy
+ Docs
Wednesday, October 9, 13
Improving your code
Are code reviews a part of the engineering process?
Are code reviews *required*?
What tool do you use for code reviews?
Wednesday, October 9, 13
Releasing your code
Bad culture: Makes it hard to release code early and often.
Good culture: Enables everyone to release their code
with minimal time and pain.
Wednesday, October 9, 13
Release Process
http://betacs.pro/blog/2013/07/06/wayland/
8 minutes to deploy
2 minutes to rollback
Wednesday, October 9, 13
Releasing your code
How often is code deployed?
How fast is the process?
How fast is the rollback?
Who's in charge of a deploy?
Wednesday, October 9, 13
Monitoring your code
Bad culture: Releases code without paying attention to
how it fares in the wild.
Good culture: Recognizes the value of logging, alerts,
and user feedback mechanisms to ensure code validity.
Wednesday, October 9, 13
Monitoring
Backend
monitoring
+
Alerts
Wednesday, October 9, 13
Monitoring
Frontend
monitoring
User feedback alerts
Wednesday, October 9, 13
Monitoring your code
Are backend and frontend errors monitored?
Are there user feedback mechanisms?
Are there smart alerts set up?
Wednesday, October 9, 13
Learning from bad code
Bad culture: Sweeps mistakes under the rug, refusing to
acknowledge or learn from them, or blames them on a
bad coder.
Good culture: Realizes that mistakes are an opportunity
for the *whole team* to learn and improve.
Wednesday, October 9, 13
Post-Mortems
• Timeline of events
• What went wrong?
• What went right?
• What specific action items would prevent this
from happening in the future?
https://groups.google.com/forum/#!topic/google-appengine/p2QKJ0OSLc8
Don’t blame. Learn.
Wednesday, October 9, 13
Post-Mortems
• Coding bugs: “The Mass Unenrollment”
• Server faults: “The Overloaded Database”
• Security issues: “Cross-site-scripting in PHP”
• Process flaws: “The Class Recyling Project”
Wednesday, October 9, 13
Learning from your code
When bad decisions are made in code, how does
the the team learn from them?
Wednesday, October 9, 13
Now what?
Learn from others
Share with your team
Experiment
Share with others
“Team Geek” by Fitzpatrick and Collins-Sussman
http://blog.pamelafox.org/2013/07/what-to-look-for-in-software.html
http://www.joelonsoftware.com/articles/fog0000000043.html
Wednesday, October 9, 13
The culture matters as
much as the product.
Wednesday, October 9, 13
THAR! Here be dragons!
Wednesday, October 9, 13
Planning your code
Bad culture: Expects great code to emerge with no
thought or collaboration.
Good culture: Values the process of planning code.
Wednesday, October 9, 13
Design Docs
• google template?
• can happen in a jira discussion
Wednesday, October 9, 13
Design Discussions
• whiteboard
Wednesday, October 9, 13

Contenu connexe

Tendances

Agile Development Methodology: Best Practices and Use Cases
Agile Development Methodology: Best Practices and Use CasesAgile Development Methodology: Best Practices and Use Cases
Agile Development Methodology: Best Practices and Use CasesCelerity
 
Scrum of scrums with JIRA and Greenhopper
Scrum of scrums with JIRA and GreenhopperScrum of scrums with JIRA and Greenhopper
Scrum of scrums with JIRA and GreenhopperLondon APE
 
Developer Productivity Engineering with Gradle
Developer Productivity Engineering with GradleDeveloper Productivity Engineering with Gradle
Developer Productivity Engineering with GradleAll Things Open
 
Agile software development
Agile software developmentAgile software development
Agile software developmentMat Siems
 
Epic Estimation 2019
Epic Estimation 2019Epic Estimation 2019
Epic Estimation 2019David Hanson
 
Full Program & Tools to Accelerate an Internal Innovation Project - by Board ...
Full Program & Tools to Accelerate an Internal Innovation Project - by Board ...Full Program & Tools to Accelerate an Internal Innovation Project - by Board ...
Full Program & Tools to Accelerate an Internal Innovation Project - by Board ...Board of Innovation
 
From Building Products To Managing Them
From Building Products To Managing ThemFrom Building Products To Managing Them
From Building Products To Managing ThemProduct School
 
Enterprise Agile Transformation Strategies
Enterprise Agile Transformation StrategiesEnterprise Agile Transformation Strategies
Enterprise Agile Transformation StrategiesMike Cottmeyer
 
Sami Zahran Quality Gates
Sami Zahran Quality GatesSami Zahran Quality Gates
Sami Zahran Quality GatesDr. Sami Zahran
 
The business case for devops
The business case for devopsThe business case for devops
The business case for devopsMatthew Skelton
 
Agile2013 sustainable change
Agile2013 sustainable changeAgile2013 sustainable change
Agile2013 sustainable changeDennis Stevens
 
Agile Transformation: People, Process and Tools to Make Your Transformation S...
Agile Transformation: People, Process and Tools to Make Your Transformation S...Agile Transformation: People, Process and Tools to Make Your Transformation S...
Agile Transformation: People, Process and Tools to Make Your Transformation S...QASymphony
 
The experience is the product (for Mind The Product 2016)
The experience is the product (for Mind The Product 2016)The experience is the product (for Mind The Product 2016)
The experience is the product (for Mind The Product 2016)Peter Merholz
 
12 Key Performance Indicators for QA & Test Magers
12 Key Performance Indicators for QA & Test Magers12 Key Performance Indicators for QA & Test Magers
12 Key Performance Indicators for QA & Test MagersRyan Spencer Furner
 
Fundamentals of Agile Product Management
Fundamentals of Agile Product ManagementFundamentals of Agile Product Management
Fundamentals of Agile Product ManagementAmbreen Hussain
 
Agile transformation best practices
Agile transformation best practicesAgile transformation best practices
Agile transformation best practicesAllyson Chiarini
 
Agile case study
Agile case studyAgile case study
Agile case studySandy Lee
 

Tendances (20)

Agile Development Methodology: Best Practices and Use Cases
Agile Development Methodology: Best Practices and Use CasesAgile Development Methodology: Best Practices and Use Cases
Agile Development Methodology: Best Practices and Use Cases
 
Scrum of scrums with JIRA and Greenhopper
Scrum of scrums with JIRA and GreenhopperScrum of scrums with JIRA and Greenhopper
Scrum of scrums with JIRA and Greenhopper
 
Developer Productivity Engineering with Gradle
Developer Productivity Engineering with GradleDeveloper Productivity Engineering with Gradle
Developer Productivity Engineering with Gradle
 
Agile software development
Agile software developmentAgile software development
Agile software development
 
Epic Estimation 2019
Epic Estimation 2019Epic Estimation 2019
Epic Estimation 2019
 
Full Program & Tools to Accelerate an Internal Innovation Project - by Board ...
Full Program & Tools to Accelerate an Internal Innovation Project - by Board ...Full Program & Tools to Accelerate an Internal Innovation Project - by Board ...
Full Program & Tools to Accelerate an Internal Innovation Project - by Board ...
 
From Building Products To Managing Them
From Building Products To Managing ThemFrom Building Products To Managing Them
From Building Products To Managing Them
 
Enterprise Agile Transformation Strategies
Enterprise Agile Transformation StrategiesEnterprise Agile Transformation Strategies
Enterprise Agile Transformation Strategies
 
Gestión de Proyectos Agile - Scrum
Gestión de Proyectos Agile - ScrumGestión de Proyectos Agile - Scrum
Gestión de Proyectos Agile - Scrum
 
Sami Zahran Quality Gates
Sami Zahran Quality GatesSami Zahran Quality Gates
Sami Zahran Quality Gates
 
Agile Kanban
Agile KanbanAgile Kanban
Agile Kanban
 
The business case for devops
The business case for devopsThe business case for devops
The business case for devops
 
Agile scrum roles
Agile scrum rolesAgile scrum roles
Agile scrum roles
 
Agile2013 sustainable change
Agile2013 sustainable changeAgile2013 sustainable change
Agile2013 sustainable change
 
Agile Transformation: People, Process and Tools to Make Your Transformation S...
Agile Transformation: People, Process and Tools to Make Your Transformation S...Agile Transformation: People, Process and Tools to Make Your Transformation S...
Agile Transformation: People, Process and Tools to Make Your Transformation S...
 
The experience is the product (for Mind The Product 2016)
The experience is the product (for Mind The Product 2016)The experience is the product (for Mind The Product 2016)
The experience is the product (for Mind The Product 2016)
 
12 Key Performance Indicators for QA & Test Magers
12 Key Performance Indicators for QA & Test Magers12 Key Performance Indicators for QA & Test Magers
12 Key Performance Indicators for QA & Test Magers
 
Fundamentals of Agile Product Management
Fundamentals of Agile Product ManagementFundamentals of Agile Product Management
Fundamentals of Agile Product Management
 
Agile transformation best practices
Agile transformation best practicesAgile transformation best practices
Agile transformation best practices
 
Agile case study
Agile case studyAgile case study
Agile case study
 

En vedette

Poster presentation engineering culture
Poster presentation   engineering culturePoster presentation   engineering culture
Poster presentation engineering culturelauramcinerney
 
Engineering your culture / Oren Ellenbogen
Engineering your culture  / Oren EllenbogenEngineering your culture  / Oren Ellenbogen
Engineering your culture / Oren Ellenbogengeektimecoil
 
What Makes a Great Engineering Culture?
What Makes a Great Engineering Culture?What Makes a Great Engineering Culture?
What Makes a Great Engineering Culture?Edmond Lau
 
Building A Strong Engineering Culture - my talk from BBC Develop 2013
Building A Strong Engineering Culture - my talk from BBC Develop 2013Building A Strong Engineering Culture - my talk from BBC Develop 2013
Building A Strong Engineering Culture - my talk from BBC Develop 2013Kevin Goldsmith
 
Code as Craft: Building a Strong Engineering Culture at Etsy
Code as Craft: Building a Strong Engineering Culture at EtsyCode as Craft: Building a Strong Engineering Culture at Etsy
Code as Craft: Building a Strong Engineering Culture at EtsyChad Dickerson
 
Engineering culture
Engineering cultureEngineering culture
Engineering cultureGoutam Dey
 
Startup Engineering culture - "What matters & what does not"
Startup Engineering culture - "What matters & what does not"Startup Engineering culture - "What matters & what does not"
Startup Engineering culture - "What matters & what does not"Mohan Krishnan
 
Lecture 1 culture and diversity week 1&2
Lecture 1 culture and diversity  week 1&2Lecture 1 culture and diversity  week 1&2
Lecture 1 culture and diversity week 1&2Nevzat Yildirim
 
Sustainable engineering
Sustainable engineeringSustainable engineering
Sustainable engineeringAber Refai
 
Sustainable Engineering - Practical Studies for Building a Sustainable Society
Sustainable Engineering - Practical Studies for Building a Sustainable Society Sustainable Engineering - Practical Studies for Building a Sustainable Society
Sustainable Engineering - Practical Studies for Building a Sustainable Society QuEST Forum
 
2016 COSCUP 文化、方法、工具如何跨界打造好的軟體開發環境
2016 COSCUP 文化、方法、工具如何跨界打造好的軟體開發環境2016 COSCUP 文化、方法、工具如何跨界打造好的軟體開發環境
2016 COSCUP 文化、方法、工具如何跨界打造好的軟體開發環境ChiaHsien Lee
 
Zipforms Online 6 Users guide
Zipforms Online 6 Users guideZipforms Online 6 Users guide
Zipforms Online 6 Users guideMatthew Rathbun
 
How to move forward to a DevOps Culture?
How to move forward to a DevOps Culture?How to move forward to a DevOps Culture?
How to move forward to a DevOps Culture?Derya SEZEN
 
SMAC: The Key to Getting Traction with DevOps
SMAC: The Key to Getting Traction with DevOpsSMAC: The Key to Getting Traction with DevOps
SMAC: The Key to Getting Traction with DevOpsDevOps Ltd.
 
DevOps: Why Culture Matters
DevOps:  Why Culture MattersDevOps:  Why Culture Matters
DevOps: Why Culture MattersG2G3 Americas
 
5 Steps for a High-Performing DevOps Culture
5 Steps for a High-Performing DevOps Culture5 Steps for a High-Performing DevOps Culture
5 Steps for a High-Performing DevOps CultureJumpCloud
 
Going Big
Going BigGoing Big
Going Bigmahalo
 
DevOps Culture as a tool
DevOps Culture as a toolDevOps Culture as a tool
DevOps Culture as a toolDick Noort
 
Adopting Devops , Stories from the trenches
Adopting Devops , Stories from the trenchesAdopting Devops , Stories from the trenches
Adopting Devops , Stories from the trenchesKris Buytaert
 

En vedette (20)

Poster presentation engineering culture
Poster presentation   engineering culturePoster presentation   engineering culture
Poster presentation engineering culture
 
Engineering your culture / Oren Ellenbogen
Engineering your culture  / Oren EllenbogenEngineering your culture  / Oren Ellenbogen
Engineering your culture / Oren Ellenbogen
 
What Makes a Great Engineering Culture?
What Makes a Great Engineering Culture?What Makes a Great Engineering Culture?
What Makes a Great Engineering Culture?
 
Building A Strong Engineering Culture - my talk from BBC Develop 2013
Building A Strong Engineering Culture - my talk from BBC Develop 2013Building A Strong Engineering Culture - my talk from BBC Develop 2013
Building A Strong Engineering Culture - my talk from BBC Develop 2013
 
Code as Craft: Building a Strong Engineering Culture at Etsy
Code as Craft: Building a Strong Engineering Culture at EtsyCode as Craft: Building a Strong Engineering Culture at Etsy
Code as Craft: Building a Strong Engineering Culture at Etsy
 
Engineering culture
Engineering cultureEngineering culture
Engineering culture
 
Engineering culture
Engineering cultureEngineering culture
Engineering culture
 
Startup Engineering culture - "What matters & what does not"
Startup Engineering culture - "What matters & what does not"Startup Engineering culture - "What matters & what does not"
Startup Engineering culture - "What matters & what does not"
 
Lecture 1 culture and diversity week 1&2
Lecture 1 culture and diversity  week 1&2Lecture 1 culture and diversity  week 1&2
Lecture 1 culture and diversity week 1&2
 
Sustainable engineering
Sustainable engineeringSustainable engineering
Sustainable engineering
 
Sustainable Engineering - Practical Studies for Building a Sustainable Society
Sustainable Engineering - Practical Studies for Building a Sustainable Society Sustainable Engineering - Practical Studies for Building a Sustainable Society
Sustainable Engineering - Practical Studies for Building a Sustainable Society
 
2016 COSCUP 文化、方法、工具如何跨界打造好的軟體開發環境
2016 COSCUP 文化、方法、工具如何跨界打造好的軟體開發環境2016 COSCUP 文化、方法、工具如何跨界打造好的軟體開發環境
2016 COSCUP 文化、方法、工具如何跨界打造好的軟體開發環境
 
Zipforms Online 6 Users guide
Zipforms Online 6 Users guideZipforms Online 6 Users guide
Zipforms Online 6 Users guide
 
How to move forward to a DevOps Culture?
How to move forward to a DevOps Culture?How to move forward to a DevOps Culture?
How to move forward to a DevOps Culture?
 
SMAC: The Key to Getting Traction with DevOps
SMAC: The Key to Getting Traction with DevOpsSMAC: The Key to Getting Traction with DevOps
SMAC: The Key to Getting Traction with DevOps
 
DevOps: Why Culture Matters
DevOps:  Why Culture MattersDevOps:  Why Culture Matters
DevOps: Why Culture Matters
 
5 Steps for a High-Performing DevOps Culture
5 Steps for a High-Performing DevOps Culture5 Steps for a High-Performing DevOps Culture
5 Steps for a High-Performing DevOps Culture
 
Going Big
Going BigGoing Big
Going Big
 
DevOps Culture as a tool
DevOps Culture as a toolDevOps Culture as a tool
DevOps Culture as a tool
 
Adopting Devops , Stories from the trenches
Adopting Devops , Stories from the trenchesAdopting Devops , Stories from the trenches
Adopting Devops , Stories from the trenches
 

Similaire à Engineering culture

Intro to PHP Testing
Intro to PHP TestingIntro to PHP Testing
Intro to PHP TestingRan Mizrahi
 
Eclipse Orion: The IDE in the Clouds (JavaOne 2013)
Eclipse Orion: The IDE in the Clouds (JavaOne 2013)Eclipse Orion: The IDE in the Clouds (JavaOne 2013)
Eclipse Orion: The IDE in the Clouds (JavaOne 2013)Murat Yener
 
How to get started with Site Reliability Engineering
How to get started with Site Reliability EngineeringHow to get started with Site Reliability Engineering
How to get started with Site Reliability EngineeringAndrew Kirkpatrick
 
CIW Lab with CoheisveFT: Get started in public cloud - Part 1 Cloud & Virtual...
CIW Lab with CoheisveFT: Get started in public cloud - Part 1 Cloud & Virtual...CIW Lab with CoheisveFT: Get started in public cloud - Part 1 Cloud & Virtual...
CIW Lab with CoheisveFT: Get started in public cloud - Part 1 Cloud & Virtual...Cohesive Networks
 
Microservices and functional programming
Microservices and functional programmingMicroservices and functional programming
Microservices and functional programmingMichael Neale
 
AstroLabs_Academy_Learning_to_Code-Coding_Bootcamp_Day1.pdf
AstroLabs_Academy_Learning_to_Code-Coding_Bootcamp_Day1.pdfAstroLabs_Academy_Learning_to_Code-Coding_Bootcamp_Day1.pdf
AstroLabs_Academy_Learning_to_Code-Coding_Bootcamp_Day1.pdfFarHanWasif1
 
Android Security & Penetration Testing
Android Security & Penetration TestingAndroid Security & Penetration Testing
Android Security & Penetration TestingSubho Halder
 
2 whats-new-in-ios7-m2-xcode-slides
2 whats-new-in-ios7-m2-xcode-slides2 whats-new-in-ios7-m2-xcode-slides
2 whats-new-in-ios7-m2-xcode-slidesMasterCode.vn
 
2011 04-20 0-60 in startup technology
2011 04-20 0-60 in startup technology2011 04-20 0-60 in startup technology
2011 04-20 0-60 in startup technologyDaniel Doubrovkine
 
Tools/Processes for serious android app development
Tools/Processes for serious android app developmentTools/Processes for serious android app development
Tools/Processes for serious android app developmentGaurav Lochan
 
CIW Lab with CoheisveFT: Get started in public cloud - Part 1 Cloud & Virtual...
CIW Lab with CoheisveFT: Get started in public cloud - Part 1 Cloud & Virtual...CIW Lab with CoheisveFT: Get started in public cloud - Part 1 Cloud & Virtual...
CIW Lab with CoheisveFT: Get started in public cloud - Part 1 Cloud & Virtual...Ryan Koop
 
564 Class Notes July 27, 2010
564 Class Notes July 27, 2010564 Class Notes July 27, 2010
564 Class Notes July 27, 2010Stephanie Magleby
 
How to become a software developer
How to become a software developerHow to become a software developer
How to become a software developerEyob Lube
 
PHP Mega Meetup, Sep, 2020, Anti patterns in php
PHP Mega Meetup, Sep, 2020, Anti patterns in phpPHP Mega Meetup, Sep, 2020, Anti patterns in php
PHP Mega Meetup, Sep, 2020, Anti patterns in phpAhmed Abdou
 
10 Ways To Improve Your Code( Neal Ford)
10  Ways To  Improve  Your  Code( Neal  Ford)10  Ways To  Improve  Your  Code( Neal  Ford)
10 Ways To Improve Your Code( Neal Ford)guestebde
 
From Renamer Plugin to Polyglot IDE
From Renamer Plugin to Polyglot IDEFrom Renamer Plugin to Polyglot IDE
From Renamer Plugin to Polyglot IDEintelliyole
 
Tek 2013 - Building Web Apps from a New Angle with AngularJS
Tek 2013 - Building Web Apps from a New Angle with AngularJSTek 2013 - Building Web Apps from a New Angle with AngularJS
Tek 2013 - Building Web Apps from a New Angle with AngularJSPablo Godel
 
Bkbiet intro
Bkbiet introBkbiet intro
Bkbiet intromihirio
 
So what's a web app? introduction to the chrome web store
So what's a web app? introduction to the chrome web storeSo what's a web app? introduction to the chrome web store
So what's a web app? introduction to the chrome web storeEric Bidelman
 

Similaire à Engineering culture (20)

Intro to PHP Testing
Intro to PHP TestingIntro to PHP Testing
Intro to PHP Testing
 
Eclipse Orion: The IDE in the Clouds (JavaOne 2013)
Eclipse Orion: The IDE in the Clouds (JavaOne 2013)Eclipse Orion: The IDE in the Clouds (JavaOne 2013)
Eclipse Orion: The IDE in the Clouds (JavaOne 2013)
 
How to get started with Site Reliability Engineering
How to get started with Site Reliability EngineeringHow to get started with Site Reliability Engineering
How to get started with Site Reliability Engineering
 
CIW Lab with CoheisveFT: Get started in public cloud - Part 1 Cloud & Virtual...
CIW Lab with CoheisveFT: Get started in public cloud - Part 1 Cloud & Virtual...CIW Lab with CoheisveFT: Get started in public cloud - Part 1 Cloud & Virtual...
CIW Lab with CoheisveFT: Get started in public cloud - Part 1 Cloud & Virtual...
 
Microservices and functional programming
Microservices and functional programmingMicroservices and functional programming
Microservices and functional programming
 
AstroLabs_Academy_Learning_to_Code-Coding_Bootcamp_Day1.pdf
AstroLabs_Academy_Learning_to_Code-Coding_Bootcamp_Day1.pdfAstroLabs_Academy_Learning_to_Code-Coding_Bootcamp_Day1.pdf
AstroLabs_Academy_Learning_to_Code-Coding_Bootcamp_Day1.pdf
 
Android Security & Penetration Testing
Android Security & Penetration TestingAndroid Security & Penetration Testing
Android Security & Penetration Testing
 
2 whats-new-in-ios7-m2-xcode-slides
2 whats-new-in-ios7-m2-xcode-slides2 whats-new-in-ios7-m2-xcode-slides
2 whats-new-in-ios7-m2-xcode-slides
 
2011 04-20 0-60 in startup technology
2011 04-20 0-60 in startup technology2011 04-20 0-60 in startup technology
2011 04-20 0-60 in startup technology
 
Tools/Processes for serious android app development
Tools/Processes for serious android app developmentTools/Processes for serious android app development
Tools/Processes for serious android app development
 
CIW Lab with CoheisveFT: Get started in public cloud - Part 1 Cloud & Virtual...
CIW Lab with CoheisveFT: Get started in public cloud - Part 1 Cloud & Virtual...CIW Lab with CoheisveFT: Get started in public cloud - Part 1 Cloud & Virtual...
CIW Lab with CoheisveFT: Get started in public cloud - Part 1 Cloud & Virtual...
 
564 Class Notes July 27, 2010
564 Class Notes July 27, 2010564 Class Notes July 27, 2010
564 Class Notes July 27, 2010
 
How to become a software developer
How to become a software developerHow to become a software developer
How to become a software developer
 
PHP Mega Meetup, Sep, 2020, Anti patterns in php
PHP Mega Meetup, Sep, 2020, Anti patterns in phpPHP Mega Meetup, Sep, 2020, Anti patterns in php
PHP Mega Meetup, Sep, 2020, Anti patterns in php
 
10 Ways To Improve Your Code( Neal Ford)
10  Ways To  Improve  Your  Code( Neal  Ford)10  Ways To  Improve  Your  Code( Neal  Ford)
10 Ways To Improve Your Code( Neal Ford)
 
From Renamer Plugin to Polyglot IDE
From Renamer Plugin to Polyglot IDEFrom Renamer Plugin to Polyglot IDE
From Renamer Plugin to Polyglot IDE
 
Tek 2013 - Building Web Apps from a New Angle with AngularJS
Tek 2013 - Building Web Apps from a New Angle with AngularJSTek 2013 - Building Web Apps from a New Angle with AngularJS
Tek 2013 - Building Web Apps from a New Angle with AngularJS
 
01.intro
01.intro01.intro
01.intro
 
Bkbiet intro
Bkbiet introBkbiet intro
Bkbiet intro
 
So what's a web app? introduction to the chrome web store
So what's a web app? introduction to the chrome web storeSo what's a web app? introduction to the chrome web store
So what's a web app? introduction to the chrome web store
 

Plus de Pamela Fox

Teaching Programming Online
Teaching Programming OnlineTeaching Programming Online
Teaching Programming OnlinePamela Fox
 
Django Admin: Widgetry & Witchery
Django Admin: Widgetry & WitcheryDjango Admin: Widgetry & Witchery
Django Admin: Widgetry & WitcheryPamela Fox
 
A Year of Hermit Hacking
A Year of Hermit HackingA Year of Hermit Hacking
A Year of Hermit HackingPamela Fox
 
The Developer Experience
The Developer Experience The Developer Experience
The Developer Experience Pamela Fox
 
Making JavaScript Libraries More Approachable
Making JavaScript Libraries More ApproachableMaking JavaScript Libraries More Approachable
Making JavaScript Libraries More ApproachablePamela Fox
 
How I became a born again vegetable-tarian
How I became a born again vegetable-tarianHow I became a born again vegetable-tarian
How I became a born again vegetable-tarianPamela Fox
 
The Developer Experience
The Developer ExperienceThe Developer Experience
The Developer ExperiencePamela Fox
 
No, Really, I'm Shy
No, Really, I'm ShyNo, Really, I'm Shy
No, Really, I'm ShyPamela Fox
 
Writing Apps the Google-y Way (Brisbane)
Writing Apps the Google-y Way (Brisbane)Writing Apps the Google-y Way (Brisbane)
Writing Apps the Google-y Way (Brisbane)Pamela Fox
 
Writing Apps the Google-y Way
Writing Apps the Google-y WayWriting Apps the Google-y Way
Writing Apps the Google-y WayPamela Fox
 
The Wonders of the "Onesie"
The Wonders of the "Onesie"The Wonders of the "Onesie"
The Wonders of the "Onesie"Pamela Fox
 
I’M A Barbie Girl In A CS World
I’M A Barbie Girl In A CS WorldI’M A Barbie Girl In A CS World
I’M A Barbie Girl In A CS WorldPamela Fox
 
Google Wave 20/20: Product, Protocol, Platform
Google Wave 20/20: Product, Protocol, PlatformGoogle Wave 20/20: Product, Protocol, Platform
Google Wave 20/20: Product, Protocol, PlatformPamela Fox
 
Collaborative Mapping with Google Wave
Collaborative Mapping with Google WaveCollaborative Mapping with Google Wave
Collaborative Mapping with Google WavePamela Fox
 
Google Products: Deep Dive on Google Maps
Google Products: Deep Dive on Google MapsGoogle Products: Deep Dive on Google Maps
Google Products: Deep Dive on Google MapsPamela Fox
 
Google Products & Google Maps
Google Products & Google MapsGoogle Products & Google Maps
Google Products & Google MapsPamela Fox
 
Mashups & APIs
Mashups & APIsMashups & APIs
Mashups & APIsPamela Fox
 
A World of Words
A World of WordsA World of Words
A World of WordsPamela Fox
 
Web APIs & Google APIs
Web APIs & Google APIsWeb APIs & Google APIs
Web APIs & Google APIsPamela Fox
 
Growing up Geek: My Dad, the Computer Scientist
Growing up Geek: My Dad, the Computer ScientistGrowing up Geek: My Dad, the Computer Scientist
Growing up Geek: My Dad, the Computer ScientistPamela Fox
 

Plus de Pamela Fox (20)

Teaching Programming Online
Teaching Programming OnlineTeaching Programming Online
Teaching Programming Online
 
Django Admin: Widgetry & Witchery
Django Admin: Widgetry & WitcheryDjango Admin: Widgetry & Witchery
Django Admin: Widgetry & Witchery
 
A Year of Hermit Hacking
A Year of Hermit HackingA Year of Hermit Hacking
A Year of Hermit Hacking
 
The Developer Experience
The Developer Experience The Developer Experience
The Developer Experience
 
Making JavaScript Libraries More Approachable
Making JavaScript Libraries More ApproachableMaking JavaScript Libraries More Approachable
Making JavaScript Libraries More Approachable
 
How I became a born again vegetable-tarian
How I became a born again vegetable-tarianHow I became a born again vegetable-tarian
How I became a born again vegetable-tarian
 
The Developer Experience
The Developer ExperienceThe Developer Experience
The Developer Experience
 
No, Really, I'm Shy
No, Really, I'm ShyNo, Really, I'm Shy
No, Really, I'm Shy
 
Writing Apps the Google-y Way (Brisbane)
Writing Apps the Google-y Way (Brisbane)Writing Apps the Google-y Way (Brisbane)
Writing Apps the Google-y Way (Brisbane)
 
Writing Apps the Google-y Way
Writing Apps the Google-y WayWriting Apps the Google-y Way
Writing Apps the Google-y Way
 
The Wonders of the "Onesie"
The Wonders of the "Onesie"The Wonders of the "Onesie"
The Wonders of the "Onesie"
 
I’M A Barbie Girl In A CS World
I’M A Barbie Girl In A CS WorldI’M A Barbie Girl In A CS World
I’M A Barbie Girl In A CS World
 
Google Wave 20/20: Product, Protocol, Platform
Google Wave 20/20: Product, Protocol, PlatformGoogle Wave 20/20: Product, Protocol, Platform
Google Wave 20/20: Product, Protocol, Platform
 
Collaborative Mapping with Google Wave
Collaborative Mapping with Google WaveCollaborative Mapping with Google Wave
Collaborative Mapping with Google Wave
 
Google Products: Deep Dive on Google Maps
Google Products: Deep Dive on Google MapsGoogle Products: Deep Dive on Google Maps
Google Products: Deep Dive on Google Maps
 
Google Products & Google Maps
Google Products & Google MapsGoogle Products & Google Maps
Google Products & Google Maps
 
Mashups & APIs
Mashups & APIsMashups & APIs
Mashups & APIs
 
A World of Words
A World of WordsA World of Words
A World of Words
 
Web APIs & Google APIs
Web APIs & Google APIsWeb APIs & Google APIs
Web APIs & Google APIs
 
Growing up Geek: My Dad, the Computer Scientist
Growing up Geek: My Dad, the Computer ScientistGrowing up Geek: My Dad, the Computer Scientist
Growing up Geek: My Dad, the Computer Scientist
 

Dernier

"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr LapshynFwdays
 
Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Enterprise Knowledge
 
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
 
Story boards and shot lists for my a level piece
Story boards and shot lists for my a level pieceStory boards and shot lists for my a level piece
Story boards and shot lists for my a level piececharlottematthew16
 
AI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsAI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsMemoori
 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):comworks
 
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
 
Training state-of-the-art general text embedding
Training state-of-the-art general text embeddingTraining state-of-the-art general text embedding
Training state-of-the-art general text embeddingZilliz
 
The Future of Software Development - Devin AI Innovative Approach.pdf
The Future of Software Development - Devin AI Innovative Approach.pdfThe Future of Software Development - Devin AI Innovative Approach.pdf
The Future of Software Development - Devin AI Innovative Approach.pdfSeasiaInfotech2
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brandgvaughan
 
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
 
"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
 
DevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenDevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenHervé Boutemy
 
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
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfAddepto
 
"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
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationSlibray Presentation
 
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
 
Vertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsVertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsMiki Katsuragi
 

Dernier (20)

"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
 
Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024
 
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
 
Story boards and shot lists for my a level piece
Story boards and shot lists for my a level pieceStory boards and shot lists for my a level piece
Story boards and shot lists for my a level piece
 
AI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsAI as an Interface for Commercial Buildings
AI as an Interface for Commercial Buildings
 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):
 
DMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special EditionDMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special Edition
 
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
 
Training state-of-the-art general text embedding
Training state-of-the-art general text embeddingTraining state-of-the-art general text embedding
Training state-of-the-art general text embedding
 
The Future of Software Development - Devin AI Innovative Approach.pdf
The Future of Software Development - Devin AI Innovative Approach.pdfThe Future of Software Development - Devin AI Innovative Approach.pdf
The Future of Software Development - Devin AI Innovative Approach.pdf
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brand
 
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
 
"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
 
DevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenDevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache Maven
 
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
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdf
 
"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
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck Presentation
 
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!
 
Vertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsVertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering Tips
 

Engineering culture