Being a PTL: The Good, the Bad, and the Ugly - - PowerPoint PPT Presentation

being a ptl the good the bad and the ugly
SMART_READER_LITE
LIVE PREVIEW

Being a PTL: The Good, the Bad, and the Ugly - - PowerPoint PPT Presentation

Being a PTL: The Good, the Bad, and the Ugly http://cinetropolis.net/wp-content/uploads/2013/10/the-good-the-bad-and-the-ugly-t-anderson-banner.jpg About the Presenters Matt Riedemann Software Developer, Huawei N-O-P Nova PTL Steve Martinelli


slide-1
SLIDE 1

Being a PTL: The Good, the Bad, and the Ugly

http://cinetropolis.net/wp-content/uploads/2013/10/the-good-the-bad-and-the-ugly-t-anderson-banner.jpg

slide-2
SLIDE 2

About the Presenters

Armando Migliaccio

Software Developer, SUSE M-N-O Neutron PTL @armandomi2001

Steve Martinelli

Software Developer, IBM M-N-O Keystone PTL @stevebot

Matt Riedemann

Software Developer, Huawei N-O-P Nova PTL

Slides available at: https://www.slideshare.net/SteveMartinelli1/building-iam-for-openstack

slide-3
SLIDE 3

BEFORE & AFTER

slide-4
SLIDE 4

After Before

slide-5
SLIDE 5

PERCEPTION vs. REALITY

slide-6
SLIDE 6

Perception

  • The PTL knows everything about the project
  • The PTL is a dictator
  • The PTL is the best coder on the team
  • The PTL is a “super reviewer”

Perception vs Reality

slide-7
SLIDE 7

Perception vs Reality

Reality

  • We don’t know everything

○ We’re also not historians or psychics

  • We’re not dictators

○ We’re moderators and liaisons

  • We’re not the best coders

○ We’re hardly the best at anything

  • We don’t just review code, we also…

○ Ensure the gate isn’t broken, nominate cores,

  • rganize PTGs, liaise with projects, triage

bugs, run meetings, organize bug smashes, ensure stable isn’t broken, release libraries, monitor mailing list, draft release notes, etc...

slide-8
SLIDE 8

BECOMING A PTL: HOW & WHY?

slide-9
SLIDE 9

The DO’s

  • Work from the ground up
  • Become known across projects
  • Make yourself available
  • Review code
  • Become a core
  • Work well with others

The DONT’s

  • Piss people off
  • Think you know it all
  • Work in isolation
  • Push a company agenda

Becoming a PTL: How?

slide-10
SLIDE 10

Good reasons

  • Solid understanding of technical and social aspects
  • Excellent at cat herding
  • You have enough time to devote to working upstream
  • You have enough time to devote to working upstream
  • You have enough time to devote to working upstream

Bad reasons

  • Management asked you to
  • Promote company agenda
  • Leverage for more money

Becoming a PTL: Why?

slide-11
SLIDE 11

The Good, The Bad, and The Ugly

slide-12
SLIDE 12

Learning

  • Learn about yourself
  • Practice soft skills
  • Passing on what you’ve learned

Growth

  • See the project change and grow
  • Nominating new core members
  • Watching core members grow and learn

The Good

slide-13
SLIDE 13

Service

  • Doin’ the dirty work
  • Mentoring contributors
  • Coordinating feature development
  • Building consensus

The Good

slide-14
SLIDE 14

Recognition

  • Accolades, fame
  • Increased visibility in the industry
  • Lots of promised libations
  • Lots of cheering when stepping up
  • Lots of praising when stepping down

The Good

slide-15
SLIDE 15

Bureaucracy

  • Keeping up the many threads of execution:

○ project governance changes ○ interop working group ○ initiatives in other projects ○ release management ○ vulnerabilities ○ roadmaps, really!?

  • Reality is PTL can indeed rely on liaisons, but...

The Bad

slide-16
SLIDE 16

Workload

  • Disconnecting is hard
  • Hopelessly herding cats
  • Put out fires outside working hours
  • Ever growing backlog
  • Release crunch time

The Bad

slide-17
SLIDE 17

Everything Else

  • Deal with scale beyond human proportions

