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

F74253f4a099258870157426b4cdb2dc?s=128

David Copeland

June 28, 2017
Tweet

Transcript

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

    Fix @davetron5000
  2. 4+ Years Remote •3rd Developer at Stitch Fix •Work daily

    with developers, users, business people, vendors •80+ developers: most work remotely
  3. What do we mean “remote”?

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

    Work With”
  5. None
  6. None
  7. None
  8. What is “Effective”?

  9. What is “Effective”? Producing Value

  10. What is “Effective”? Producing Value Agency

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

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

  13. You don’t get thESE for FREE being co-located but they

    are harder to achieve when REMOTE.
  14. It’s not easy—it takes constant upkeep.

  15. But, it’s worth it.

  16. Freedom & Flexibility

  17. Company has access to a wider pool of talent

  18. Build & Maintain Trust

  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/
  20. Four Mindsets to Build & Maintain Trust

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

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

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

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

    clearly Be responsive, but set boundaries Assume good intentions Help others help you
  25. Base level of technology

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

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

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

  29. OK, back to trust

  30. Coding Asynchronous synchronous Socializing

  31. Coding

  32. Communicate Frequently & Clearly

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

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

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

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

    •Smallest viable change •Write great change requests •Learn to screencast, learn to diagram
  37. Be Responsive, but Set Boundaries

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

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

    for feedback…and respond!
  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
  41. Assume Good Intentions •Code review comments are cold & harsh

    •The reviewer is just trying to help
  42. Help Others Help You

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

  44. Help Others Help You •Go to chat or video •Communicate

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

    how they communicate best •Be specific in what feedback you want
  46. Asynchronous Communication

  47. Communicate Frequently & Clearly

  48. Communicate Frequently & Clearly •Provide more context

  49. Communicate Frequently & Clearly •Provide more context •Read what you

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

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

    write, learn to revise (at least once!) •Typography Matters •Learn (again) how to diagram
  52. Be Responsive, but Set Boundaries

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

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

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

    leads to agency and cultivates leadership •Don’t forget affirming feedback!
  56. Assume Good Intentions •Assume everyone is good at their job

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

    want
  58. synchronous Communication

  59. Communicate Frequently & Clearly

  60. Communicate Frequently & Clearly •Be prepared

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

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

    pronouns •Pause and ask for feedback
  63. Be Responsive, but Set Boundaries

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

  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
  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
  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
  68. Assume Good Intentions

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

  70. Assume Good Intentions •Non-remotes aren’t accustomed to this •Don’t forget:

    computers are terrible and nothing works
  71. Help Others Help You

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

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

    directive with solutions •Establish an ally or regular backchannel
  74. Socializing

  75. Communicate Frequently & Clearly

  76. Communicate Frequently & Clearly •Make smalltalk

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

    agenda
  78. Be Responsive, but Set Boundaries •Establish clear travel expectations •Push

    yourself to travel to meet others in person
  79. Assume Good Intentions

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

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

    to be OK missing happy hours
  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.
  83. Trust

  84. Four Mindsets to Build & Maintain Trust Communicate frequently &

    clearly Be responsive, but set boundaries Assume good intentions Help others help you
  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