Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Growing the Developer Experience

Chris
February 27, 2020

Growing the Developer Experience

Chris

February 27, 2020
Tweet

More Decks by Chris

Other Decks in Technology

Transcript

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

  9. Who’s heard of
    Monzo?

    View Slide

  10. Monzo - Banking made easy

    View Slide

  11. View Slide

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

    View Slide

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

    View Slide

  14. 1500+ Microservices?

    View Slide

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

    View Slide

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

    View Slide

  17. Developer Experience?

    View Slide

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

    View Slide

  19. Tools, tools, tools

    View Slide

  20. Tools tend to be neglected

    View Slide

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

    View Slide

  22. Why focus on Dev Experience?

    View Slide

  23. The science of devops

    View Slide

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

    View Slide

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

    View Slide

  26. Continuous Delivery

    View Slide

  27. 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





    View Slide

  28. View Slide

  29. Theory of Constraints

    View Slide

  30. 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

    View Slide

  31. 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

    View Slide

  32. 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

    View Slide

  33. 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

    View Slide

  34. 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

    View Slide

  35. 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

    View Slide

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

    View Slide

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

    View Slide

  38. Collecting data

    View Slide

  39. View Slide

  40. View Slide

  41. View Slide

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

    View Slide

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

    View Slide

  44. 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

    ‍♀

    View Slide

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

    View Slide

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

    View Slide

  47. 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

    View Slide

  48. 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

    View Slide

  49. 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

    View Slide

  50. 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

    View Slide

  51. 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

    View Slide

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

    View Slide

  53. 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




    View Slide

  54. 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





    View Slide

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

    View Slide

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


    View Slide

  57. 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

    View Slide

  58. 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:

    View Slide

  59. 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




    View Slide

  60. View Slide

  61. 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

    View Slide

  62. View Slide

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

    View Slide

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

    View Slide

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

    View Slide

  66. 66
    Chris O’Dell - @chrisannodell
    Web deployments standardised

    View Slide

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

    View Slide

  68. 68
    Chris O’Dell - @chrisannodell
    Staging Helper

    View Slide

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

    View Slide

  70. View Slide

  71. 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




    View Slide

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


    View Slide

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

    View Slide

  74. What about the metrics?

    View Slide

  75. https://www.flickr.com/photos/[email protected]/9813303983/
    More Platform Teams

    View Slide

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

    View Slide

  77. 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
    ‍♀


    View Slide

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

    View Slide