SlideShare una empresa de Scribd logo
1 de 30
Descargar para leer sin conexión
CF dojo experience
earning your black belt in CF engineering
dr.max @maximilien 

julz friedman

ibm cloud labs v0.5.0
June 11, 2014
photo credit: http://urbosquid.com
2
photo credit: The Matrix, Warner Bros.
overview of this talk
• how do I contribute to Cloud Foundry?
‣ yourself
‣ your company
• why the dojo program?
• is agile the same everywhere?
• our experiences?
3
4
photo credit: The Matrix, Warner Bros.
It Works!
photo credit: The Matrix, Warner Bros.
In theory, there is no difference between theory and
practice, however, in practice there is.
Big company agile vs. Pivotal agile
some differences
11
• Single Coder

• Sometimes a long time to come
up to speed

• Knowledge sharing by training
sessions, some on-the-job
training, documentation..

• Big difference in productivity
between junior and senior
programmers

• Rely on code review, QA etc.
@Big Company
Single Coder
12
• Mentally Taxing!

• Very impressive team, quick
working, have to be on your
game to keep up

• Reliance on high test coverage,
code quality

• Pairing is synchronous code
review
@Pivotal
Pair programming
.. probably not for everyone
14
• Quite agile, but adapted to the
realities of the business
(Distributed Programmers,
Project Management, Detailed
Feature Tracking..)

• Sometimes uses Agile terms
without actually being all that
agile.

• Some test-first development.
But not nearly pervasive
enough. credit: http://kasperowski.com/2010/09/
hardening-sprints-sorry-youre-not-agile.html
@Big Company
“agile” methodology
15
• HEAVY reliance on test-first
development, refactoring &
communication

• Huge opportunity to learn

• e.g. Limited documentation,
lightweight stories, minimal up-front
architecture and design, aggressive
refactoring + wicked fast feedback
cycle.

• Very effective BUT reliance on being
in the room.

• How to make it scale for a
distributed project? (will come back
to this)
@Pivotal
XP-style methodology
16
photo credit: The Matrix, Warner Bros.
our dojo experiences
• spent 7-8 weeks at Pivotal SF working with CF team
• tried to work with as many teams as possible
• primary goals were to:
1. learn CF codebase, lean how to debug, learn how to contribute
2. meet as many members of CF team as possible, build relationships
3. gain credibility for myself and IBM
• overall experience positive - achieved most goals
17
standups
18
pairing
19
runtime team
• maybe the most important CF teams (Diego + regular runtime)
• runtime integrates all pieces. Runs and manages: Tabasco, A1,
and Production Pivotal CF environments
• typically seen as chaotic - especially while I was there (syslog
issue)
• always under lots of pressure, however, can be rewarding
• not the ideal place to learn CF tools or CLI or CF itself, but great
to learn internals of cloud-controller and DEA components
20
bosh team
• under less pressure than runtime but nonetheless critical
• vision for BOSH evolving to be a tool that can be used outside of CF
• some “star” Pivotal engineers are on BOSH
• has its own “language” (release, jobs, packages, spec, etc)
• not the place to learn how to use BOSH, however, great to learn
internals and its goals and directions
• BOSH is great once you understand, learn its language, and learn its
key goals
21
miscellaneous
• got a chance to pair and meet docs team
• got to meet, but not paired with, services team
• got to meet and indirectly-pair with other team Pivotal
product team members (especially Tempest, PHD, CLI)
• good recap with Rob Mee and directors
• got to provide feedback to Pivotal culture (good and bad)
22
photo credit: The Matrix, Warner Bros.
thoughts - positive
• Pivotal has welcoming and “be nice” culture, easy to fit, but must contribute
• striking mismatch between Pivotal culture and IBM’s (emails and meetings)
• decisions are super fast since directors, PMs, and engineers are in close proximity
• Pivotal is one of few companies doing XP with high-level of "discipline" and in
particular Pair Programming and TDD
• entire floor of two-floor Pivotal Labs in SF dedicated to CF (rotations all the time)
• significant IBM contributions to CF will require embedding into that culture
• no “schedules”, no dates, works get done when done... Pivotal tracker (similar to
online RTC) is used to track work... GitHub for all code
24
thoughts - not so positive
• lack of slack => engineers have hard time innovating (“story blinders”)
• decisions while fast are not necessarily data-driven
• pairing helps with feedback and checks, but => less external documentation
• “fanatic” move to Go-lang seems to be generally welcomed but I think Go while
good for some system-level things is not necessarily a panacea; Ruby will soon
be missed :)
• “Big ball of mud” happens for all software (Go, Ruby, etc). Second implementation
helps with learning and getting better
• TDD gets abused, sometimes - especially with overuse of mocks
25
thoughts (cont.)
• highly recommended to all engineers wanting to contribute to CF
• read and practice TDD and pairing and basic data structures
• be ready to embed yourself into culture, be open, be nice
• very few places do full agile, like Pivotal, so this by itself is a great
learning experience
• continue adding to you and company’s credibility
• helps put a human face to the Github IDs or vcap-dev names
26
27
photo credit: The Matrix, Warner Bros.
Thank you
Q & As
28
Backup
photo credit: The Matrix, Warner Bros.

