SlideShare a Scribd company logo
1 of 51
Download to read offline
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

More Related Content

What's hot

Introduction to Scrum.ppt
Introduction to Scrum.pptIntroduction to Scrum.ppt
Introduction to Scrum.pptMohan Late
 
Exploring Agile Transformation and Scaling Patterns
Exploring Agile Transformation and Scaling PatternsExploring Agile Transformation and Scaling Patterns
Exploring Agile Transformation and Scaling PatternsMike Cottmeyer
 
Becoming an Effective Product Owner
Becoming an Effective Product OwnerBecoming an Effective Product Owner
Becoming an Effective Product OwnerMike Cohn
 
Agile vs Waterfall Project management
Agile vs Waterfall  Project management Agile vs Waterfall  Project management
Agile vs Waterfall Project management Kostiantyn Trefiak
 
#T3SCRUM: 12 principles of agile
#T3SCRUM: 12 principles of agile#T3SCRUM: 12 principles of agile
#T3SCRUM: 12 principles of agileak-itconsulting.com
 
Agile presentation
Agile presentationAgile presentation
Agile presentationinfolock
 
The Black Magic of Engineering Management
The Black Magic of Engineering ManagementThe Black Magic of Engineering Management
The Black Magic of Engineering ManagementAdam Christian
 
Agile Fundamentals
Agile FundamentalsAgile Fundamentals
Agile FundamentalsAtlassian
 
Certified Scrum Product Owner: class desk, posters and photos
Certified Scrum Product Owner: class desk, posters and photosCertified Scrum Product Owner: class desk, posters and photos
Certified Scrum Product Owner: class desk, posters and photosAlexey Krivitsky
 
How to Successfully Run a Remote Team
How to Successfully Run a Remote TeamHow to Successfully Run a Remote Team
How to Successfully Run a Remote TeamWeekdone.com
 
Machine Learning: A Fast Review
Machine Learning: A Fast ReviewMachine Learning: A Fast Review
Machine Learning: A Fast ReviewAhmad Ali Abin
 
Agile Scrum Training, Day 1 (1/2)
Agile Scrum Training, Day 1 (1/2)Agile Scrum Training, Day 1 (1/2)
Agile Scrum Training, Day 1 (1/2)Jens Wilke
 
Enterprise Agile Transformation
Enterprise Agile TransformationEnterprise Agile Transformation
Enterprise Agile TransformationPooja Wandile
 
What Is Agile Management?
What Is Agile Management?What Is Agile Management?
What Is Agile Management?Jurgen Appelo
 
User Story Smells & Anti-patterns
User Story Smells & Anti-patternsUser Story Smells & Anti-patterns
User Story Smells & Anti-patternsFadi Stephan
 

What's hot (20)

Agile & Scrum Training
Agile & Scrum TrainingAgile & Scrum Training
Agile & Scrum Training
 
Introduction to Scrum.ppt
Introduction to Scrum.pptIntroduction to Scrum.ppt
Introduction to Scrum.ppt
 
Exploring Agile Transformation and Scaling Patterns
Exploring Agile Transformation and Scaling PatternsExploring Agile Transformation and Scaling Patterns
Exploring Agile Transformation and Scaling Patterns
 
Becoming an Effective Product Owner
Becoming an Effective Product OwnerBecoming an Effective Product Owner
Becoming an Effective Product Owner
 
Agile vs Waterfall Project management
Agile vs Waterfall  Project management Agile vs Waterfall  Project management
Agile vs Waterfall Project management
 
#T3SCRUM: 12 principles of agile
#T3SCRUM: 12 principles of agile#T3SCRUM: 12 principles of agile
#T3SCRUM: 12 principles of agile
 
Agile presentation
Agile presentationAgile presentation
Agile presentation
 
Scrum in a nutshell
Scrum in a nutshellScrum in a nutshell
Scrum in a nutshell
 
The Black Magic of Engineering Management
The Black Magic of Engineering ManagementThe Black Magic of Engineering Management
The Black Magic of Engineering Management
 
Agile Fundamentals
Agile FundamentalsAgile Fundamentals
Agile Fundamentals
 
Certified Scrum Product Owner: class desk, posters and photos
Certified Scrum Product Owner: class desk, posters and photosCertified Scrum Product Owner: class desk, posters and photos
Certified Scrum Product Owner: class desk, posters and photos
 
How to Successfully Run a Remote Team
How to Successfully Run a Remote TeamHow to Successfully Run a Remote Team
How to Successfully Run a Remote Team
 
Machine Learning: A Fast Review
Machine Learning: A Fast ReviewMachine Learning: A Fast Review
Machine Learning: A Fast Review
 
