storytelling for engineers - usenix...storytelling for engineers brad shively (@bjshively) uber atg....

59
Storytelling for Engineers Brad Shively (@bjshively) Uber ATG

Upload: others

Post on 29-Jun-2020

4 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Storytelling for Engineers - USENIX...Storytelling for Engineers Brad Shively (@bjshively) Uber ATG. Hi, I’m Brad. Engineering Manager @ Uber ATG. If you don’t _____, then _____

Storytelling for EngineersBrad Shively (@bjshively)

Uber ATG

Page 2: Storytelling for Engineers - USENIX...Storytelling for Engineers Brad Shively (@bjshively) Uber ATG. Hi, I’m Brad. Engineering Manager @ Uber ATG. If you don’t _____, then _____

Hi, I’m Brad.Engineering Manager @ Uber ATG

Page 3: Storytelling for Engineers - USENIX...Storytelling for Engineers Brad Shively (@bjshively) Uber ATG. Hi, I’m Brad. Engineering Manager @ Uber ATG. If you don’t _____, then _____

If you don’t ___________,then ________________.

communicate with other humans

this talk isn’t for you

Page 4: Storytelling for Engineers - USENIX...Storytelling for Engineers Brad Shively (@bjshively) Uber ATG. Hi, I’m Brad. Engineering Manager @ Uber ATG. If you don’t _____, then _____
Page 5: Storytelling for Engineers - USENIX...Storytelling for Engineers Brad Shively (@bjshively) Uber ATG. Hi, I’m Brad. Engineering Manager @ Uber ATG. If you don’t _____, then _____

WTF

Page 6: Storytelling for Engineers - USENIX...Storytelling for Engineers Brad Shively (@bjshively) Uber ATG. Hi, I’m Brad. Engineering Manager @ Uber ATG. If you don’t _____, then _____

Communication is an essential engineering skill.

Page 7: Storytelling for Engineers - USENIX...Storytelling for Engineers Brad Shively (@bjshively) Uber ATG. Hi, I’m Brad. Engineering Manager @ Uber ATG. If you don’t _____, then _____

Engineering communication is broken.

Page 8: Storytelling for Engineers - USENIX...Storytelling for Engineers Brad Shively (@bjshively) Uber ATG. Hi, I’m Brad. Engineering Manager @ Uber ATG. If you don’t _____, then _____

Storytelling is the solution

Page 9: Storytelling for Engineers - USENIX...Storytelling for Engineers Brad Shively (@bjshively) Uber ATG. Hi, I’m Brad. Engineering Manager @ Uber ATG. If you don’t _____, then _____

Everything* is a story,and everyone is a storyteller

Page 10: Storytelling for Engineers - USENIX...Storytelling for Engineers Brad Shively (@bjshively) Uber ATG. Hi, I’m Brad. Engineering Manager @ Uber ATG. If you don’t _____, then _____

Most of us are just pretty bad at storytelling

Page 11: Storytelling for Engineers - USENIX...Storytelling for Engineers Brad Shively (@bjshively) Uber ATG. Hi, I’m Brad. Engineering Manager @ Uber ATG. If you don’t _____, then _____

Why?

Page 12: Storytelling for Engineers - USENIX...Storytelling for Engineers Brad Shively (@bjshively) Uber ATG. Hi, I’m Brad. Engineering Manager @ Uber ATG. If you don’t _____, then _____

Storytelling causes changes in brain chemistry that increase awareness, activate the rewards center of the brain (dopamine), and increase empathy and pro-social behavior (oxytocin)

Source: https://www.forbes.com/sites/giovannirodriguez/2017/07/21/this-is-your-brain-on-storytelling-the-chemistry-of-modern-communication/#44097c2bc865

Page 13: Storytelling for Engineers - USENIX...Storytelling for Engineers Brad Shively (@bjshively) Uber ATG. Hi, I’m Brad. Engineering Manager @ Uber ATG. If you don’t _____, then _____

Stories result in better understanding of key points, increase voluntary compliance, and improve memory.

Source: https://hbr.org/2014/10/why-your-brain-loves-good-storytelling

