Presentation: The Effective Remote Developer

Track: Optimizing Yourself

Location: Liberty, 8th fl.

Duration: 10:35am - 11:25am

Day of week: Wednesday

Level: Intermediate

Persona: CTO/CIO/Leadership, Developer, General Software

What You’ll Learn

  • Learn how to become not only a productive member of a distributed development team, but also how to better communicate with, mentor, and guide developers from a remote location.
  • Understand that even given all the tools such as video chats and conferencing, building and maintaining trust is the real key to working effectively with others remotely.
  • Hear how Stitch Fix has built a culture of responsibility among its developers where code talks and showing demonstrable results speaks volumes.

Abstract

Being on a distributed team, working from your home or coffee shop isn't easy, but it can be incredibly rewarding. Making it work requires constant attention, as well as support from your team and organization. It's more than just setting up Slack and buying a webcam.

We'll learn what you can do to be your best self as a remote team member, as well as what you need from your environment, team, and company. It's not about technical stuff—it's the human stuff. We'll learn how can you be present and effective when you aren't physically there.

Interview

Question: 
QCon: You are the senior-most contributor to Stitch Fix, what does that mean?
Answer: 

Dave: In a lot of companies I might have the title of architect, but it's very much not that title to emphasize that I'm working on projects. I'm thinking about the technology, whereas a VP of engineering or a CTO might be thinking about the people and the strategy; I'm thinking about whether the technology is going in the right direction and what am I doing to make it go in that direction.

Question: 
QCon: Your talk is about being a remote developer -- being the senior most contributor at Stitch Fix and being a remote developer. That alone has to have a huge amount of challenges.
Answer: 

Dave: Yeah, and in fact, the more you get away from coding 100 percent of the time and talking with people, the remote situation becomes harder. Video chat is great, but it's not the same as being in person. So, you really have to double down on being good at communication and being clear, forming relationships, and building trust with people. Because if you don't trust somebody they're going to think you're a talking head or a person that generates email and it's really hard. So, it's challenging but I think it's achievable.

Question: 
QCon: My past job was an architect at HP and I spent probably 10 to 15 percent of my time writing code and about 40 to 50 percent of the time in meetings and the rest of the time was usually mentoring, firefighting, helping people with code issues, working through tracer bullets and those kinds of things. How do you do that as a remote developer? How do you pair up with somebody and work through a problem?
Answer: 

Dave: It's tricky. We try to do things asynchronously, like a design doc, even if it's just a one-page, quick thing so we can be aligned before we before we sync up. Maybe write a spike of code and then talk about that in a pull request. But you have to schedule time if you want to be synchronous, so I'm still trying to figure it out, because I can't have a one-on-one with all 80 people that work for us. Do I have office hours or do I just focus on certain projects? I think that trying to decide what are the things that I just can't focus on so I can focus on these others is the only way it can work.Scheduling time to have ad hoc conversations is a little weird, but if you get past it it does work.

Question: 
QCon: I would assume the audience you're talking to in this talk are developers -- SEs or senior SEs?
Answer: 

Dave: Yeah

Question: 
QCon: What do you want that persona to leave your talk with?
Answer: 

Dave: One of our values at Stitch Fix is called responsibility and it's a mindset that means you take control of what happens to you as much as you can. So, what I've learned being remote is that responsibility. So, what I've learned being remote is that while I need the company to do things for me, there are many, many things that I can do that I have complete control over. And, I wouldn't do them without being intentional, and making sure I do them. And that is what makes it work.

So, Hopefully it will remind people that they are in control of their own destiny. And here are some specific things that if you do them consistently will help regardless of how much support you're getting on the other end.

Question: 
Wes: Can you give me an idea of one?
Answer: 

Dave: One of them would be to adopt the mindset of assuming good intentions. Right so text is cold and harsh. Even these video conferences can be rough. But if you just assume everyone is trying to help and everyone is a good person and good at their job, then you're just going to approach every problem better. But you have to tell yourself that a lot before you learn it because it kind of goes against a lot of what developers feel. So, a lot of the stuff in the talk is about the mindset we need to adopt. And then there are a couple of behaviors that that mindset might drive.

Question: 
QCon: What do you feel is the most important practice, technique or technology that a lead developer should be focused on today?
Answer: 

Dave: In general, I would say finding a way to drive things to completion expediently. Remote or not, getting things done, showing a result that is demonstrable and clear is super-important. Because talking about a result is way better than talking about a theoretical thing you can do. Having a result is great. And that's what we're here to do as developers, is to get things done, deliver them and do it well.

Speaker: David Copeland

Director of Engineering

David Copeland is a programmer and author. He's the author of “Rails, Angular, Postgres, and Bootstrap”, "The Senior Software Engineer" and "Build Awesome Command-Line Applications in Ruby". He has over 18 years of professional development experience from managing high-performance, high-traffic systems at LivingSocial or building the engineering team at Opower to working consulting gigs large and small. Currently, he's Director of Engineering at fashion start-up Stitch Fix.

Find David Copeland at

Similar Talks

Developer Advocate @Couchbase
Principal Software Engineer @ Vistaprint
Senior Infrastructure Engineer @Heroku
Director of Engineering @ Squarespace
Software Engineer @Jet, previous CTO
SVP Engineering, HBC Digital / Gilt & Committer Apache Karaf

Tracks

Monday, 26 June

Tuesday, 27 June

Wednesday, 28 June