Introduction to Agile and Scrum
Introduction to Agile and ScrumIntroduction to Agile and Scrum
Introduction to Agile and Scrum
 
Agile Scrum Training, Day 1 (1/2)
Agile Scrum Training, Day 1 (1/2)Agile Scrum Training, Day 1 (1/2)
Agile Scrum Training, Day 1 (1/2)
 
Scrum Framework
Scrum FrameworkScrum Framework
Scrum Framework
 
Enterprise Agile Transformation
Enterprise Agile TransformationEnterprise Agile Transformation
Enterprise Agile Transformation
 
What Is Agile Management?
What Is Agile Management?What Is Agile Management?
What Is Agile Management?
 
User Story Smells & Anti-patterns
User Story Smells & Anti-patternsUser Story Smells & Anti-patterns
User Story Smells & Anti-patterns
 
Scrum
ScrumScrum
Scrum
 

Viewers also liked

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
 
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
 
Crash course - managing software people and teams (engineering leadership sig...
Crash course - managing software people and teams (engineering leadership sig...Crash course - managing software people and teams (engineering leadership sig...
Crash course - managing software people and teams (engineering leadership sig...Ron Lichty
 

Viewers also liked (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
 
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
 
Crash course - managing software people and teams (engineering leadership sig...
Crash course - managing software people and teams (engineering leadership sig...Crash course - managing software people and teams (engineering leadership sig...
Crash course - managing software people and teams (engineering leadership sig...
 

Similar to 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
 

Similar to 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
 

More from 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
 

More from 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
 

Recently uploaded

Understanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitectureUnderstanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitecturePixlogix Infotech
 
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | DelhiFULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhisoniya singh
 
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 3652toLead Limited
 
Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Alan Dix
 
Hyderabad Call Girls Khairatabad ✨ 7001305949 ✨ Cheap Price Your Budget
Hyderabad Call Girls Khairatabad ✨ 7001305949 ✨ Cheap Price Your BudgetHyderabad Call Girls Khairatabad ✨ 7001305949 ✨ Cheap Price Your Budget
Hyderabad Call Girls Khairatabad ✨ 7001305949 ✨ Cheap Price Your BudgetEnjoy Anytime
 
Snow Chain-Integrated Tire for a Safe Drive on Winter Roads
Snow Chain-Integrated Tire for a Safe Drive on Winter RoadsSnow Chain-Integrated Tire for a Safe Drive on Winter Roads
Snow Chain-Integrated Tire for a Safe Drive on Winter RoadsHyundai Motor Group
 
Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Allon Mureinik
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationMichael W. Hawkins
 
Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machinePadma Pradeep
 
Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesSinan KOZAK
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountPuma Security, LLC
 
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Patryk Bandurski
 
Next-generation AAM aircraft unveiled by Supernal, S-A2
Next-generation AAM aircraft unveiled by Supernal, S-A2Next-generation AAM aircraft unveiled by Supernal, S-A2
Next-generation AAM aircraft unveiled by Supernal, S-A2Hyundai Motor Group
 
Pigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping ElbowsPigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping ElbowsPigging Solutions
 
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...shyamraj55
 
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
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking MenDelhi Call girls
 
SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024Scott Keck-Warren
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonetsnaman860154
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slidespraypatel2
 

Recently uploaded (20)

Understanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitectureUnderstanding the Laravel MVC Architecture
Understanding the Laravel MVC Architecture
 
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | DelhiFULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
 
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
 
Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...
 
Hyderabad Call Girls Khairatabad ✨ 7001305949 ✨ Cheap Price Your Budget
Hyderabad Call Girls Khairatabad ✨ 7001305949 ✨ Cheap Price Your BudgetHyderabad Call Girls Khairatabad ✨ 7001305949 ✨ Cheap Price Your Budget
Hyderabad Call Girls Khairatabad ✨ 7001305949 ✨ Cheap Price Your Budget
 
Snow Chain-Integrated Tire for a Safe Drive on Winter Roads
Snow Chain-Integrated Tire for a Safe Drive on Winter RoadsSnow Chain-Integrated Tire for a Safe Drive on Winter Roads
Snow Chain-Integrated Tire for a Safe Drive on Winter Roads
 
Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
 
Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machine
 
Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen Frames
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path Mount
 
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
 
Next-generation AAM aircraft unveiled by Supernal, S-A2
Next-generation AAM aircraft unveiled by Supernal, S-A2Next-generation AAM aircraft unveiled by Supernal, S-A2
Next-generation AAM aircraft unveiled by Supernal, S-A2
 
Pigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping ElbowsPigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping Elbows
 
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
 
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
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men
 
SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonets
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slides
 

Engineering culture