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

The Effective Remote Developer

The Effective Remote Developer

How you can take responsibility for your remote situation and make the most of it. Presented at QCon NYC, 2017

David Copeland

June 28, 2017
Tweet

More Decks by David Copeland

Other Decks in Technology

Transcript

  1. The Effective Remote
    Developer
    David Copeland
    Director of Engineering, Stitch Fix
    @davetron5000

    View Slide

  2. 4+ Years Remote
    •3rd Developer at Stitch Fix
    •Work daily with developers, users, business
    people, vendors
    •80+ developers: most work remotely

    View Slide

  3. What do we mean
    “remote”?

    View Slide

  4. “You Do Not Often Interact
    Face-To-Face With The
    People You Work With”

    View Slide

  5. View Slide

  6. View Slide

  7. View Slide

  8. What is “Effective”?

    View Slide

  9. What is “Effective”?
    Producing Value

    View Slide

  10. What is “Effective”?
    Producing Value
    Agency

    View Slide

  11. What is “Effective”?
    Producing Value
    Agency
    Inclusion

    View Slide

  12. What is “Effective”?
    Producing Value
    Agency
    Inclusion
    Rewarding

    View Slide

  13. You don’t get thESE for
    FREE being co-located
    but they are harder to achieve when REMOTE.

    View Slide

  14. It’s not easy—it
    takes constant upkeep.

    View Slide

  15. But, it’s worth it.

    View Slide

  16. Freedom & Flexibility

    View Slide

  17. Company has access to
    a wider pool of
    talent

    View Slide

  18. Build & Maintain
    Trust

    View Slide

  19. “The half-life of trust is six weeks”
    (it must be constantLY replenished)
    http://www.construx.com/10x_Software_Development/
    Travel_Restrictions_and_Offshore_Development/

    View Slide

  20. Four Mindsets to Build & Maintain Trust

    View Slide

  21. Four Mindsets to Build & Maintain Trust
    Communicate frequently & clearly

    View Slide

  22. Four Mindsets to Build & Maintain Trust
    Communicate frequently & clearly
    Be responsive, but set boundaries

    View Slide

  23. Four Mindsets to Build & Maintain Trust
    Communicate frequently & clearly
    Be responsive, but set boundaries
    Assume good intentions

    View Slide

  24. Four Mindsets to Build & Maintain Trust
    Communicate frequently & clearly
    Be responsive, but set boundaries
    Assume good intentions
    Help others help you

    View Slide

  25. Base level of
    technology

    View Slide

  26. Chat system that’s
    easy to use
    (so…not irc)

    View Slide

  27. Video conference that
    supports multiple people
    (webex meets this standard :)

    View Slide

  28. Non-shitty microphone
    (your laptop’s mic is shitty)

    View Slide

  29. OK, back to trust

    View Slide

  30. Coding
    Asynchronous
    synchronous
    Socializing

    View Slide

  31. Coding

    View Slide

  32. Communicate Frequently & Clearly

    View Slide

  33. Communicate Frequently & Clearly
    •Turn big projects into smaller ones

    View Slide

  34. Communicate Frequently & Clearly
    •Turn big projects into smaller ones
    •Smallest viable change

    View Slide

  35. Communicate Frequently & Clearly
    •Turn big projects into smaller ones
    •Smallest viable change
    •Write great change requests

    View Slide

  36. Communicate Frequently & Clearly
    •Turn big projects into smaller ones
    •Smallest viable change
    •Write great change requests
    •Learn to screencast, learn to diagram

    View Slide

  37. Be Responsive, but Set Boundaries

    View Slide

  38. Be Responsive, but Set Boundaries
    •Publicize your working hours

    View Slide

  39. Be Responsive, but Set Boundaries
    •Publicize your working hours
    •Watch for feedback…and respond!

    View Slide

  40. Be Responsive, but Set Boundaries
    •Publicize your working hours
    •Watch for feedback…and respond!
    •Avoid spending hours heads-down—develop SLAs for
    all forms of communication and responsiveness

    View Slide

  41. Assume Good Intentions
    •Code review comments are cold & harsh
    •The reviewer is just trying to help

    View Slide

  42. Help Others Help You

    View Slide

  43. Help Others Help You
    •Go to chat or video

    View Slide

  44. Help Others Help You
    •Go to chat or video
    •Communicate how they communicate best

    View Slide

  45. Help Others Help You
    •Go to chat or video
    •Communicate how they communicate best
    •Be specific in what feedback you want

    View Slide

  46. Asynchronous
    Communication

    View Slide

  47. Communicate Frequently & Clearly

    View Slide

  48. Communicate Frequently & Clearly
    •Provide more context

    View Slide

  49. Communicate Frequently & Clearly
    •Provide more context
    •Read what you write, learn to revise (at least once!)

    View Slide

  50. Communicate Frequently & Clearly
    •Provide more context
    •Read what you write, learn to revise (at least once!)
    •Typography Matters

    View Slide

  51. Communicate Frequently & Clearly
    •Provide more context
    •Read what you write, learn to revise (at least once!)
    •Typography Matters
    •Learn (again) how to diagram

    View Slide

  52. Be Responsive, but Set Boundaries

    View Slide

  53. Be Responsive, but Set Boundaries
    •Engage and give feedback

    View Slide

  54. Be Responsive, but Set Boundaries
    •Engage and give feedback
    •Feedback leads to agency and cultivates
    leadership

    View Slide

  55. Be Responsive, but Set Boundaries
    •Engage and give feedback
    •Feedback leads to agency and cultivates
    leadership
    •Don’t forget affirming feedback!

    View Slide

  56. Assume Good Intentions
    •Assume everyone is good at their job

    View Slide

  57. Help Others Help You
    •Be specific in what feedback you want

    View Slide

  58. synchronous
    Communication

    View Slide

  59. Communicate Frequently & Clearly

    View Slide

  60. Communicate Frequently & Clearly
    •Be prepared

    View Slide

  61. Communicate Frequently & Clearly
    •Be prepared
    •Use nouns instead of pronouns

    View Slide

  62. Communicate Frequently & Clearly
    •Be prepared
    •Use nouns instead of pronouns
    •Pause and ask for feedback

    View Slide

  63. Be Responsive, but Set Boundaries

    View Slide

  64. Be Responsive, but Set Boundaries
    •Pay attention—don’t multitask

    View Slide

  65. Be Responsive, but Set Boundaries
    •Pay attention—don’t multitask
    •Jump in when you have something to say—don’t be afraid to
    backtrack

    View Slide

  66. Be Responsive, but Set Boundaries
    •Pay attention—don’t multitask
    •Jump in when you have something to say—don’t be afraid to
    backtrack
    •Yield the floor to others explicitly

    View Slide

  67. Be Responsive, but Set Boundaries
    •Pay attention—don’t multitask
    •Jump in when you have something to say—don’t be afraid to
    backtrack
    •Yield the floor to others explicitly
    •Don’t be a jerk. Be self-aware and get feedback offline

    View Slide

  68. Assume Good Intentions

    View Slide

  69. Assume Good Intentions
    •Non-remotes aren’t accustomed to this

    View Slide

  70. Assume Good Intentions
    •Non-remotes aren’t accustomed to this
    •Don’t forget: computers are terrible and
    nothing works

    View Slide

  71. Help Others Help You

    View Slide

  72. Help Others Help You
    •Point out A/V problems, and be directive
    with solutions

    View Slide

  73. Help Others Help You
    •Point out A/V problems, and be directive
    with solutions
    •Establish an ally or regular backchannel

    View Slide

  74. Socializing

    View Slide

  75. Communicate Frequently & Clearly

    View Slide

  76. Communicate Frequently & Clearly
    •Make smalltalk

    View Slide

  77. Communicate Frequently & Clearly
    •Make smalltalk
    •Have 1-1’s with no agenda

    View Slide

  78. Be Responsive, but Set Boundaries
    •Establish clear travel expectations
    •Push yourself to travel to meet others in
    person

    View Slide

  79. Assume Good Intentions

    View Slide

  80. Assume Good Intentions
    •Ignorance isn’t a lack of consideration

    View Slide

  81. Assume Good Intentions
    •Ignorance isn’t a lack of consideration
    •Learn to be OK missing happy hours

    View Slide

  82. Help Others Help You
    •Suggest ways for remotes to socialize
    •Arrange face time or meet ups—bring your
    boss a plan they just have to say “yes”
    to.

    View Slide

  83. Trust

    View Slide

  84. Four Mindsets to Build & Maintain Trust
    Communicate frequently & clearly
    Be responsive, but set boundaries
    Assume good intentions
    Help others help you

    View Slide

  85. Thanks!
    •Work This way: http://multithreaded.stitchfix.com/careers
    •Contact Me: @davetron5000

    http://www.naildrivin5.com
    •Learn More non-Coding Developer Life Skills: http://sweng.me

    View Slide