Page 14: Storytelling for Engineers - USENIX...Storytelling for Engineers Brad Shively (@bjshively) Uber ATG. Hi, I’m Brad. Engineering Manager @ Uber ATG. If you don’t _____, then _____

If you want them to listen, understand, and remember:

tell a story

Page 15: Storytelling for Engineers - USENIX...Storytelling for Engineers Brad Shively (@bjshively) Uber ATG. Hi, I’m Brad. Engineering Manager @ Uber ATG. If you don’t _____, then _____

This is not a TED talk.

Page 16: Storytelling for Engineers - USENIX...Storytelling for Engineers Brad Shively (@bjshively) Uber ATG. Hi, I’m Brad. Engineering Manager @ Uber ATG. If you don’t _____, then _____

How?

Page 17: Storytelling for Engineers - USENIX...Storytelling for Engineers Brad Shively (@bjshively) Uber ATG. Hi, I’m Brad. Engineering Manager @ Uber ATG. If you don’t _____, then _____

Identify your audience

Page 18: Storytelling for Engineers - USENIX...Storytelling for Engineers Brad Shively (@bjshively) Uber ATG. Hi, I’m Brad. Engineering Manager @ Uber ATG. If you don’t _____, then _____

Things Everyone Knows

Things YourAudience Knows

Things You Know

What You Imagine

Page 19: Storytelling for Engineers - USENIX...Storytelling for Engineers Brad Shively (@bjshively) Uber ATG. Hi, I’m Brad. Engineering Manager @ Uber ATG. If you don’t _____, then _____

Reality

Things YourAudience Knows

Things You Know

Things Everyone Knows

Page 20: Storytelling for Engineers - USENIX...Storytelling for Engineers Brad Shively (@bjshively) Uber ATG. Hi, I’m Brad. Engineering Manager @ Uber ATG. If you don’t _____, then _____

Your job as a storyteller is to map your brain onto your audience’s brain.

Page 21: Storytelling for Engineers - USENIX...Storytelling for Engineers Brad Shively (@bjshively) Uber ATG. Hi, I’m Brad. Engineering Manager @ Uber ATG. If you don’t _____, then _____

Identify your audience

Figure out what storyyou’re telling

Page 22: Storytelling for Engineers - USENIX...Storytelling for Engineers Brad Shively (@bjshively) Uber ATG. Hi, I’m Brad. Engineering Manager @ Uber ATG. If you don’t _____, then _____

Who is your character?

Page 23: Storytelling for Engineers - USENIX...Storytelling for Engineers Brad Shively (@bjshively) Uber ATG. Hi, I’m Brad. Engineering Manager @ Uber ATG. If you don’t _____, then _____

What is the character arc?

Page 24: Storytelling for Engineers - USENIX...Storytelling for Engineers Brad Shively (@bjshively) Uber ATG. Hi, I’m Brad. Engineering Manager @ Uber ATG. If you don’t _____, then _____

Identify your audience

Figure out what storyyou’re telling

Tell the story, with context

Page 25: Storytelling for Engineers - USENIX...Storytelling for Engineers Brad Shively (@bjshively) Uber ATG. Hi, I’m Brad. Engineering Manager @ Uber ATG. If you don’t _____, then _____

Let’s write an email!

Page 26: Storytelling for Engineers - USENIX...Storytelling for Engineers Brad Shively (@bjshively) Uber ATG. Hi, I’m Brad. Engineering Manager @ Uber ATG. If you don’t _____, then _____

Remote test execution has been enabled.

-Brad

Remote Testing

Page 27: Storytelling for Engineers - USENIX...Storytelling for Engineers Brad Shively (@bjshively) Uber ATG. Hi, I’m Brad. Engineering Manager @ Uber ATG. If you don’t _____, then _____

Is this email good or bad?

Page 28: Storytelling for Engineers - USENIX...Storytelling for Engineers Brad Shively (@bjshively) Uber ATG. Hi, I’m Brad. Engineering Manager @ Uber ATG. If you don’t _____, then _____

It depends...

Page 29: Storytelling for Engineers - USENIX...Storytelling for Engineers Brad Shively (@bjshively) Uber ATG. Hi, I’m Brad. Engineering Manager @ Uber ATG. If you don’t _____, then _____

Who is our audience?

