The Effective Remote
Developer
David Copeland
Director of Engineering, Stitch Fix
@davetron5000
Slide 2
Slide 2 text
4+ Years Remote
•3rd Developer at Stitch Fix
•Work daily with developers, users, business
people, vendors
•80+ developers: most work remotely
Slide 3
Slide 3 text
What do we mean
“remote”?
Slide 4
Slide 4 text
“You Do Not Often Interact
Face-To-Face With The
People You Work With”
Slide 5
Slide 5 text
No content
Slide 6
Slide 6 text
No content
Slide 7
Slide 7 text
No content
Slide 8
Slide 8 text
What is “Effective”?
Slide 9
Slide 9 text
What is “Effective”?
Producing Value
Slide 10
Slide 10 text
What is “Effective”?
Producing Value
Agency
Slide 11
Slide 11 text
What is “Effective”?
Producing Value
Agency
Inclusion
Slide 12
Slide 12 text
What is “Effective”?
Producing Value
Agency
Inclusion
Rewarding
Slide 13
Slide 13 text
You don’t get thESE for
FREE being co-located
but they are harder to achieve when REMOTE.
Slide 14
Slide 14 text
It’s not easy—it
takes constant upkeep.
Slide 15
Slide 15 text
But, it’s worth it.
Slide 16
Slide 16 text
Freedom & Flexibility
Slide 17
Slide 17 text
Company has access to
a wider pool of
talent
Slide 18
Slide 18 text
Build & Maintain
Trust
Slide 19
Slide 19 text
“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/
Slide 20
Slide 20 text
Four Mindsets to Build & Maintain Trust
Slide 21
Slide 21 text
Four Mindsets to Build & Maintain Trust
Communicate frequently & clearly
Slide 22
Slide 22 text
Four Mindsets to Build & Maintain Trust
Communicate frequently & clearly
Be responsive, but set boundaries
Slide 23
Slide 23 text
Four Mindsets to Build & Maintain Trust
Communicate frequently & clearly
Be responsive, but set boundaries
Assume good intentions
Slide 24
Slide 24 text
Four Mindsets to Build & Maintain Trust
Communicate frequently & clearly
Be responsive, but set boundaries
Assume good intentions
Help others help you
Slide 25
Slide 25 text
Base level of
technology
Slide 26
Slide 26 text
Chat system that’s
easy to use
(so…not irc)
Slide 27
Slide 27 text
Video conference that
supports multiple people
(webex meets this standard :)
Slide 28
Slide 28 text
Non-shitty microphone
(your laptop’s mic is shitty)
Slide 29
Slide 29 text
OK, back to trust
Slide 30
Slide 30 text
Coding
Asynchronous
synchronous
Socializing
Slide 31
Slide 31 text
Coding
Slide 32
Slide 32 text
Communicate Frequently & Clearly
Slide 33
Slide 33 text
Communicate Frequently & Clearly
•Turn big projects into smaller ones
Slide 34
Slide 34 text
Communicate Frequently & Clearly
•Turn big projects into smaller ones
•Smallest viable change
Slide 35
Slide 35 text
Communicate Frequently & Clearly
•Turn big projects into smaller ones
•Smallest viable change
•Write great change requests
Slide 36
Slide 36 text
Communicate Frequently & Clearly
•Turn big projects into smaller ones
•Smallest viable change
•Write great change requests
•Learn to screencast, learn to diagram
Slide 37
Slide 37 text
Be Responsive, but Set Boundaries
Slide 38
Slide 38 text
Be Responsive, but Set Boundaries
•Publicize your working hours
Slide 39
Slide 39 text
Be Responsive, but Set Boundaries
•Publicize your working hours
•Watch for feedback…and respond!
Slide 40
Slide 40 text
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
Slide 41
Slide 41 text
Assume Good Intentions
•Code review comments are cold & harsh
•The reviewer is just trying to help
Slide 42
Slide 42 text
Help Others Help You
Slide 43
Slide 43 text
Help Others Help You
•Go to chat or video
Slide 44
Slide 44 text
Help Others Help You
•Go to chat or video
•Communicate how they communicate best
Slide 45
Slide 45 text
Help Others Help You
•Go to chat or video
•Communicate how they communicate best
•Be specific in what feedback you want
Slide 46
Slide 46 text
Asynchronous
Communication
Slide 47
Slide 47 text
Communicate Frequently & Clearly
Slide 48
Slide 48 text
Communicate Frequently & Clearly
•Provide more context
Slide 49
Slide 49 text
Communicate Frequently & Clearly
•Provide more context
•Read what you write, learn to revise (at least once!)
Slide 50
Slide 50 text
Communicate Frequently & Clearly
•Provide more context
•Read what you write, learn to revise (at least once!)
•Typography Matters
Slide 51
Slide 51 text
Communicate Frequently & Clearly
•Provide more context
•Read what you write, learn to revise (at least once!)
•Typography Matters
•Learn (again) how to diagram
Slide 52
Slide 52 text
Be Responsive, but Set Boundaries
Slide 53
Slide 53 text
Be Responsive, but Set Boundaries
•Engage and give feedback
Slide 54
Slide 54 text
Be Responsive, but Set Boundaries
•Engage and give feedback
•Feedback leads to agency and cultivates
leadership
Slide 55
Slide 55 text
Be Responsive, but Set Boundaries
•Engage and give feedback
•Feedback leads to agency and cultivates
leadership
•Don’t forget affirming feedback!
Slide 56
Slide 56 text
Assume Good Intentions
•Assume everyone is good at their job
Slide 57
Slide 57 text
Help Others Help You
•Be specific in what feedback you want
Communicate Frequently & Clearly
•Be prepared
•Use nouns instead of pronouns
•Pause and ask for feedback
Slide 63
Slide 63 text
Be Responsive, but Set Boundaries
Slide 64
Slide 64 text
Be Responsive, but Set Boundaries
•Pay attention—don’t multitask
Slide 65
Slide 65 text
Be Responsive, but Set Boundaries
•Pay attention—don’t multitask
•Jump in when you have something to say—don’t be afraid to
backtrack
Slide 66
Slide 66 text
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
Slide 67
Slide 67 text
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
Slide 68
Slide 68 text
Assume Good Intentions
Slide 69
Slide 69 text
Assume Good Intentions
•Non-remotes aren’t accustomed to this
Slide 70
Slide 70 text
Assume Good Intentions
•Non-remotes aren’t accustomed to this
•Don’t forget: computers are terrible and
nothing works
Slide 71
Slide 71 text
Help Others Help You
Slide 72
Slide 72 text
Help Others Help You
•Point out A/V problems, and be directive
with solutions
Slide 73
Slide 73 text
Help Others Help You
•Point out A/V problems, and be directive
with solutions
•Establish an ally or regular backchannel
Slide 74
Slide 74 text
Socializing
Slide 75
Slide 75 text
Communicate Frequently & Clearly
Slide 76
Slide 76 text
Communicate Frequently & Clearly
•Make smalltalk
Slide 77
Slide 77 text
Communicate Frequently & Clearly
•Make smalltalk
•Have 1-1’s with no agenda
Slide 78
Slide 78 text
Be Responsive, but Set Boundaries
•Establish clear travel expectations
•Push yourself to travel to meet others in
person
Slide 79
Slide 79 text
Assume Good Intentions
Slide 80
Slide 80 text
Assume Good Intentions
•Ignorance isn’t a lack of consideration
Slide 81
Slide 81 text
Assume Good Intentions
•Ignorance isn’t a lack of consideration
•Learn to be OK missing happy hours
Slide 82
Slide 82 text
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.
Slide 83
Slide 83 text
Trust
Slide 84
Slide 84 text
Four Mindsets to Build & Maintain Trust
Communicate frequently & clearly
Be responsive, but set boundaries
Assume good intentions
Help others help you
Slide 85
Slide 85 text
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