Top Banner
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
30

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

Jan 27, 2015

Download

Technology

Pivotal

Business Track presented by Michael Maximilien, Chief Architect PaaS Innovation at IBM.
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: The Pivotal Engineering Dojo: Earning Your Black Belt in Cloud Foundry Engineering (Cloud Foundry Summit 2014)

CF dojo experience earning your black belt in CF engineering

dr.max @maximilien julz friedmanibm cloud labs v0.5.0

June 11, 2014

photo credit: http://urbosquid.com

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

2

photo credit: The Matrix, Warner Bros.

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

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

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

4

photo credit: The Matrix, Warner Bros.

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

It Works!

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

photo credit: The Matrix, Warner Bros.

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

In theory, there is no difference between theory and practice, however, in practice there is.

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

Big company agile vs. Pivotal agile

some differences

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

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

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

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

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

.. probably not for everyone

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

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

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

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

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

16

photo credit: The Matrix, Warner Bros.

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

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

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

standups

18

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

pairing

19

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

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

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

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

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

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

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

photo credit: The Matrix, Warner Bros.

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

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

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

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

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

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

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

27

photo credit: The Matrix, Warner Bros.

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

Thank you Q & As

28

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

Backup

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

photo credit: The Matrix, Warner Bros.