Distributed by Design -or- How to work with a team in 12 timezones

A presentation at Abstractions II in August 2019 in Pittsburgh, PA, USA by Fen Aldrich

Slide 1

Slide 1

Distributed By Design Aaron Aldrich (@CrayZeigh) #AbstractionsCon

Slide 2

Slide 2

Distributed, Unstructured, Diverse Aaron Aldrich (@CrayZeigh) #AbstractionsCon

Slide 3

Slide 3

Why Distributed Systems? Aaron Aldrich (@CrayZeigh) #AbstractionsCon

Slide 4

Slide 4

Why Distributed Systems? In pioneer days they used oxen for heavy pulling, and when one ox couldn’t budge a log, they didn’t try to grow a larger ox — Grace Hopper Aaron Aldrich (@CrayZeigh) #AbstractionsCon

Slide 5

Slide 5

Why Distributed Systems? Aaron Aldrich (@CrayZeigh) #AbstractionsCon

Slide 6

Slide 6

Distributed Systems Aaron Aldrich (@CrayZeigh) #AbstractionsCon

Slide 7

Slide 7

Distributed Teams Aaron Aldrich (@CrayZeigh) #AbstractionsCon

Slide 8

Slide 8

Computers are easy, People are difficult Aaron Aldrich (@CrayZeigh) #AbstractionsCon

Slide 9

Slide 9

Computers are easy, People are difficult Aaron Aldrich (@CrayZeigh) #AbstractionsCon

Slide 10

Slide 10

Massively scalable, fault-tolerant, distributed systems require a significant engineering effort to build and operate; complex socio-technical systems are even more challenging — Bridget Kromhout Aaron Aldrich (@CrayZeigh) #AbstractionsCon

Slide 11

Slide 11

Hi, Abstractions! !

! $ ” : theelasticast.com : @CrayZeigh : aaron.aldrich@elastic.co : noti.st/crayzeigh

Slide 12

Slide 12

Aaron Aldrich (@CrayZeigh) #AbstractionsCon

Slide 13

Slide 13

Aaron Aldrich (@CrayZeigh) #AbstractionsCon

Slide 14

Slide 14

1500 Elasticians * 41 Countries * All Numbers Approximate Aaron Aldrich (@CrayZeigh) #AbstractionsCon

Slide 15

Slide 15

Aaron Aldrich (@CrayZeigh) #AbstractionsCon

Slide 16

Slide 16

Slide 17

Slide 17

Who do we hire first? Aaron Aldrich (@CrayZeigh) #AbstractionsCon

Slide 18

Slide 18

Latency Reduction is not compelling Aaron Aldrich (@CrayZeigh) #AbstractionsCon

Slide 19

Slide 19

Aaron Aldrich (@CrayZeigh) #AbstractionsCon

Slide 20

Slide 20

Distributed Remote Aaron Aldrich (@CrayZeigh) #AbstractionsCon

Slide 21

Slide 21

How do you know people are working? Aaron Aldrich (@CrayZeigh) #AbstractionsCon

Slide 22

Slide 22

How do you know people are working? The work gets done Aaron Aldrich (@CrayZeigh) #AbstractionsCon

Slide 23

Slide 23

If you love somebody, set † them free † elastic.co/blog/if-you-love-somebody-set-them-free Aaron Aldrich (@CrayZeigh) #AbstractionsCon

Slide 24

Slide 24

Aaron Aldrich (@CrayZeigh) #AbstractionsCon

Slide 25

Slide 25

By-Team Organization Aaron Aldrich (@CrayZeigh) #AbstractionsCon

Slide 26

Slide 26

Challenges · Communication · Time Zones · Decision Making · Different Cultures Aaron Aldrich (@CrayZeigh) #AbstractionsCon

Slide 27

Slide 27

Communication Tools Aaron Aldrich (@CrayZeigh) #AbstractionsCon

Slide 28

Slide 28

synchronous Aaron Aldrich (@CrayZeigh) #AbstractionsCon

Slide 29

Slide 29

async Aaron Aldrich (@CrayZeigh) #AbstractionsCon

Slide 30

Slide 30

Aaron Aldrich (@CrayZeigh) #AbstractionsCon

Slide 31

Slide 31

Aaron Aldrich (@CrayZeigh) #AbstractionsCon

Slide 32

Slide 32

Aaron Aldrich (@CrayZeigh) #AbstractionsCon

Slide 33

Slide 33

Communications Processes Aaron Aldrich (@CrayZeigh) #AbstractionsCon

Slide 34

Slide 34

Default Open Aaron Aldrich (@CrayZeigh) #AbstractionsCon

Slide 35

Slide 35