Page 30: Storytelling for Engineers - USENIX...Storytelling for Engineers Brad Shively (@bjshively) Uber ATG. Hi, I’m Brad. Engineering Manager @ Uber ATG. If you don’t _____, then _____

If my audience is the Build Team, this email might be fine

Page 31: Storytelling for Engineers - USENIX...Storytelling for Engineers Brad Shively (@bjshively) Uber ATG. Hi, I’m Brad. Engineering Manager @ Uber ATG. If you don’t _____, then _____

Let’s assume this e-mail is for the entire software org

Page 32: Storytelling for Engineers - USENIX...Storytelling for Engineers Brad Shively (@bjshively) Uber ATG. Hi, I’m Brad. Engineering Manager @ Uber ATG. If you don’t _____, then _____

Pros: Easy and fast to write

Page 33: Storytelling for Engineers - USENIX...Storytelling for Engineers Brad Shively (@bjshively) Uber ATG. Hi, I’m Brad. Engineering Manager @ Uber ATG. If you don’t _____, then _____

Cons: Everything else

Page 34: Storytelling for Engineers - USENIX...Storytelling for Engineers Brad Shively (@bjshively) Uber ATG. Hi, I’m Brad. Engineering Manager @ Uber ATG. If you don’t _____, then _____

“So what?”“Why?”Worst of all… <silence>

Responses:

Page 35: Storytelling for Engineers - USENIX...Storytelling for Engineers Brad Shively (@bjshively) Uber ATG. Hi, I’m Brad. Engineering Manager @ Uber ATG. If you don’t _____, then _____

Am I announcing that tests are better (or worse) now?

Do I want the recipients to take some action? If so, I need to explicitly ask them.

Page 36: Storytelling for Engineers - USENIX...Storytelling for Engineers Brad Shively (@bjshively) Uber ATG. Hi, I’m Brad. Engineering Manager @ Uber ATG. If you don’t _____, then _____

Let’s talk about data

Page 37: Storytelling for Engineers - USENIX...Storytelling for Engineers Brad Shively (@bjshively) Uber ATG. Hi, I’m Brad. Engineering Manager @ Uber ATG. If you don’t _____, then _____

“I’m data driven”

...and other lies people tell.

Page 38: Storytelling for Engineers - USENIX...Storytelling for Engineers Brad Shively (@bjshively) Uber ATG. Hi, I’m Brad. Engineering Manager @ Uber ATG. If you don’t _____, then _____

Just data often isn’t really that useful

Page 39: Storytelling for Engineers - USENIX...Storytelling for Engineers Brad Shively (@bjshively) Uber ATG. Hi, I’m Brad. Engineering Manager @ Uber ATG. If you don’t _____, then _____

Remote test execution has been enabled. Attached are results for several test runs.

-Brad

Remote Testing Results

Page 40: Storytelling for Engineers - USENIX...Storytelling for Engineers Brad Shively (@bjshively) Uber ATG. Hi, I’m Brad. Engineering Manager @ Uber ATG. If you don’t _____, then _____

Attachment: results.txtTotal Run Time=985.7s Total Run Time=1007.7s Total Run Time=986.5s Total Run Time=388.5s Total Run Time=615.7sTotal Run Time=1169.3sTotal Run Time=1080.0s Total Run Time=1292.6sTotal Run Time=886.7s Total Run Time=405.7s Total Run Time=676.3s Total Run Time=583.5s Total Run Time=2115.7sTotal Run Time=969.3sTotal Run Time=1280.0s Total Run Time=1092.6sTotal Run Time=785.7s Total Run Time=798.7s Total Run Time=1286.5s Total Run Time=988.5s Total Run Time=815.7sTotal Run Time=769.3sTotal Run Time=1180.0s Total Run Time=1092.6sTotal Run Time=685.7s Total Run Time=707.7s Total Run Time=686.5s Total Run Time=688.5s Total Run Time=815.7sTotal Run Time=769.3sTotal Run Time=1180.0s Total Run Time=1092.6sTotal Run Time=685.7s Total Run Time=707.7s Total Run Time=686.5s Total Run Time=688.5s Total Run Time=815.7sTotal Run Time=769.3sTotal Run Time=1180.0s Total Run Time=1092.6sTotal Run Time=685.7s Total Run Time=707.7s Total Run Time=686.5s Total Run Time=688.5s Total Run Time=815.7sTotal Run Time=769.3s