Más contenido relacionado

La actualidad más candente

Puppet Camp Charlotte 2015: Managing middleware with Puppet
Puppet Camp Charlotte 2015: Managing middleware with PuppetPuppet Camp Charlotte 2015: Managing middleware with Puppet
Puppet Camp Charlotte 2015: Managing middleware with Puppet
Puppet
 

La actualidad más candente (20)

Real-world #microservices with Apache Camel, Fabric8, and OpenShift
Real-world #microservices with Apache Camel, Fabric8, and OpenShiftReal-world #microservices with Apache Camel, Fabric8, and OpenShift
Real-world #microservices with Apache Camel, Fabric8, and OpenShift
 
CFWheels - Pragmatic, Beautiful Code
CFWheels - Pragmatic, Beautiful CodeCFWheels - Pragmatic, Beautiful Code
CFWheels - Pragmatic, Beautiful Code
 
Integration in the Age of DevOps
Integration in the Age of DevOpsIntegration in the Age of DevOps
Integration in the Age of DevOps
 
The 7 deadly sins of micro services
The 7 deadly sins of micro servicesThe 7 deadly sins of micro services
The 7 deadly sins of micro services
 
[Christopher Ngo] Intro DevOPS XP Day 2015
[Christopher Ngo] Intro DevOPS XP Day 2015[Christopher Ngo] Intro DevOPS XP Day 2015
[Christopher Ngo] Intro DevOPS XP Day 2015
 
The Hardest Part of Microservices: Your Data - Christian Posta, Red Hat
The Hardest Part of Microservices: Your Data - Christian Posta, Red HatThe Hardest Part of Microservices: Your Data - Christian Posta, Red Hat
The Hardest Part of Microservices: Your Data - Christian Posta, Red Hat
 
Rebuilding Legacy Apps with Domain-Driven Design - Lessons learned
Rebuilding Legacy Apps with Domain-Driven Design - Lessons learnedRebuilding Legacy Apps with Domain-Driven Design - Lessons learned
Rebuilding Legacy Apps with Domain-Driven Design - Lessons learned
 
Essential git for developers
Essential git for developersEssential git for developers
Essential git for developers
 
Kudu voodoo slideshare
Kudu voodoo   slideshareKudu voodoo   slideshare
Kudu voodoo slideshare
 
Cloud patterns
Cloud patternsCloud patterns
Cloud patterns
 
Scaling Gilt: from Monolithic Ruby Application to Distributed Scala Micro-Ser...
Scaling Gilt: from Monolithic Ruby Application to Distributed Scala Micro-Ser...Scaling Gilt: from Monolithic Ruby Application to Distributed Scala Micro-Ser...
Scaling Gilt: from Monolithic Ruby Application to Distributed Scala Micro-Ser...
 
NDev Talk - Serverless Design Patterns
NDev Talk - Serverless Design PatternsNDev Talk - Serverless Design Patterns
NDev Talk - Serverless Design Patterns
 
Splunk user group - automating Splunk with Ansible
Splunk user group - automating Splunk with AnsibleSplunk user group - automating Splunk with Ansible
Splunk user group - automating Splunk with Ansible
 