○ Email inbox explosion ○ Gate queue explosion ○ Bug backlog explosion

  • Unable to motivate people to care about

○ bug triage ○ test coverage ○ team meetings

The Bad

slide-18
SLIDE 18

Managing Expectations

  • Contributors may resent you
  • Trying to justify upstream time to employer

Managing upstream relations

  • Having a disconnect with other PTLs
  • Having a disconnect with former/future PTL

The Ugly

slide-19
SLIDE 19

Team Dynamics

  • Growing/Contracting the core team
  • Having to kick/ban people from IRC
  • Being PTL of a project with a poor reputation
  • Having a row over IRC or ML
  • Having to be mom or dad to adults

The Ugly

slide-20
SLIDE 20

To conclude

  • The point of the talk was to peel back the curtain a bit
  • Hopefully we haven’t turned you off completely, it’s a very

rewarding experience

  • If you see a PTL around, give them a hug

○ (Except Matt, he doesn’t do hugs)

slide-21
SLIDE 21

Questions? … and hopefully some answers

slide-22
SLIDE 22

BACKUP SLIDES

slide-23
SLIDE 23
  • Learning

○ You’ll learn a lot about yourself than you’ve ever wanted (examples to follow? what did you learn Steve?) ■ How to optimize everything, manage every minute of your day ■ What amount of work you can handle, and how you choose to handle extra work (longer hours or delegate) ■ How to be a leader (rally a team, delegate work, communicate effectively) ○ Chance to pass on what you’ve learned and create future leaders

  • Growth

○ See the project change and grow ○ Nominating new core members! ○ Watching core members grow and learn

  • Service

○ You do a lot of the day to day dirty work and see how the sausage is made ○ Mentoring new contributors

  • Project Improvements

○ Orchestrating dozens of new features ○ Fixing bugs and adding code that fills long standings gaps ○ Actually seeing big complicated cross-project efforts get worked out and implemented.

  • Notoriety (Recognition? Notoriety has a negative connotation)

○ All the glory and fame! (not really) ○ Being the go-to person, if that’s your thing ○ Competing in an election, and win by a good margin (mriedem: I’d drop this / reword, i.e. not Trump) ○ Increased visibility in the industry ○ Rewarded by the praise of co-workers (if doing a good job!) ○ You’re like a rock-star: other developers want pictures with you! (really?) (i’d agree with this) ○ Lots of (promised) beer or alcohol of your choice during Summits or Mid-cycles/PTGs

Spitball “Good” ideas here

slide-24
SLIDE 24
  • Exposed to the bureaucracy:

○ docs wants sign-off prior to release for the install guide now with a tag in the governance repo ○ interop wg is looking for help on guidelines each release

  • Working with tangential teams

○ release team needs that stuff done ○ security team needs ○ cross-project needs for feature development (limits in keystone, multiattach in cinder, glance v2 support, routed networks with neutron, etc etc)

  • Workload

○ Feeling the urge to go check email/IRC even when on vacation ○ Find a good way to strike a compromise, e.g. resolve a dispute amongst cores ○ Hopelessly herding cats

  • Misc

○ Keeping up with all the mailing lists ○ Monitoring gate status and making sure we have adequate test coverage ○ The ever-growing bug backlog and how to get people to care about it ○ Running a meeting where clearly everyone is multitasking and/or not paying attention to (the echo chamber) ○ Releasing a library that unintentionally breaks someone, and scrambling to fix the breaks ○ Seeing core members drop out of the community, this sucks. Maybe this is ugly content? ○ Thinking there will be agreement on what you think is an incremental improvement turn into a massive bikeshedding session which ultimately results in nothing getting done and a lot of frustration and wasted time.

Spitball “Bad” ideas here

slide-25
SLIDE 25

Spitball “Ugly” ideas here

  • Foundation tasks

○ Foundation wants you doing marketing stuff each release ○ Product wg wants you working with the foundation to set a 3-release out roadmap for what you're going to be working on

  • Managing vendor and workplace expectations

○ Vendors hate you for not getting their specs approved or code in ○ Constant pressure for not pushing through enough code ○ Trying to justify the time you spend upstream to your employer

  • Team Dynamics