Total Run Time=1088.2s Total Run Time=1086.5s Total Run Time=1111.7s Total Run Time=1180.0s Total Run Time=1092.6sTotal Run Time=685.7s Total Run Time=707.7s Total Run Time=686.5s Total Run Time=688.5s Total Run Time=815.7sTotal Run Time=769.3sTotal Run Time=1280.0s Total Run Time=1692.6sTotal Run Time=985.7s Total Run Time=1007.7s Total Run Time=986.5s Total Run Time=388.5s Total Run Time=615.7sTotal Run Time=1169.3sTotal Run Time=1080.0s Total Run Time=1292.6sTotal Run Time=886.7s Total Run Time=405.7s Total Run Time=676.3s Total Run Time=583.5s Total Run Time=2115.7sTotal Run Time=969.3sTotal Run Time=1280.0s Total Run Time=1092.6sTotal Run Time=785.7s Total Run Time=798.7s Total Run Time=1286.5s Total Run Time=988.5s Total Run Time=815.7sTotal Run Time=769.3sTotal Run Time=1180.0s Total Run Time=1092.6sTotal Run Time=685.7s Total Run Time=707.7s Total Run Time=686.5s Total Run Time=688.5s Total Run Time=815.7sTotal Run Time=769.3sTotal Run Time=1180.0s Total Run Time=1092.6sTotal Run Time=685.7s Total Run Time=707.7s Total Run Time=686.5s Total Run Time=688.5s Total Run Time=815.7sTotal Run Time=769.3sTotal Run Time=1180.0s Total Run Time=1092.6sTotal Run Time=685.7s Total Run Time=707.7s Total Run Time=686.5s Total Run Time=688.5s Total Run Time=815.7sTotal Run Time=769.3s

Total Run Time=1280.0s Total Run Time=1092.6sTotal Run Time=785.7s Total Run Time=798.7s Total Run Time=1286.5s Total Run Time=988.5s Total Run Time=815.7sTotal Run Time=769.3sTotal Run Time=1180.0s Total Run Time=1092.6sTotal Run Time=685.7s Total Run Time=707.7s Total Run Time=686.5s Total Run Time=688.5s Total Run Time=815.7sTotal Run Time=769.3sTotal Run Time=1180.0s Total Run Time=1092.6sTotal Run Time=685.7s Total Run Time=707.7s Total Run Time=686.5s Total Run Time=688.5s Total Run Time=815.7sTotal Run Time=769.3sTotal Run Time=1180.0s Total Run Time=1092.6sTotal Run Time=685.7s Total Run Time=707.7s Total Run Time=686.5s Total Run Time=688.5s Total Run Time=815.7sTotal Run Time=769.3s

Page 41: Storytelling for Engineers - USENIX...Storytelling for Engineers Brad Shively (@bjshively) Uber ATG. Hi, I’m Brad. Engineering Manager @ Uber ATG. If you don’t _____, then _____

“What?”

<delete>

Responses:

Page 42: Storytelling for Engineers - USENIX...Storytelling for Engineers Brad Shively (@bjshively) Uber ATG. Hi, I’m Brad. Engineering Manager @ Uber ATG. If you don’t _____, then _____

You make data useful with context, analysis, and insights

Page 43: Storytelling for Engineers - USENIX...Storytelling for Engineers Brad Shively (@bjshively) Uber ATG. Hi, I’m Brad. Engineering Manager @ Uber ATG. If you don’t _____, then _____

Source: https://en.wikipedia.org/wiki/DIKW_pyramid

effo

rtva

lue

Page 44: Storytelling for Engineers - USENIX...Storytelling for Engineers Brad Shively (@bjshively) Uber ATG. Hi, I’m Brad. Engineering Manager @ Uber ATG. If you don’t _____, then _____

Formulaic e-mails are bad...

Page 45: Storytelling for Engineers - USENIX...Storytelling for Engineers Brad Shively (@bjshively) Uber ATG. Hi, I’m Brad. Engineering Manager @ Uber ATG. If you don’t _____, then _____

