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 full-size slide

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

    View full-size slide

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

    View full-size slide

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

    View full-size slide

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

    View full-size slide

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

    View full-size slide

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

    View full-size slide

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

    View full-size slide

  9. Who’s heard of
    Monzo?

    View full-size slide

  10. Monzo - Banking made easy

    View full-size slide

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

    View full-size slide

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

    View full-size slide

  13. 1500+ Microservices?

    View full-size slide

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

    View full-size slide

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

    View full-size slide

  16. Developer Experience?

    View full-size slide

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

    View full-size slide

  18. Tools, tools, tools

    View full-size slide

  19. Tools tend to be neglected

    View full-size slide

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

    View full-size slide

  21. Why focus on Dev Experience?

    View full-size slide

  22. The science of devops

    View full-size slide

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

    View full-size slide

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

    View full-size slide

  25. Continuous Delivery

    View full-size slide

  26. 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 full-size slide

  27. Theory of Constraints

    View full-size slide

  28. 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 full-size slide

  29. 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 full-size slide

  30. 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 full-size slide

  31. 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 full-size slide

  32. 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 full-size slide

  33. 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 full-size slide

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

    View full-size slide

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

    View full-size slide

  36. Collecting data

    View full-size slide

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

    View full-size slide

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

    View full-size slide

  39. 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 full-size slide

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

    View full-size slide

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

    View full-size slide

  42. 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 full-size slide

  43. 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 full-size slide

  44. 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 full-size slide

  45. 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 full-size slide

  46. 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 full-size slide

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

    View full-size slide

  48. 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 full-size slide

  49. 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 full-size slide

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

    View full-size slide

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


    View full-size slide

  52. 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 full-size slide

  53. 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 full-size slide

  54. 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 full-size slide

  55. 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 full-size slide

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

    View full-size slide

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

    View full-size slide

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

    View full-size slide

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

    View full-size slide

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

    View full-size slide

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

    View full-size slide

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

    View full-size slide

  63. 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 full-size slide

  64. 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 full-size slide

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

    View full-size slide

  66. What about the metrics?

    View full-size slide

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

    View full-size slide

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

    View full-size slide

  69. 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 full-size slide

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

    View full-size slide