Slide 1

Slide 1 text

Growing the Developer Experience Chris O’Dell https://www.flickr.com/photos/spurekar/45888718075/

Slide 2

Slide 2 text

https://twitter.com/einarwh/status/1197468002670788615

Slide 3

Slide 3 text

3 Chris O’Dell - @chrisannodell Chris O’Dell @ChrisAnnODell Backend Engineer at Monzo

Slide 4

Slide 4 text

4 Chris O’Dell - @chrisannodell Chris O’Dell @ChrisAnnODell Backend Engineer at Monzo

Slide 5

Slide 5 text

5 Chris O’Dell - @chrisannodell Chris O’Dell @ChrisAnnODell Backend Engineer at Monzo

Slide 6

Slide 6 text

6 Chris O’Dell - @chrisannodell Chris O’Dell @ChrisAnnODell Backend Engineer at Monzo

Slide 7

Slide 7 text

7 Chris O’Dell - @chrisannodell Chris O’Dell @ChrisAnnODell Backend Engineer at Monzo

Slide 8

Slide 8 text

8 Chris O’Dell - @chrisannodell Chris O’Dell @ChrisAnnODell Backend Engineer at Monzo

Slide 9

Slide 9 text

Who’s heard of Monzo?

Slide 10

Slide 10 text

Monzo - Banking made easy

Slide 11

Slide 11 text

No content

Slide 12

Slide 12 text

https://monzo.com/blog/2016/09/19/building-a-modern-bank-backend

Slide 13

Slide 13 text

https://twitter.com/JackKleeman/status/1190354757308862468

Slide 14

Slide 14 text

1500+ Microservices?

Slide 15

Slide 15 text

https://www.flickr.com/photos/yenidem/2642922427/ 1500+ Microservices!

Slide 16

Slide 16 text

https://twitter.com/JackKleeman/status/1190973434601324544

Slide 17

Slide 17 text

Developer Experience?

Slide 18

Slide 18 text

https://www.flickr.com/photos/shelingraziela/6818740028/ We think of the customer experience

Slide 19

Slide 19 text

Tools, tools, tools

Slide 20

Slide 20 text

Tools tend to be neglected

Slide 21

Slide 21 text

Bottlenecks only visible to the developers https://www.flickr.com/photos/pasukaru76/3536398005/

Slide 22

Slide 22 text

Why focus on Dev Experience? ‍

Slide 23

Slide 23 text

The science of devops

Slide 24

Slide 24 text

https://puppet.com/resources/report/2017-state-devops-report/

Slide 25

Slide 25 text

https://puppet.com/resources/report/2017-state-devops-report/

Slide 26

Slide 26 text

Continuous Delivery

Slide 27

Slide 27 text

27 Chris O’Dell - @chrisannodell Continuous Delivery Principles Build quality in Work in small batches Computers perform repetitive tasks, people solve problems Relentlessly pursue continuous improvement Everyone is responsible ✅ ‍

Slide 28

Slide 28 text

No content

Slide 29

Slide 29 text

Theory of Constraints

Slide 30

Slide 30 text

30 Chris O’Dell - @chrisannodell Theory of Constraints Identify the constraint Exploit the constraint Subordinate everything to the Constraint Elevate the constraint Repeat The Five Focussing Steps

Slide 31

Slide 31 text

31 Chris O’Dell - @chrisannodell Theory of Constraints Identify the constraint Find the weakest link in the chain Exploit the constraint Subordinate everything to the Constraint Elevate the constraint Repeat The Five Focussing Steps

Slide 32

Slide 32 text

32 Chris O’Dell - @chrisannodell Theory of Constraints Identify the constraint Find the weakest link in the chain Exploit the constraint Use it to its maximum Subordinate everything to the Constraint Elevate the constraint Repeat The Five Focussing Steps

Slide 33

Slide 33 text

33 Chris O’Dell - @chrisannodell Theory of Constraints Identify the constraint Find the weakest link in the chain Exploit the constraint Use it to its maximum Subordinate everything to the Constraint Make everything else wait Elevate the constraint Repeat The Five Focussing Steps

Slide 34

Slide 34 text

34 Chris O’Dell - @chrisannodell Theory of Constraints Identify the constraint Find the weakest link in the chain Exploit the constraint Use it to its maximum Subordinate everything to the Constraint Make everything else wait Elevate the constraint Pay to expand the bottleneck Repeat The Five Focussing Steps

Slide 35

Slide 35 text

35 Chris O’Dell - @chrisannodell Theory of Constraints Identify the constraint Find the weakest link in the chain Exploit the constraint Use it to its maximum Subordinate everything to the Constraint Make everything else wait Elevate the constraint Pay to expand the bottleneck Repeat Start again (maybe there’s a new bottleneck) The Five Focussing Steps

Slide 36

Slide 36 text

https://www.flickr.com/photos/dizmangphotography/15147528554/ Developer Platform Team

Slide 37

Slide 37 text

https://flickr.com/photos/usdagov/16868596822 Treated it like Engineers

Slide 38

Slide 38 text

Collecting data

Slide 39

Slide 39 text

No content

Slide 40

Slide 40 text

No content

Slide 41

Slide 41 text

No content

Slide 42

Slide 42 text

https://www.flickr.com/photos/boston_public_library/4660693196/ Treat Dev Experience like a product

Slide 43

Slide 43 text

https://www.flickr.com/photos/sitsgirls/8634796850/ User Research Starter Kit

Slide 44

Slide 44 text

44 Chris O’Dell - @chrisannodell User Research Starter Kit https://monzo.com/blog/2019/05/30/everyone-does-user-research-at-monzo Cognitive Psychology Research Methods Open Office Hours ‍ ‍♀

Slide 45