WinOps Conf 2016 - Richard Siddaway - DevOps With Nano Server and Windows Con...
WinOps Conf 2016 - Richard Siddaway - DevOps With Nano Server and Windows Con...WinOps Conf 2016 - Richard Siddaway - DevOps With Nano Server and Windows Con...
WinOps Conf 2016 - Richard Siddaway - DevOps With Nano Server and Windows Con...
 
DevOps, Cloud, and the Death of Backup Tape Changers
DevOps, Cloud, and the Death of Backup Tape ChangersDevOps, Cloud, and the Death of Backup Tape Changers
DevOps, Cloud, and the Death of Backup Tape Changers
 
EMC World 2016 12 Factor Apps FTW
EMC World 2016 12 Factor Apps FTWEMC World 2016 12 Factor Apps FTW
EMC World 2016 12 Factor Apps FTW
 
Find your data - use GraphDB capabilities in XPages applications - and beyond
Find your data - use GraphDB capabilities in XPages applications - and beyond	Find your data - use GraphDB capabilities in XPages applications - and beyond
Find your data - use GraphDB capabilities in XPages applications - and beyond
 
Jenkins + Docker = Continuous Improvement
Jenkins + Docker = Continuous ImprovementJenkins + Docker = Continuous Improvement
Jenkins + Docker = Continuous Improvement
 
The 7 deadly sins of micro services
The 7 deadly sins of micro servicesThe 7 deadly sins of micro services
The 7 deadly sins of micro services
 
Puppet Camp Charlotte 2015: Managing middleware with Puppet
Puppet Camp Charlotte 2015: Managing middleware with PuppetPuppet Camp Charlotte 2015: Managing middleware with Puppet
Puppet Camp Charlotte 2015: Managing middleware with Puppet
 

Similar a The Pivotal Engineering Dojo: Earning Your Black Belt in Cloud Foundry Engineering (Cloud Foundry Summit 2014)

Dev ops lessons learned - Michael Collins
Dev ops lessons learned  - Michael CollinsDev ops lessons learned  - Michael Collins
Dev ops lessons learned - Michael Collins
Devopsdays
 
How to guarantee your change is integrated to Moodle core
How to guarantee your change is integrated to Moodle coreHow to guarantee your change is integrated to Moodle core
How to guarantee your change is integrated to Moodle core
Dan Poltawski
 
Tooling for the JavaScript Era
Tooling for the JavaScript EraTooling for the JavaScript Era
Tooling for the JavaScript Era
martinlippert
 

Similar a The Pivotal Engineering Dojo: Earning Your Black Belt in Cloud Foundry Engineering (Cloud Foundry Summit 2014) (20)

PHP Unconference Continuous Integration
PHP Unconference Continuous IntegrationPHP Unconference Continuous Integration
PHP Unconference Continuous Integration
 
It's XP Stupid (2019)
It's XP Stupid (2019)It's XP Stupid (2019)
It's XP Stupid (2019)
 
Technology Development in Early Stage Startup Indonesia
Technology Development in Early Stage Startup IndonesiaTechnology Development in Early Stage Startup Indonesia
Technology Development in Early Stage Startup Indonesia
 
Devconf 2011 - PHP - How Yii framework is developed
Devconf 2011 - PHP - How Yii framework is developedDevconf 2011 - PHP - How Yii framework is developed
Devconf 2011 - PHP - How Yii framework is developed
 
Introduction to the intermediate Python - v1.1
Introduction to the intermediate Python - v1.1Introduction to the intermediate Python - v1.1
Introduction to the intermediate Python - v1.1
 
Extreme Programming (XP): Revisted
Extreme Programming (XP): RevistedExtreme Programming (XP): Revisted
Extreme Programming (XP): Revisted
 