But...

Page 46: Storytelling for Engineers - USENIX...Storytelling for Engineers Brad Shively (@bjshively) Uber ATG. Hi, I’m Brad. Engineering Manager @ Uber ATG. If you don’t _____, then _____

A Formula for Better-Than-Average Engineering Emails

Page 47: Storytelling for Engineers - USENIX...Storytelling for Engineers Brad Shively (@bjshively) Uber ATG. Hi, I’m Brad. Engineering Manager @ Uber ATG. If you don’t _____, then _____

TLDR: <Result>

If you [use/care about/etc.] <system X>, keep reading

X is now [better/different/etc.] in aspect Y

...due to change Z

[Visual illustrating impact]

For those very interested, see details below.

Page 48: Storytelling for Engineers - USENIX...Storytelling for Engineers Brad Shively (@bjshively) Uber ATG. Hi, I’m Brad. Engineering Manager @ Uber ATG. If you don’t _____, then _____

Let’s rewrite our email

Page 49: Storytelling for Engineers - USENIX...Storytelling for Engineers Brad Shively (@bjshively) Uber ATG. Hi, I’m Brad. Engineering Manager @ Uber ATG. If you don’t _____, then _____

TLDR: Faster test results & queue submissions by 100s of seconds!

If you don’t build/test repoX, you can stop reading.

The repoX test suite now supports test remote execution and caching, reducing total test time on CI by ~500 seconds on average. No action is required by you to see these benefits.

Those interested can see the mechanics of the change in PR123. Note that this change only applies to CI tests. For questions or more info, please contact the Build Team.

- Brad

Remote CI testing is now faster

Page 50: Storytelling for Engineers - USENIX...Storytelling for Engineers Brad Shively (@bjshively) Uber ATG. Hi, I’m Brad. Engineering Manager @ Uber ATG. If you don’t _____, then _____

Tactical Recap

Page 51: Storytelling for Engineers - USENIX...Storytelling for Engineers Brad Shively (@bjshively) Uber ATG. Hi, I’m Brad. Engineering Manager @ Uber ATG. If you don’t _____, then _____

Understand who your audience is and what story you’re telling.

Page 52: Storytelling for Engineers - USENIX...Storytelling for Engineers Brad Shively (@bjshively) Uber ATG. Hi, I’m Brad. Engineering Manager @ Uber ATG. If you don’t _____, then _____

Context is ridiculously important.

Page 53: Storytelling for Engineers - USENIX...Storytelling for Engineers Brad Shively (@bjshively) Uber ATG. Hi, I’m Brad. Engineering Manager @ Uber ATG. If you don’t _____, then _____

There are very few globals.

Page 54: Storytelling for Engineers - USENIX...Storytelling for Engineers Brad Shively (@bjshively) Uber ATG. Hi, I’m Brad. Engineering Manager @ Uber ATG. If you don’t _____, then _____

Turn data into wisdom.

Page 55: Storytelling for Engineers - USENIX...Storytelling for Engineers Brad Shively (@bjshively) Uber ATG. Hi, I’m Brad. Engineering Manager @ Uber ATG. If you don’t _____, then _____

Ask.

Page 56: Storytelling for Engineers - USENIX...Storytelling for Engineers Brad Shively (@bjshively) Uber ATG. Hi, I’m Brad. Engineering Manager @ Uber ATG. If you don’t _____, then _____

Tell.

Page 57: Storytelling for Engineers - USENIX...Storytelling for Engineers Brad Shively (@bjshively) Uber ATG. Hi, I’m Brad. Engineering Manager @ Uber ATG. If you don’t _____, then _____

As a last resort...

Page 58: Storytelling for Engineers - USENIX...Storytelling for Engineers Brad Shively (@bjshively) Uber ATG. Hi, I’m Brad. Engineering Manager @ Uber ATG. If you don’t _____, then _____

Use the Formula

TLDR: …

If you _____, then _____.

X has changed in Y way…

...due to Z

Page 59: Storytelling for Engineers - USENIX...Storytelling for Engineers Brad Shively (@bjshively) Uber ATG. Hi, I’m Brad. Engineering Manager @ Uber ATG. If you don’t _____, then _____

Thank you