Slide 45 text

A touch of Cognitive Psychology https://www.flickr.com/photos/nymphofox/6865406105/

Slide 46

Slide 46 text

Choosing a Research Method https://www.flickr.com/photos/andreas-kollmorgen/8215056162/

Slide 47

Slide 47 text

47 Chris O’Dell - @chrisannodell Choosing a Research Method Discovery Design & Build Optimisation ‍♀ ‍♀ https://monzo.com/blog/2019/05/30/everyone-does-user-research-at-monzo

Slide 48

Slide 48 text

48 Chris O’Dell - @chrisannodell Choosing a Research Method Discovery ‍♀ ● Depth interviews (phone or in person) ● Field visits, or contextual observation ● Diary studies ● Surveys ● Desk research (secondary research) https://monzo.com/blog/2019/05/30/everyone-does-user-research-at-monzo

Slide 49

Slide 49 text

49 Chris O’Dell - @chrisannodell Choosing a Research Method Design & Build ‍♀ ● User testing (in person, remote, lab-based, street) ● Unmoderated testing (task completion) ● ‘Pre-alpha’ diary study ● Tree-testing (findability in menus) https://monzo.com/blog/2019/05/30/everyone-does-user-research-at-monzo

Slide 50

Slide 50 text

50 Chris O’Dell - @chrisannodell Choosing a Research Method Optimisation ● Emails ● Phone calls ● Surveys https://monzo.com/blog/2019/05/30/everyone-does-user-research-at-monzo

Slide 51

Slide 51 text

51 Chris O’Dell - @chrisannodell Choosing a Research Method Discovery ‍♀ ● Depth interviews (phone or in person) ● Field visits, or contextual observation ● Diary studies ● Surveys ● Desk research (secondary research) https://monzo.com/blog/2019/05/30/everyone-does-user-research-at-monzo

Slide 52

Slide 52 text

Surveys https://pixnio.com/science/aiktak-plant-identification-data-collection

Slide 53

Slide 53 text

53 Chris O’Dell - @chrisannodell The first survey - we made a few mistakes Unnecessary questions Open ended questions Full text answers requiring manual review Difficult to see trends over time

Slide 54

Slide 54 text

54 Chris O’Dell - @chrisannodell The first survey - we still learned things Majority of engineers felt set up for success Stability of the staging environment was a pain point The local development flow felt slow Web deployments felt slow and were not standardised And many other things ✨

Slide 55

Slide 55 text

Interviews https://www.flickr.com/photos/garryknight/44234176112/

Slide 56

Slide 56 text

56 Chris O’Dell - @chrisannodell Prepare for the interviews Define cohorts Prepare script Hold interviews ☕

Slide 57

Slide 57 text

57 Chris O’Dell - @chrisannodell What are our cohorts? Backend Engineer Mobile Engineer Web Engineer Data Science Engineer < 6 months 6 months <> 1 year 1 year <> 2 years 2 years+ Cohort (noun): a group of people with a shared characteristic. Role Time at Monzo

Slide 58

Slide 58 text

58 Chris O’Dell - @chrisannodell Preparing the script Introduction and why Simple starter questions Open ended questions Jumping straight in Interrogation feel Too many closed questions ⏩ Include: Avoid:

Slide 59

Slide 59 text

59 Chris O’Dell - @chrisannodell ☕ Arrange and hold the interviews Contact people from your cohorts Explain the purpose of the interview Book in a 30 minute chat Take lots of notes ✍

Slide 60

Slide 60 text

No content

Slide 61

Slide 61 text

61 Chris O’Dell - @chrisannodell ‍♀ Gather the findings Pull out common patterns Include some direct quotes Assign a severity (impact + repetition + frequency) Suggest a fix ➿ Create a Findings Log

Slide 62

Slide 62 text

No content

Slide 63

Slide 63 text

What we changed https://www.flickr.com/photos/jesusbranch/4185211886/

Slide 64

Slide 64 text

64 Chris O’Dell - @chrisannodell Continuous account signup in staging

Slide 65

Slide 65 text

65 Chris O’Dell - @chrisannodell PR updates in Slack

Slide 66

Slide 66 text

66 Chris O’Dell - @chrisannodell Web deployments standardised

Slide 67

Slide 67 text

Not all changes were code https://www.flickr.com/photos/taedc/26736736825/

Slide 68

Slide 68 text

68 Chris O’Dell - @chrisannodell Staging Helper

Slide 69

Slide 69 text

Repeat the survey https://www.flickr.com/photos/janitors/14413221265/

Slide 70

Slide 70 text

No content

Slide 71

Slide 71 text

71 Chris O’Dell - @chrisannodell Positive Survey results 78% satisfaction rating Satisfaction increased with tenure Problems with staging were not mentioned Trouble getting PR reviews wasn’t mentioned either ‍ ⏩

Slide 72

Slide 72 text

72 Chris O’Dell - @chrisannodell Survey results - requests Faster builds and rollouts More visibility around what has gone wrong so we can start debugging

Slide 73

Slide 73 text

73 Chris O’Dell - @chrisannodell Improved log aggregation ‍

Slide 74

Slide 74 text

What about the metrics?

Slide 75

Slide 75 text

https://www.flickr.com/photos/26424952@N00/9813303983/ More Platform Teams

Slide 76

Slide 76 text

To summarise https://www.flickr.com/photos/skyseeker/10211713845/

Slide 77

Slide 77 text

77 Chris O’Dell - @chrisannodell Summary Learn about your flow and find bottlenecks Borrow and apply techniques from User Research Treat the developer flow as a product to improve the experience ‍♀ ‍

Slide 78

Slide 78 text

Chris O’Dell @ChrisAnnODell Backend Engineer at Monzo Thank you ♀