TDD - Seriously, try it! (updated '22)
TDD - Seriously, try it! (updated '22)TDD - Seriously, try it! (updated '22)
TDD - Seriously, try it! (updated '22)
 
The Clash Between Devops and Quality Assurance
The Clash Between Devops and Quality AssuranceThe Clash Between Devops and Quality Assurance
The Clash Between Devops and Quality Assurance
 
Que nos espera a los ALM Dudes para el 2013?
Que nos espera a los ALM Dudes para el 2013?Que nos espera a los ALM Dudes para el 2013?
Que nos espera a los ALM Dudes para el 2013?
 
Dev ops lessons learned - Michael Collins
Dev ops lessons learned  - Michael CollinsDev ops lessons learned  - Michael Collins
Dev ops lessons learned - Michael Collins
 
NDC London 2020 - Challenges of Managing CoreFx Repo -- Karel Zikmund
NDC London 2020 - Challenges of Managing CoreFx Repo -- Karel ZikmundNDC London 2020 - Challenges of Managing CoreFx Repo -- Karel Zikmund
NDC London 2020 - Challenges of Managing CoreFx Repo -- Karel Zikmund
 
Dev Ops for systems of record - Talk at Agile Australia 2015
Dev Ops for systems of record - Talk at Agile Australia 2015Dev Ops for systems of record - Talk at Agile Australia 2015
Dev Ops for systems of record - Talk at Agile Australia 2015
 
CPSeis & GeoCraft
CPSeis & GeoCraftCPSeis & GeoCraft
CPSeis & GeoCraft
 
How to guarantee your change is integrated to Moodle core
How to guarantee your change is integrated to Moodle coreHow to guarantee your change is integrated to Moodle core
How to guarantee your change is integrated to Moodle core
 
Tooling for the JavaScript Era
Tooling for the JavaScript EraTooling for the JavaScript Era
Tooling for the JavaScript Era
 
Code reviews: a short introduction
Code reviews: a short introductionCode reviews: a short introduction
Code reviews: a short introduction
 
Embracing OSS in the enterprise
Embracing OSS in the enterpriseEmbracing OSS in the enterprise
Embracing OSS in the enterprise
 
Lean-Agile Development with SharePoint - Bill Ayers
Lean-Agile Development with SharePoint - Bill AyersLean-Agile Development with SharePoint - Bill Ayers
Lean-Agile Development with SharePoint - Bill Ayers
 
TDD - Seriously, try it! - Bucarest Tech Week
TDD - Seriously, try it! - Bucarest Tech WeekTDD - Seriously, try it! - Bucarest Tech Week
TDD - Seriously, try it! - Bucarest Tech Week
 
TDD - Seriously, try it! - Trójmiasto Java User Group (17th May '23)
TDD - Seriously, try it! - Trójmiasto Java User Group (17th May '23)TDD - Seriously, try it! - Trójmiasto Java User Group (17th May '23)
TDD - Seriously, try it! - Trójmiasto Java User Group (17th May '23)
 

Más de VMware Tanzu

Más de VMware Tanzu (20)

What AI Means For Your Product Strategy And What To Do About It
What AI Means For Your Product Strategy And What To Do About ItWhat AI Means For Your Product Strategy And What To Do About It
What AI Means For Your Product Strategy And What To Do About It
 
Make the Right Thing the Obvious Thing at Cardinal Health 2023
Make the Right Thing the Obvious Thing at Cardinal Health 2023Make the Right Thing the Obvious Thing at Cardinal Health 2023
Make the Right Thing the Obvious Thing at Cardinal Health 2023
 
Enhancing DevEx and Simplifying Operations at Scale
Enhancing DevEx and Simplifying Operations at ScaleEnhancing DevEx and Simplifying Operations at Scale
Enhancing DevEx and Simplifying Operations at Scale
 
Spring Update | July 2023
Spring Update | July 2023Spring Update | July 2023
Spring Update | July 2023
 
Platforms, Platform Engineering, & Platform as a Product
Platforms, Platform Engineering, & Platform as a ProductPlatforms, Platform Engineering, & Platform as a Product
Platforms, Platform Engineering, & Platform as a Product
 
Building Cloud Ready Apps
Building Cloud Ready AppsBuilding Cloud Ready Apps
Building Cloud Ready Apps
 
Spring Boot 3 And Beyond
Spring Boot 3 And BeyondSpring Boot 3 And Beyond
Spring Boot 3 And Beyond
 
Spring Cloud Gateway - SpringOne Tour 2023 Charles Schwab.pdf
Spring Cloud Gateway - SpringOne Tour 2023 Charles Schwab.pdfSpring Cloud Gateway - SpringOne Tour 2023 Charles Schwab.pdf
Spring Cloud Gateway - SpringOne Tour 2023 Charles Schwab.pdf
 
Simplify and Scale Enterprise Apps in the Cloud | Boston 2023
Simplify and Scale Enterprise Apps in the Cloud | Boston 2023Simplify and Scale Enterprise Apps in the Cloud | Boston 2023
Simplify and Scale Enterprise Apps in the Cloud | Boston 2023
 
Simplify and Scale Enterprise Apps in the Cloud | Seattle 2023
Simplify and Scale Enterprise Apps in the Cloud | Seattle 2023Simplify and Scale Enterprise Apps in the Cloud | Seattle 2023
Simplify and Scale Enterprise Apps in the Cloud | Seattle 2023
 
tanzu_developer_connect.pptx
tanzu_developer_connect.pptxtanzu_developer_connect.pptx
tanzu_developer_connect.pptx
 
Tanzu Virtual Developer Connect Workshop - French
Tanzu Virtual Developer Connect Workshop - FrenchTanzu Virtual Developer Connect Workshop - French
Tanzu Virtual Developer Connect Workshop - French
 
Tanzu Developer Connect Workshop - English
Tanzu Developer Connect Workshop - EnglishTanzu Developer Connect Workshop - English
Tanzu Developer Connect Workshop - English
 
Virtual Developer Connect Workshop - English
Virtual Developer Connect Workshop - EnglishVirtual Developer Connect Workshop - English
Virtual Developer Connect Workshop - English
 
Tanzu Developer Connect - French
Tanzu Developer Connect - FrenchTanzu Developer Connect - French
Tanzu Developer Connect - French
 
Simplify and Scale Enterprise Apps in the Cloud | Dallas 2023
Simplify and Scale Enterprise Apps in the Cloud | Dallas 2023Simplify and Scale Enterprise Apps in the Cloud | Dallas 2023
Simplify and Scale Enterprise Apps in the Cloud | Dallas 2023
 
SpringOne Tour: Deliver 15-Factor Applications on Kubernetes with Spring Boot
SpringOne Tour: Deliver 15-Factor Applications on Kubernetes with Spring BootSpringOne Tour: Deliver 15-Factor Applications on Kubernetes with Spring Boot
SpringOne Tour: Deliver 15-Factor Applications on Kubernetes with Spring Boot
 
SpringOne Tour: The Influential Software Engineer
SpringOne Tour: The Influential Software EngineerSpringOne Tour: The Influential Software Engineer
SpringOne Tour: The Influential Software Engineer
 
SpringOne Tour: Domain-Driven Design: Theory vs Practice
SpringOne Tour: Domain-Driven Design: Theory vs PracticeSpringOne Tour: Domain-Driven Design: Theory vs Practice
SpringOne Tour: Domain-Driven Design: Theory vs Practice
 
SpringOne Tour: Spring Recipes: A Collection of Common-Sense Solutions
SpringOne Tour: Spring Recipes: A Collection of Common-Sense SolutionsSpringOne Tour: Spring Recipes: A Collection of Common-Sense Solutions
SpringOne Tour: Spring Recipes: A Collection of Common-Sense Solutions
 

Último

EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
Earley Information Science
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI Solutions
Enterprise Knowledge
 

Último (20)

EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Script
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf
 
A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024
 
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
 
Advantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your BusinessAdvantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your Business
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 
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
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI Solutions
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...
 
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUnderstanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
 
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxFactors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
 

The Pivotal Engineering Dojo: Earning Your Black Belt in Cloud Foundry Engineering (Cloud Foundry Summit 2014)

  • 1. CF dojo experience earning your black belt in CF engineering dr.max @maximilien julz friedman ibm cloud labs v0.5.0 June 11, 2014 photo credit: http://urbosquid.com
  • 2. 2 photo credit: The Matrix, Warner Bros.
  • 3. overview of this talk • how do I contribute to Cloud Foundry? ‣ yourself ‣ your company • why the dojo program? • is agile the same everywhere? • our experiences? 3
  • 4. 4 photo credit: The Matrix, Warner Bros.
  • 5.
  • 6.
  • 8. photo credit: The Matrix, Warner Bros.
  • 9. In theory, there is no difference between theory and practice, however, in practice there is.
  • 10. Big company agile vs. Pivotal agile some differences
  • 11. 11 • Single Coder • Sometimes a long time to come up to speed • Knowledge sharing by training sessions, some on-the-job training, documentation.. • Big difference in productivity between junior and senior programmers • Rely on code review, QA etc. @Big Company Single Coder
  • 12. 12 • Mentally Taxing! • Very impressive team, quick working, have to be on your game to keep up • Reliance on high test coverage, code quality • Pairing is synchronous code review @Pivotal Pair programming
  • 13. .. probably not for everyone
  • 14. 14 • Quite agile, but adapted to the realities of the business (Distributed Programmers, Project Management, Detailed Feature Tracking..) • Sometimes uses Agile terms without actually being all that agile. • Some test-first development. But not nearly pervasive enough. credit: http://kasperowski.com/2010/09/ hardening-sprints-sorry-youre-not-agile.html @Big Company “agile” methodology
  • 15. 15 • HEAVY reliance on test-first development, refactoring & communication • Huge opportunity to learn • e.g. Limited documentation, lightweight stories, minimal up-front architecture and design, aggressive refactoring + wicked fast feedback cycle. • Very effective BUT reliance on being in the room. • How to make it scale for a distributed project? (will come back to this) @Pivotal XP-style methodology
  • 16. 16 photo credit: The Matrix, Warner Bros.
  • 17. our dojo experiences • spent 7-8 weeks at Pivotal SF working with CF team • tried to work with as many teams as possible • primary goals were to: 1. learn CF codebase, lean how to debug, learn how to contribute 2. meet as many members of CF team as possible, build relationships 3. gain credibility for myself and IBM • overall experience positive - achieved most goals 17
  • 20. runtime team • maybe the most important CF teams (Diego + regular runtime) • runtime integrates all pieces. Runs and manages: Tabasco, A1, and Production Pivotal CF environments • typically seen as chaotic - especially while I was there (syslog issue) • always under lots of pressure, however, can be rewarding • not the ideal place to learn CF tools or CLI or CF itself, but great to learn internals of cloud-controller and DEA components 20
  • 21. bosh team • under less pressure than runtime but nonetheless critical • vision for BOSH evolving to be a tool that can be used outside of CF • some “star” Pivotal engineers are on BOSH • has its own “language” (release, jobs, packages, spec, etc) • not the place to learn how to use BOSH, however, great to learn internals and its goals and directions • BOSH is great once you understand, learn its language, and learn its key goals 21
  • 22. miscellaneous • got a chance to pair and meet docs team • got to meet, but not paired with, services team • got to meet and indirectly-pair with other team Pivotal product team members (especially Tempest, PHD, CLI) • good recap with Rob Mee and directors • got to provide feedback to Pivotal culture (good and bad) 22
  • 23. photo credit: The Matrix, Warner Bros.
  • 24. thoughts - positive • Pivotal has welcoming and “be nice” culture, easy to fit, but must contribute • striking mismatch between Pivotal culture and IBM’s (emails and meetings) • decisions are super fast since directors, PMs, and engineers are in close proximity • Pivotal is one of few companies doing XP with high-level of "discipline" and in particular Pair Programming and TDD • entire floor of two-floor Pivotal Labs in SF dedicated to CF (rotations all the time) • significant IBM contributions to CF will require embedding into that culture • no “schedules”, no dates, works get done when done... Pivotal tracker (similar to online RTC) is used to track work... GitHub for all code 24
  • 25. thoughts - not so positive • lack of slack => engineers have hard time innovating (“story blinders”) • decisions while fast are not necessarily data-driven • pairing helps with feedback and checks, but => less external documentation • “fanatic” move to Go-lang seems to be generally welcomed but I think Go while good for some system-level things is not necessarily a panacea; Ruby will soon be missed :) • “Big ball of mud” happens for all software (Go, Ruby, etc). Second implementation helps with learning and getting better • TDD gets abused, sometimes - especially with overuse of mocks 25
  • 26. thoughts (cont.) • highly recommended to all engineers wanting to contribute to CF • read and practice TDD and pairing and basic data structures • be ready to embed yourself into culture, be open, be nice • very few places do full agile, like Pivotal, so this by itself is a great learning experience • continue adding to you and company’s credibility • helps put a human face to the Github IDs or vcap-dev names 26
  • 27. 27 photo credit: The Matrix, Warner Bros.
  • 28. Thank you Q & As 28
  • 30. photo credit: The Matrix, Warner Bros.