○ Growing the core team ○ Dealing with the stress of retention (or the perception that openstack is failing and it's all our fault) ○ Having to kick/ban people from IRC ○ Being the PTL of a project with bad reputation or on the verge of collapse (is this Nova or Neutron, or both?) (I was thinking murano or zaqar) ○ Telling people nicely that they are full of it ○ Release crunch time

  • Misc:

○ Arguing with your spouse about why you need to travel so often ○ Working until the crack of dawn

  • Burnout is a real thing
  • The drop in respect/importance can be a real kick to the self-esteem
slide-26
SLIDE 26

Should we each talk about our experiences here? That’s easy for me with Nova. It also ties into ‘the journey’ and how one becomes PTL a bit, because John was doing some of the work for Michael, and I was doing some of the work for John, so the transition was pretty natural. SM: let’s just add this to the “ugly” part

The Delicate Hand-Off

slide-27
SLIDE 27
  • Used to be Project “Technical” Lead, now it’s Project Team Lead.
  • Idea: post-PTL trend to jump into TC (maybe doesn’t fit here, but somewhere), life after PTL

team/liaison organization evolution

slide-28
SLIDE 28

Reality Perception

slide-29
SLIDE 29

Before After

slide-30
SLIDE 30

wordy format

slide-31
SLIDE 31

About the Presenters

Steve Martinelli

Software Developer, IBM M-N-O Keystone PTL @stevebot

Matt Riedemann

Software Developer, Huawei N-O-P Nova PTL

Armando Migliaccio

Software Developer, SUSE M-N-O Neutron PTL @armandomi2001

slide-32
SLIDE 32

After Before

slide-33
SLIDE 33

Reality Perception

slide-34
SLIDE 34

Perception

  • You know everything about the project, all of the code, all of the previous decisions, and can

answer all questions.

  • The PTL is a dictator that makes all of the decisions.
  • The PTL is a “super core”, capable of reviewing 100s of patches per week

Perception vs Reality

Reality

  • There are parts of the code base you have maybe never seen, and you just have no idea what

people before you were thinking.

  • The PTL is really the servant of the contributors to the project and is more of a moderator,

manager and liaison.

  • Aside from reviewing code, there are many more things other things a PTL must do.

○ Gate sanity, nominate cores, organize PTGs, liaise, bug triage, meetings, bug smash, stable maintenance, release libs, mailing list, release notes, etc….

slide-35
SLIDE 35
  • The DO’s

○ Work from the ground up (fix bugs, watch the gate, help with the release, documentation, ...) ○ Become known, build a cross-project network ○ Make yourself available ○ Perform hundreds of code reviews ○ Become a core ○ Work well with the current PTL and other cores

How does one become a PTL?

  • The DONT’s

○ Piss people off: think twice before you push the Send/Post button ○ Think you know it all (see comment #1): be humble and always ask for feedback ○ Work in isolation: keep a live pulse with the community ○ Push your company’s agenda onto everyone else

slide-36
SLIDE 36
  • Good reasons

○ You have a solid understanding of both the project’s technical and social aspects ○ You’re an excellent cat herder ○ You have time that you can devote to the upstream project for the given cycle ○ You have time that you can devote to the upstream project for the given cycle ○ You have time that you can devote to the upstream project for the given cycle ○ ...that’s right, because most likely you’ll end up running more than once!

Why Become a PTL?

  • Bad reasons

○ Because your manager asks you to ○ So that you can drive your own company’s agenda ○ Because you can ask for more money, if you go to another employer

slide-37
SLIDE 37

The Good: Learning and Growth

slide-38
SLIDE 38
  • Learning

○ You’ll learn a lot more about yourself than you’ve ever wanted ■ How to optimize everything, manage every minute of your day ■ What amount of work you can handle, and how you choose to handle extra work (longer hours or delegate) ■ How to be a leader (rally a team, delegate work, communicate effectively) ○ Chance to pass on what you’ve learned and create future leaders

  • Growth

○ See the project change and grow ○ Nominating new core members! ■ Watching core members grow and learn

The Good: Learning and Growth

slide-39
SLIDE 39

The Good: Service

slide-40
SLIDE 40
  • Service

○ You do a lot of the day to day dirty work and see how the sausage is made ○ Mentoring new contributors ○ Orchestrating dozens of new features ○ Fixing bugs and adding code that fills long standings gaps ○ Building consensus ○ Actually seeing big complicated cross-project efforts get worked out and implemented

The Good: Service

slide-41
SLIDE 41

The Good: Recognition

slide-42
SLIDE 42
  • Recognition

○ All the glory and fame! (not really) ○ Being the go-to person, if that’s your thing ○ Increased visibility in the industry ○ You’re like a rock-star: other developers want pictures with you! (really?) ○ Lots of cheering when stepping up ○ Lots of praising when stepping down ○ Lots of (promised) libations of your choice during Summits or Mid-cycles/PTGs ○ Your opinion might actually have some weight

The Good: Recognition

slide-43
SLIDE 43

The Bad: Bureaucracy

slide-44
SLIDE 44
  • Bureaucracy

○ Dealing with governance tags, e.g. docs, stable maintenance, upgrades, etc ○ The interop workgroup is looking for help on defcore guidelines each release ○ Working with tangential teams ○ Release team needs that stuff done ○ Security team needs ○ Cross-project needs for feature development (limits in keystone, multiattach in cinder, glance v2 support, routed networks with neutron, etc etc)

The Bad: Bureaucracy

slide-45
SLIDE 45

The Bad: Workload

slide-46
SLIDE 46

The Bad: Workload

  • Workload

○ Feeling the urge to go check email/IRC even when on vacation ○ Find a good way to strike a compromise, e.g. resolve a dispute amongst cores ○ Hopelessly herding cats ○ Working long hours due to guilt and feeling that there is always more to do

slide-47
SLIDE 47

The Bad: Everything Else

slide-48
SLIDE 48
  • Everything Else

○ Keeping up with all the mailing lists ○ Monitoring gate status and making sure we have adequate test coverage ○ The ever-growing bug backlog and how to get people to care about it ○ Running a meeting where clearly everyone is multitasking and/or not paying attention (the echo chamber) ○ Releasing a library that unintentionally breaks someone, and scrambling to fix the breaks ○ Seeing core members drop out of the community (when they didn’t want to) ○ Thinking there will be agreement on what you think is an incremental improvement turn into a massive bikeshedding session which ultimately results in nothing getting done and a lot of frustration and wasted time. ○ Being expected to have an opinion about everything, even though your opinion might not matter

The Bad: Everything Else

slide-49
SLIDE 49

The Ugly: Managing Expectations

slide-50
SLIDE 50

The Ugly: Managing Expectations

  • Managing Expectations

○ Managing contributors and workplace expectations ○ Contributors resent you for not getting their specs approved or code merged ○ Constant pressure for not pushing through enough code ○ Trying to justify the time you spend upstream to your employer ○ Having a disconnect with PTLs in other projects ○ Having a disconnect with former/future PTL in the same project

slide-51
SLIDE 51

The Ugly: Team Dynamics

slide-52
SLIDE 52

The Ugly: Team Dynamics

  • Team Dynamics

○ Growing the core team ○ Dealing with the stress of retention ○ Having to kick/ban people from IRC ○ Being the PTL of a project with a bad reputation or on the verge of collapse ○ Telling people nicely that they are full of it ○ Release crunch time

slide-53
SLIDE 53

The Ugly: Everything Else

slide-54
SLIDE 54

The Ugly: Everything Else

  • Foundation wants you doing marketing stuff each release
  • Product workgroup wants you working with the foundation to set a 3-release out roadmap for what

you're going to be working on

  • Arguing with your spouse about why you need to travel so often
  • Working until the crack of dawn
  • Burnout is a real thing
  • The drop in respect/importance once your term is up can be a real kick to the self-esteem
slide-55
SLIDE 55

To conclude...

  • Hopefully we haven’t turned you off completely about becoming a PTL
  • It’s a very rewarding experience
  • The point of the talk was to peel back the curtain on what it means to be a PTL. If you see one

around, give them a hug (except mriedem, he doesn’t do hugs).

slide-56
SLIDE 56

Everything Else

  • Foundation wants you to do marketing
  • Product working group wants roadmaps
  • Too much travel
  • Working until the crack of dawn
  • Burnout is a real thing
  • No longer important when not PTL

The Ugly