Default Distributed Aaron Aldrich (@CrayZeigh) #AbstractionsCon

Slide 36

Slide 36

Company All-Hands Aaron Aldrich (@CrayZeigh) #AbstractionsCon

Slide 37

Slide 37

1:1 Aaron Aldrich (@CrayZeigh) #AbstractionsCon

Slide 38

Slide 38

Time Zones Aaron Aldrich (@CrayZeigh) #AbstractionsCon

Slide 39

Slide 39

23 People 14 Countries 12 timezones Aaron Aldrich (@CrayZeigh) #AbstractionsCon

Slide 40

Slide 40

UTC-8 → UTC+10 Aaron Aldrich (@CrayZeigh) #AbstractionsCon

Slide 41

Slide 41

Slide 42

Slide 42

Decisions Aaron Aldrich (@CrayZeigh) #AbstractionsCon

Slide 43

Slide 43

Different Cultures Aaron Aldrich (@CrayZeigh) #AbstractionsCon

Slide 44

Slide 44

Hiring carefully Aaron Aldrich (@CrayZeigh) #AbstractionsCon

Slide 45

Slide 45

Hire slow, Fire seldom. Aaron Aldrich (@CrayZeigh) #AbstractionsCon

Slide 46

Slide 46

[These] are a set of ideas rather than a statement of values. Some are accurate to who we are while others are aspirational. They are reminders that keep us steadfast because we’re not perfect, we’re human. Aaron Aldrich (@CrayZeigh) #AbstractionsCon

Slide 47

Slide 47

Aaron Aldrich (@CrayZeigh) #AbstractionsCon

Slide 48

Slide 48

Aaron Aldrich (@CrayZeigh) #AbstractionsCon

Slide 49

Slide 49

Aaron Aldrich (@CrayZeigh) #AbstractionsCon

Slide 50

Slide 50

Slide 51

Slide 51

Aaron Aldrich (@CrayZeigh) #AbstractionsCon

Slide 52

Slide 52

Aaron Aldrich (@CrayZeigh) #AbstractionsCon

Slide 53

Slide 53

Spacetime Aaron Aldrich (@CrayZeigh) #AbstractionsCon

Slide 54

Slide 54

Aaron Aldrich (@CrayZeigh) #AbstractionsCon

Slide 55

Slide 55

Aaron Aldrich (@CrayZeigh) #AbstractionsCon

Slide 56

Slide 56

Aaron Aldrich (@CrayZeigh) #AbstractionsCon

Slide 57

Slide 57

Failure & Resilience Aaron Aldrich (@CrayZeigh) #AbstractionsCon

Slide 58

Slide 58

Aaron Aldrich (@CrayZeigh) #AbstractionsCon

Slide 59

Slide 59

Aaron Aldrich (@CrayZeigh) #AbstractionsCon

Slide 60

Slide 60

We all have an accent. Aaron Aldrich (@CrayZeigh) #AbstractionsCon

Slide 61

Slide 61

Assume good intent Aaron Aldrich (@CrayZeigh) #AbstractionsCon

Slide 62

Slide 62

Aaron Aldrich (@CrayZeigh) #AbstractionsCon

Slide 63

Slide 63

Aaron Aldrich (@CrayZeigh) #AbstractionsCon

Slide 64

Slide 64

Aaron Aldrich (@CrayZeigh) #AbstractionsCon

Slide 65

Slide 65

Aaron Aldrich (@CrayZeigh) #AbstractionsCon

Slide 66

Slide 66

Elastician Aaron Aldrich (@CrayZeigh) #AbstractionsCon

Slide 67

Slide 67

Welcome to the company Aaron Aldrich (@CrayZeigh) #AbstractionsCon

Slide 68

Slide 68

Aaron Aldrich (@CrayZeigh) #AbstractionsCon

Slide 69

Slide 69

Elastic SWAG Day Aaron Aldrich (@CrayZeigh) #AbstractionsCon

Slide 70

Slide 70

Aaron Aldrich (@CrayZeigh) #AbstractionsCon

Slide 71

Slide 71

Aaron Aldrich (@CrayZeigh) #AbstractionsCon

Slide 72

Slide 72

Dance together, stay together Aaron Aldrich (@CrayZeigh) #AbstractionsCon

Slide 73

Slide 73

Aaron Aldrich (@CrayZeigh) #AbstractionsCon

Slide 74

Slide 74

Aaron Aldrich (@CrayZeigh) –

Slide 75

Slide 75

Community Aaron Aldrich (@CrayZeigh) #AbstractionsCon

Slide 76

Slide 76

Aaron Aldrich (@CrayZeigh) #AbstractionsCon